diff --git a/.github/workflows/node-when-unrelated.yml b/.github/workflows/node-when-unrelated.yml deleted file mode 100644 index db32b0dba..000000000 --- a/.github/workflows/node-when-unrelated.yml +++ /dev/null @@ -1,43 +0,0 @@ -# This workflow is provided via the organization template repository -# -# https://github.com/nextcloud/.github -# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization -# -# Use node together with node-when-unrelated to make eslint a required check for GitHub actions -# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -name: Node - -on: - pull_request: - paths-ignore: - - '.github/workflows/**' - - 'src/**' - - 'appinfo/info.xml' - - 'package.json' - - 'package-lock.json' - - 'tsconfig.json' - - '**.js' - - '**.ts' - - '**.vue' - push: - branches: - - main - - master - - stable* - -concurrency: - group: node-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - build: - permissions: - contents: none - - runs-on: ubuntu-latest - - name: node - steps: - - name: Skip - run: 'echo "No JS/TS files changed, skipped Node"' diff --git a/css/init-BT5Phsd1.chunk.css b/css/init-CGjTNE8M.chunk.css similarity index 99% rename from css/init-BT5Phsd1.chunk.css rename to css/init-CGjTNE8M.chunk.css index ef22d0622..be20cc185 100644 --- a/css/init-BT5Phsd1.chunk.css +++ b/css/init-CGjTNE8M.chunk.css @@ -1,4 +1,4 @@ @charset "UTF-8";.nc-button-group-base>div{text-align:center;color:var(--color-text-maxcontrast)}.nc-button-group-base ul.nc-button-group-content{display:flex;gap:4px;justify-content:space-between}.nc-button-group-base ul.nc-button-group-content li{flex:1 1}.nc-button-group-base ul.nc-button-group-content .action-button{padding:0!important;width:100%;display:flex;justify-content:center}.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active{background-color:var(--color-primary-element);border-radius:var(--border-radius-large);color:var(--color-primary-element-text)}.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover,.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus,.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within{background-color:var(--color-primary-element-hover)}.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon{display:none}.material-design-icon[data-v-b9668c9e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-b9668c9e]{color:var(--color-text-maxcontrast);line-height:var(--default-clickable-area);white-space:nowrap;text-overflow:ellipsis;box-shadow:none!important;-webkit-user-select:none;user-select:none;pointer-events:none;margin-left:12px;padding-right:14px;height:var(--default-clickable-area);display:flex;align-items:center}.material-design-icon[data-v-ff274248]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action.active[data-v-ff274248]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-ff274248]{pointer-events:none;opacity:.5}.action--disabled[data-v-ff274248]:hover,.action--disabled[data-v-ff274248]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ff274248]{opacity:1!important}.action-checkbox[data-v-ff274248]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;line-height:var(--default-clickable-area)}.action-checkbox__checkbox[data-v-ff274248]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__label[data-v-ff274248]{display:flex;align-items:center;width:100%;padding:0!important;padding-right:calc((var(--default-clickable-area) - 16px) / 2)!important}.action-checkbox__label[data-v-ff274248]:before{margin-block:0!important;margin-inline:calc((var(--default-clickable-area) - 14px) / 2)!important}.action-checkbox--disabled[data-v-ff274248],.action-checkbox--disabled .action-checkbox__label[data-v-ff274248]{cursor:pointer}.material-design-icon[data-v-93633be2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-93633be2]:not(.button-vue),input[data-v-93633be2]:not([type=range]),textarea[data-v-93633be2]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-93633be2]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-93633be2]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-93633be2],input[data-v-93633be2]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-93633be2]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-93633be2],textarea[data-v-93633be2]:not(:disabled):not(.primary):hover,textarea[data-v-93633be2]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-93633be2]{border-color:var(--color-primary-element);outline:none}button[data-v-93633be2]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-93633be2]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-93633be2]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-93633be2]:not(.button-vue):disabled,input[data-v-93633be2]:not([type=range]):disabled,textarea[data-v-93633be2]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-93633be2]:not(.button-vue):required,input[data-v-93633be2]:not([type=range]):required,textarea[data-v-93633be2]:required{box-shadow:none}button[data-v-93633be2]:not(.button-vue):invalid,input[data-v-93633be2]:not([type=range]):invalid,textarea[data-v-93633be2]:invalid{border-color:var(--color-error);box-shadow:none!important}button:not(.button-vue).primary[data-v-93633be2],input:not([type=range]).primary[data-v-93633be2],textarea.primary[data-v-93633be2]{cursor:pointer;color:var(--color-primary-element-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-93633be2]:not(:disabled):hover,button:not(.button-vue).primary[data-v-93633be2]:not(:disabled):focus,button:not(.button-vue).primary[data-v-93633be2]:not(:disabled):active,input:not([type=range]).primary[data-v-93633be2]:not(:disabled):hover,input:not([type=range]).primary[data-v-93633be2]:not(:disabled):focus,input:not([type=range]).primary[data-v-93633be2]:not(:disabled):active,textarea.primary[data-v-93633be2]:not(:disabled):hover,textarea.primary[data-v-93633be2]:not(:disabled):focus,textarea.primary[data-v-93633be2]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-93633be2]:not(:disabled):active,input:not([type=range]).primary[data-v-93633be2]:not(:disabled):active,textarea.primary[data-v-93633be2]:not(:disabled):active{color:var(--color-primary-element-text-dark)}button:not(.button-vue).primary[data-v-93633be2]:disabled,input:not([type=range]).primary[data-v-93633be2]:disabled,textarea.primary[data-v-93633be2]:disabled{cursor:default;color:var(--color-primary-element-text-dark);background-color:var(--color-primary-element)}li.action.active[data-v-93633be2]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-93633be2]{pointer-events:none;opacity:.5}.action--disabled[data-v-93633be2]:hover,.action--disabled[data-v-93633be2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-93633be2]{opacity:1!important}.action-input[data-v-93633be2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400}.action-input__icon-wrapper[data-v-93633be2]{display:flex;align-self:center;align-items:center;justify-content:center}.action-input__icon-wrapper[data-v-93633be2] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-input__icon-wrapper[data-v-93633be2] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input>span[data-v-93633be2]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-93633be2]{min-width:0;min-height:0;padding:calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px}.action-input__form[data-v-93633be2]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.action-input__container[data-v-93633be2]{width:100%}.action-input__input-container[data-v-93633be2]{display:flex}.action-input__input-container .colorpicker__trigger[data-v-93633be2],.action-input__input-container .colorpicker__preview[data-v-93633be2]{width:100%}.action-input__input-container .colorpicker__preview[data-v-93633be2]{width:100%;height:36px;border-radius:var(--border-radius-large);border:2px solid var(--color-border-maxcontrast);box-shadow:none!important}.action-input__text-label[data-v-93633be2]{padding:4px 0;display:block}.action-input__text-label--hidden[data-v-93633be2]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__datetimepicker[data-v-93633be2]{width:100%}.action-input__datetimepicker[data-v-93633be2] .mx-input{margin:0}.action-input__multi[data-v-93633be2]{width:100%}li:last-child>.action-input[data-v-93633be2]{padding-bottom:calc((var(--default-clickable-area) - 16px) / 2 - 4px)}li:first-child>.action-input[data-v-93633be2]:not(.action-input--visible-label){padding-top:calc((var(--default-clickable-area) - 16px) / 2 - 4px)}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:"";position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:transparent;outline:none;border:1px solid rgba(0,0,0,.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn:disabled,.mx-btn.disabled{color:#ccc;cursor:not-allowed}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity .24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:#9093994d;transition:background-color .3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px 6px 10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px #00000013}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:#00000080;vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:#000c}.mx-datepicker-main{font:14px/1.5 Helvetica Neue,Helvetica,Arial,Microsoft Yahei,sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px #0000002d;z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;-webkit-user-select:none;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media (max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:"~"}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover,.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:transparent}.mx-week-number{opacity:.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list:after{content:"";display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:transparent;font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:transparent;font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-175de9f]{-webkit-user-select:none;user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-175de9f] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-input{width:100%;border:2px solid var(--color-border-maxcontrast);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-input:active:not(.disabled),.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-input:hover:not(.disabled),.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-input:focus:not(.disabled){border-color:var(--color-primary-element)}.mx-datepicker[data-v-175de9f] .mx-input-wrapper:disabled,.mx-datepicker[data-v-175de9f] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-175de9f] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face)!important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:296px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-btn-confirm{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text)!important;opacity:1!important}.mx-datepicker-main .mx-datepicker-btn-confirm:hover{background-color:var(--color-primary-element-light)!important;border-color:var(--color-primary-element-light)!important}.mx-datepicker-main .mx-calendar{width:264px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:296px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell{border-radius:var(--border-radius-small)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius-small) 0 0 var(--border-radius-small)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius-small) var(--border-radius-small) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-main-text)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all .1s ease-in-out;text-align:center;opacity:.7;border-radius:var(--border-radius-small);min-height:var(--clickable-area-small)!important}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;font-weight:700;background-color:transparent;color:var(--color-primary-element);border-radius:var(--border-radius-small)}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-element-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:var(--border-radius-small);color:var(--color-main-text);opacity:1}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-maxcontrast)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-element-text);background-color:var(--color-primary-element);font-weight:700}.mx-datepicker-main .mx-table .cell.disabled{opacity:1;color:var(--color-main-text);border-radius:var(--border-radius-small)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px;color:var(--color-main-text)}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background .1s ease-in-out;color:var(--color-main-text)}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 2px!important;padding:0;cursor:pointer;text-decoration:none;opacity:1;color:var(--color-main-text);border-radius:var(--border-radius-small);line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:var(--default-clickable-area);margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:1;color:var(--color-main-text);border-radius:var(--border-radius-small);background-color:transparent;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{background-repeat:no-repeat;background-size:16px;background-position:center;filter:var(--background-invert-if-dark);display:inline-block;width:32px;height:32px}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i:after,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i:after,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i:before,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i:before,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i:after,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i:after,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i:before,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i:before,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i:after,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i:after,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i:before,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i:before,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i:after,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i:after,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i:before,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i:before{content:none}.mx-datepicker-main .mx-calendar-header button.mx-btn-text,.mx-datepicker-main .mx-time-header button.mx-btn-text{line-height:initial}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex;color:var(--color-main-text)}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left>i{background-image:url("data:image/svg+xml,%3c!--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z'/%3e%3c/svg%3e")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header .mx-btn-icon-left>i{background-image:url("data:image/svg+xml,%3c!--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z'/%3e%3c/svg%3e")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header .mx-btn-icon-right>i{background-image:url("data:image/svg+xml,%3c!--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z'/%3e%3c/svg%3e")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right>i{background-image:url("data:image/svg+xml,%3c!--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='%23222'%3e%3cpath%20d='M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z'/%3e%3c/svg%3e")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:700}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:var(--border-radius-small);background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:400}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border);opacity:1!important;background-color:transparent}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-element-text)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text)}.material-design-icon[data-v-038f33af]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-datepicker[data-v-038f33af] .mx-input-wrapper .mx-input{background-clip:border-box}.datetime-picker-inline-icon[data-v-038f33af]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:0!important;margin:0}.datetime-picker-inline-icon--highlighted[data-v-038f33af]{opacity:.7}.datetime-picker-inline-icon[data-v-038f33af]:focus,.datetime-picker-inline-icon[data-v-038f33af]:hover{opacity:1}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper{border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner{padding:4px;border-radius:var(--border-radius-large)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__label{padding:4px 0 4px 14px}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.select{min-width:246px;left:-8px!important}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select .vs__dropdown-toggle{border-radius:calc(var(--border-radius-large) - 4px)}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open .vs__dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper .v-popper__inner .timezone-popover-wrapper__timezone-select.v-select.vs--open.select--drop-up .vs__dropdown-toggle{border-radius:0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px)}.vs__dropdown-menu--floating{z-index:100001!important}body{--vs-search-input-color: var(--color-main-text);--vs-search-input-bg: var(--color-main-background);--vs-search-input-placeholder-color: var(--color-text-maxcontrast);--vs-font-size: var(--default-font-size);--vs-line-height: var(--default-line-height);--vs-state-disabled-bg: var(--color-background-hover);--vs-state-disabled-color: var(--color-text-maxcontrast);--vs-state-disabled-controls-color: var(--color-text-maxcontrast);--vs-state-disabled-cursor: not-allowed;--vs-disabled-bg: var(--color-background-hover);--vs-disabled-color: var(--color-text-maxcontrast);--vs-disabled-cursor: not-allowed;--vs-border-color: var(--color-border-maxcontrast);--vs-border-width: var(--border-width-input, 2px) !important;--vs-border-style: solid;--vs-border-radius: var(--border-radius-large);--vs-controls-color: var(--color-main-text);--vs-selected-bg: var(--color-background-hover);--vs-selected-color: var(--color-main-text);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: var(--color-main-background);--vs-dropdown-color: var(--color-main-text);--vs-dropdown-z-index: 9999;--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);--vs-dropdown-option-padding: 8px 20px;--vs-dropdown-option--active-bg: var(--color-background-hover);--vs-dropdown-option--active-color: var(--color-main-text);--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);--vs-dropdown-option--deselect-bg: var(--color-error);--vs-dropdown-option--deselect-color: #fff;--vs-transition-duration: 0ms;--vs-actions-padding: 0 8px 0 4px}.v-select.select{min-height:var(--default-clickable-area);min-width:260px;margin:0 0 var(--default-grid-baseline)}.v-select.select.vs--open{--vs-border-width: var(--border-width-input-focused, 2px)}.v-select.select .select__label{display:block;margin-bottom:2px}.v-select.select .vs__selected{height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));margin:calc(var(--default-grid-baseline) / 2);padding-block:0;padding-inline:12px 8px;border-radius:16px!important;background:var(--color-primary-element-light);border:none}.v-select.select.vs--open .vs__selected:first-of-type{margin-inline-start:calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px)))!important}.v-select.select .vs__search{text-overflow:ellipsis;color:var(--color-main-text);min-height:unset!important;height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width))!important}.v-select.select .vs__search::placeholder{color:var(--color-text-maxcontrast)}.v-select.select .vs__search,.v-select.select .vs__search:focus{margin:0}.v-select.select .vs__dropdown-toggle{position:relative;max-height:100px;padding:0;overflow-y:auto}.v-select.select .vs__actions{position:-webkit-sticky;position:sticky;top:0}.v-select.select .vs__clear{margin-right:2px}.v-select.select.vs--open .vs__dropdown-toggle{border-width:var(--border-width-input-focused);outline:2px solid var(--color-main-background);border-color:var(--color-main-text);border-bottom-color:transparent}.v-select.select:not(.vs--disabled,.vs--open) .vs__dropdown-toggle:hover{outline:2px solid var(--color-main-background);border-color:var(--color-main-text)}.v-select.select.vs--disabled .vs__search,.v-select.select.vs--disabled .vs__selected{color:var(--color-text-maxcontrast)}.v-select.select.vs--disabled .vs__clear,.v-select.select.vs--disabled .vs__deselect{display:none}.v-select.select--no-wrap .vs__selected-options{flex-wrap:nowrap;overflow:auto;min-width:unset}.v-select.select--no-wrap .vs__selected-options .vs__selected{min-width:unset}.v-select.select--drop-up.vs--open .vs__dropdown-toggle{border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-color:transparent;border-bottom-color:var(--color-main-text)}.v-select.select .vs__selected-options{min-height:calc(var(--default-clickable-area) - 2 * var(--vs-border-width));padding:0 5px}.v-select.select .vs__selected-options .vs__selected~.vs__search[readonly]{position:absolute}.v-select.select.vs--single.vs--loading .vs__selected,.v-select.select.vs--single.vs--open .vs__selected{max-width:100%;opacity:1;color:var(--color-text-maxcontrast)}.v-select.select.vs--single .vs__selected-options{flex-wrap:nowrap}.v-select.select.vs--single .vs__selected{background:unset!important}.vs__dropdown-menu{border-width:var(--border-width-input-focused)!important;border-color:var(--color-main-text)!important;outline:none!important;box-shadow:-2px 0 0 var(--color-main-background),0 2px 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important;padding:4px!important}.vs__dropdown-menu--floating{width:max-content;position:absolute;top:0;left:0}.vs__dropdown-menu--floating-placement-top{border-radius:var(--vs-border-radius) var(--vs-border-radius) 0 0!important;border-top-style:var(--vs-border-style)!important;border-bottom-style:none!important;box-shadow:0 -2px 0 var(--color-main-background),-2px 0 0 var(--color-main-background),2px 0 0 var(--color-main-background),!important}.vs__dropdown-menu .vs__dropdown-option{border-radius:6px!important}.vs__dropdown-menu .vs__no-options{color:var(--color-text-lighter)!important}.user-select .vs__selected{padding-inline:0 5px!important}.material-design-icon[data-v-f6384352]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f6384352]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-f6384352]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f6384352],.name-parts__last[data-v-f6384352]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-f6384352],.name-parts__last strong[data-v-f6384352]{font-weight:700}.material-design-icon[data-v-a519576f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-a519576f]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-a519576f]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-a519576f]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-a519576f]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-a519576f]{color:inherit;background-size:cover}.mention-bubble__title[data-v-a519576f]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-a519576f]:before{content:attr(title)}.mention-bubble__select[data-v-a519576f]{position:absolute;z-index:-1;left:-100vw;width:1px;height:1px;overflow:hidden}.material-design-icon[data-v-a0f4d73a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-a0f4d73a]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-a0f4d73a]{margin-right:var(--margin)}.option__details[data-v-a0f4d73a]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-a0f4d73a]{color:var(--color-main-text)}.option__linetwo[data-v-a0f4d73a]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.2}.option__lineone strong[data-v-a0f4d73a],.option__linetwo strong[data-v-a0f4d73a]{font-weight:700}.option--compact .option__lineone[data-v-a0f4d73a]{font-size:14px}.option--compact .option__linetwo[data-v-a0f4d73a]{font-size:11px;line-height:1.5;margin-top:-4px}.option__icon[data-v-a0f4d73a]{width:var(--default-clickable-area);height:var(--default-clickable-area);color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-a0f4d73a]{flex:0 0 var(--default-clickable-area);opacity:.7;background-position:center;background-size:16px}.option__details[data-v-a0f4d73a],.option__lineone[data-v-a0f4d73a],.option__linetwo[data-v-a0f4d73a],.option__icon[data-v-a0f4d73a]{cursor:inherit}.material-design-icon[data-v-5db0bd58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-5db0bd58]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-5db0bd58]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-5db0bd58]:not(.avatardiv--unknown){background-color:var(--color-main-background)!important;box-shadow:0 0 5px #0000000d inset}.avatardiv--with-menu[data-v-5db0bd58]{cursor:pointer}.avatardiv--with-menu .action-item[data-v-5db0bd58]{position:absolute;top:0;left:0}.avatardiv--with-menu[data-v-5db0bd58] .action-item__menutoggle{cursor:pointer;opacity:0}.avatardiv--with-menu[data-v-5db0bd58]:focus-within .action-item__menutoggle,.avatardiv--with-menu[data-v-5db0bd58]:hover .action-item__menutoggle,.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-5db0bd58] .action-item__menutoggle{opacity:1}.avatardiv--with-menu:focus-within img[data-v-5db0bd58],.avatardiv--with-menu:hover img[data-v-5db0bd58],.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-5db0bd58]{opacity:.3}.avatardiv--with-menu[data-v-5db0bd58] .action-item__menutoggle,.avatardiv--with-menu img[data-v-5db0bd58]{transition:opacity var(--animation-quick)}.avatardiv--with-menu[data-v-5db0bd58] .button-vue,.avatardiv--with-menu[data-v-5db0bd58] .button-vue__icon{height:var(--size);min-height:var(--size);width:var(--size)!important;min-width:var(--size)}.avatardiv--with-menu[data-v-5db0bd58]>.button-vue,.avatardiv--with-menu[data-v-5db0bd58]>.action-item .button-vue{--button-radius: calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper[data-v-5db0bd58]{display:block;height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:calc(var(--size) / 2)}.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-5db0bd58]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:400}.avatardiv img[data-v-5db0bd58]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-5db0bd58]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-5db0bd58]{box-sizing:border-box;position:absolute;right:-4px;bottom:-4px;min-height:14px;min-width:14px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:1;font-size:clamp(var(--font-size-small, 13px),85%,var(--default-font-size));border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5db0bd58]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5db0bd58]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--icon[data-v-5db0bd58]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5db0bd58]{position:relative;display:inline-block}.avatar-class-icon[data-v-5db0bd58]{display:block;border-radius:calc(var(--size) / 2);background-color:var(--color-background-darker);height:100%}.material-design-icon[data-v-579c6b4d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action.active[data-v-579c6b4d]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-router[data-v-579c6b4d]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-router>span[data-v-579c6b4d]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-579c6b4d]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-579c6b4d] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-router[data-v-579c6b4d] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router__longtext-wrapper[data-v-579c6b4d],.action-router__longtext[data-v-579c6b4d]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-579c6b4d]{cursor:pointer;white-space:pre-wrap!important}.action-router__name[data-v-579c6b4d]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-router__menu-icon[data-v-579c6b4d]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-579c6b4d]{pointer-events:none;opacity:.5}.action--disabled[data-v-579c6b4d]:hover,.action--disabled[data-v-579c6b4d]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-579c6b4d]{opacity:1!important}.material-design-icon[data-v-824615f4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action.active[data-v-824615f4]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-text[data-v-824615f4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-text>span[data-v-824615f4]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-824615f4]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-824615f4] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-text[data-v-824615f4] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text__longtext-wrapper[data-v-824615f4],.action-text__longtext[data-v-824615f4]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-824615f4]{cursor:pointer;white-space:pre-wrap!important}.action-text__name[data-v-824615f4]{font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action-text__menu-icon[data-v-824615f4]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-824615f4]{pointer-events:none;opacity:.5}.action--disabled[data-v-824615f4]:hover,.action--disabled[data-v-824615f4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-824615f4]{opacity:1!important}.action-text[data-v-824615f4],.action-text span[data-v-824615f4]{cursor:default}.material-design-icon[data-v-0555d8d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-status-icon[data-v-0555d8d0]{display:flex;justify-content:center;align-items:center;min-width:16px;min-height:16px;max-width:20px;max-height:20px}.user-status-icon--invisible[data-v-0555d8d0]{filter:var(--background-invert-if-dark)}:host,:root{--vs-colors--lightest:rgba(60,60,60,.26);--vs-colors--light:rgba(60,60,60,.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#136cfb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--kb-focus-box-shadow:inset 0px 0px 0px 2px #949494;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-.115,.975,.855);--vs-transition-duration:.15s}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,.5,.8,1);--vs-transition-duration:.15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__open-indicator-button,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;min-width:0;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator-button{background-color:transparent;border:0;cursor:pointer;padding:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--kb-focus{box-shadow:var(--vs-dropdown-option--kb-focus-box-shadow)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;min-width:0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{max-width:100%;opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search:-ms-input-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:#3c3c3c73;font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}.material-design-icon[data-v-40e61767]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.native-datetime-picker[data-v-40e61767]{display:flex;flex-direction:column}.native-datetime-picker .native-datetime-picker--input[data-v-40e61767]{width:100%;flex:0 0 auto;padding-right:4px}[data-theme-light] .native-datetime-picker--input[data-v-40e61767],[data-themes*=light] .native-datetime-picker--input[data-v-40e61767]{color-scheme:light}[data-theme-dark] .native-datetime-picker--input[data-v-40e61767],[data-themes*=dark] .native-datetime-picker--input[data-v-40e61767]{color-scheme:dark}@media (prefers-color-scheme: light){[data-theme-default] .native-datetime-picker--input[data-v-40e61767],[data-themes*=default] .native-datetime-picker--input[data-v-40e61767]{color-scheme:light}}@media (prefers-color-scheme: dark){[data-theme-default] .native-datetime-picker--input[data-v-40e61767],[data-themes*=default] .native-datetime-picker--input[data-v-40e61767]{color-scheme:dark}}.material-design-icon[data-v-a273ea2b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-a273ea2b] .password-field__input--secure-text{-webkit-text-security:disc}.material-design-icon[data-v-e4fac465]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-e4fac465]{--input-border-radius: var(--border-radius-element, var(--border-radius-large));--input-padding-start: var(--border-radius-large);--input-padding-end: var(--border-radius-large);position:relative;width:100%;margin-block-start:6px}.input-field--disabled[data-v-e4fac465]{opacity:.4;filter:saturate(.4)}.input-field--label-outside[data-v-e4fac465]{margin-block-start:0}.input-field--leading-icon[data-v-e4fac465]{--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--trailing-icon[data-v-e4fac465]{--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--pill[data-v-e4fac465]{--input-border-radius: var(--border-radius-pill)}.input-field__main-wrapper[data-v-e4fac465]{height:var(--default-clickable-area);position:relative}.input-field__input[data-v-e4fac465]{--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--input-border-radius);cursor:pointer;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;font-size:var(--default-font-size);text-overflow:ellipsis;height:calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset))!important;width:100%;padding-inline:calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));padding-block:var(--input-border-width-offset)}.input-field__input[data-v-e4fac465]::placeholder{color:var(--color-text-maxcontrast)}.input-field__input[data-v-e4fac465]:active:not([disabled]),.input-field__input[data-v-e4fac465]:hover:not([disabled]),.input-field__input[data-v-e4fac465]:focus:not([disabled]){border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important;--input-border-width-offset: 0px}.input-field__input:focus+.input-field__label[data-v-e4fac465],.input-field__input:hover:not(:placeholder-shown)+.input-field__label[data-v-e4fac465]{color:var(--color-main-text)}.input-field__input[data-v-e4fac465]:focus{cursor:text}.input-field__input[data-v-e4fac465]:disabled{cursor:default}.input-field__input[data-v-e4fac465]:focus-visible{box-shadow:unset!important}.input-field__input--success[data-v-e4fac465]{border-color:var(--color-success)!important}.input-field__input--success[data-v-e4fac465]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field__input--error[data-v-e4fac465],.input-field__input[data-v-e4fac465]:invalid{border-color:var(--color-error)!important}.input-field__input--error[data-v-e4fac465]:focus-visible,.input-field__input[data-v-e4fac465]:invalid:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field:not(.input-field--label-outside) .input-field__input[data-v-e4fac465]:not(:focus)::placeholder{opacity:0}.input-field__label[data-v-e4fac465]{--input-label-font-size: var(--default-font-size);position:absolute;margin-inline:var(--input-padding-start) var(--input-padding-end);max-width:fit-content;font-size:var(--input-label-font-size);inset-block-start:calc((var(--default-clickable-area) - 1lh) / 2);inset-inline:var(--border-width-input-focused, 2px);color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.input-field__input:focus+.input-field__label[data-v-e4fac465],.input-field__input:not(:placeholder-shown)+.input-field__label[data-v-e4fac465]{--input-label-font-size: 13px;line-height:1.5;inset-block-start:calc(-1.5 * var(--input-label-font-size) / 2);font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:var(--default-grid-baseline);margin-inline:calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.input-field__icon[data-v-e4fac465]{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;opacity:.7;inset-block-end:0}.input-field__icon--leading[data-v-e4fac465]{inset-inline-start:0px}.input-field__icon--trailing[data-v-e4fac465]{inset-inline-end:0px}.input-field__trailing-button[data-v-e4fac465]{--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px))}.input-field__trailing-button.button-vue[data-v-e4fac465]{position:absolute;top:var(--border-width-input-focused, 2px);inset-inline-end:var(--border-width-input-focused, 2px)}.input-field__trailing-button.button-vue[data-v-e4fac465]:focus-visible{box-shadow:none!important}.input-field__helper-text-message[data-v-e4fac465]{padding-block:4px;padding-inline:var(--border-radius-large);display:flex;align-items:center;color:var(--color-text-maxcontrast)}.input-field__helper-text-message__icon[data-v-e4fac465]{margin-inline-end:8px}.input-field__helper-text-message--error[data-v-e4fac465]{color:var(--color-error-text)}.input-field__helper-text-message--success[data-v-e4fac465]{color:var(--color-success-text)}.material-design-icon[data-v-f9884718]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action.active[data-v-f9884718]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-f9884718]{pointer-events:none;opacity:.5}.action--disabled[data-v-f9884718]:hover,.action--disabled[data-v-f9884718]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-f9884718]{opacity:1!important}.action-radio[data-v-f9884718]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;line-height:var(--default-clickable-area)}.action-radio__radio[data-v-f9884718]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__label[data-v-f9884718]{display:flex;align-items:center;width:100%;padding:0!important;padding-right:calc((var(--default-clickable-area) - 16px) / 2)!important}.action-radio__label[data-v-f9884718]:before{margin:calc((var(--default-clickable-area) - 14px) / 2)!important}.action-radio--disabled[data-v-f9884718],.action-radio--disabled .action-radio__label[data-v-f9884718]{cursor:pointer}.material-design-icon[data-v-3e2324b7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-3e2324b7]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}.material-design-icon[data-v-7d21c704]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-7d21c704]:not(.button-vue),input[data-v-7d21c704]:not([type=range]),textarea[data-v-7d21c704]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-7d21c704]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-7d21c704]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-7d21c704],input[data-v-7d21c704]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-7d21c704]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-7d21c704],textarea[data-v-7d21c704]:not(:disabled):not(.primary):hover,textarea[data-v-7d21c704]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-7d21c704]{border-color:var(--color-primary-element);outline:none}button[data-v-7d21c704]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-7d21c704]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-7d21c704]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-7d21c704]:not(.button-vue):disabled,input[data-v-7d21c704]:not([type=range]):disabled,textarea[data-v-7d21c704]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-7d21c704]:not(.button-vue):required,input[data-v-7d21c704]:not([type=range]):required,textarea[data-v-7d21c704]:required{box-shadow:none}button[data-v-7d21c704]:not(.button-vue):invalid,input[data-v-7d21c704]:not([type=range]):invalid,textarea[data-v-7d21c704]:invalid{border-color:var(--color-error);box-shadow:none!important}button:not(.button-vue).primary[data-v-7d21c704],input:not([type=range]).primary[data-v-7d21c704],textarea.primary[data-v-7d21c704]{cursor:pointer;color:var(--color-primary-element-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-7d21c704]:not(:disabled):hover,button:not(.button-vue).primary[data-v-7d21c704]:not(:disabled):focus,button:not(.button-vue).primary[data-v-7d21c704]:not(:disabled):active,input:not([type=range]).primary[data-v-7d21c704]:not(:disabled):hover,input:not([type=range]).primary[data-v-7d21c704]:not(:disabled):focus,input:not([type=range]).primary[data-v-7d21c704]:not(:disabled):active,textarea.primary[data-v-7d21c704]:not(:disabled):hover,textarea.primary[data-v-7d21c704]:not(:disabled):focus,textarea.primary[data-v-7d21c704]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-7d21c704]:not(:disabled):active,input:not([type=range]).primary[data-v-7d21c704]:not(:disabled):active,textarea.primary[data-v-7d21c704]:not(:disabled):active{color:var(--color-primary-element-text-dark)}button:not(.button-vue).primary[data-v-7d21c704]:disabled,input:not([type=range]).primary[data-v-7d21c704]:disabled,textarea.primary[data-v-7d21c704]:disabled{cursor:default;color:var(--color-primary-element-text-dark);background-color:var(--color-primary-element)}li.action.active[data-v-7d21c704]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-7d21c704]{pointer-events:none;opacity:.5}.action--disabled[data-v-7d21c704]:hover,.action--disabled[data-v-7d21c704]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-7d21c704]{opacity:1!important}.action-text-editable[data-v-7d21c704]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:400;line-height:var(--default-clickable-area)}.action-text-editable>span[data-v-7d21c704]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-7d21c704]{min-width:0;min-height:0;padding:calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px}.action-text-editable[data-v-7d21c704] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-text-editable[data-v-7d21c704] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text-editable__form[data-v-7d21c704]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.action-text-editable__submit[data-v-7d21c704]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-7d21c704]{display:flex;align-items:center;justify-content:center;position:absolute;right:calc((var(--default-clickable-area) - 16px) / 2 + 1);bottom:1px;width:calc(var(--default-clickable-area) - 8px);height:calc(var(--default-clickable-area) - 8px);box-sizing:border-box;margin:0;padding:7px 6px;border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-7d21c704],.action-text-editable__label *[data-v-7d21c704]{cursor:pointer}.action-text-editable__textarea[data-v-7d21c704]{flex:1 1 auto;color:inherit;border-color:var(--color-border-maxcontrast);min-height:calc(var(--default-clickable-area) * 2 - 8px);max-height:calc(var(--default-clickable-area) * 3 - 8px);min-width:calc(var(--default-clickable-area) * 4);width:100%!important;margin:0}.action-text-editable__textarea[data-v-7d21c704]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-7d21c704]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-7d21c704]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-7d21c704]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-7d21c704]:focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-7d21c704],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-7d21c704],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-7d21c704]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-7d21c704]{margin-bottom:calc((var(--default-clickable-area) - 16px) / 2 - 4px)}li:first-child>.action-text-editable[data-v-7d21c704]{margin-top:calc((var(--default-clickable-area) - 16px) / 2 - 4px)}.material-design-icon[data-v-089eb524]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-089eb524]{position:-webkit-sticky;position:sticky;width:var(--default-clickable-area);height:var(--default-clickable-area);padding:calc((var(--default-clickable-area) - 16px) / 2);cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000;top:var(--app-navigation-padding);inset-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2)}.app-details-toggle--mobile[data-v-089eb524]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-089eb524]:active,.app-details-toggle[data-v-089eb524]:hover,.app-details-toggle[data-v-089eb524]:focus{opacity:1}.material-design-icon[data-v-e905d7c8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-e905d7c8]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0!important;background-color:var(--color-main-background);min-width:0}.app-content[data-v-e905d7c8]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-e905d7c8]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-e905d7c8] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-e905d7c8] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-e905d7c8] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-e905d7c8] .app-content-details{display:block}[data-v-e905d7c8] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:-webkit-sticky;position:sticky}@media only screen and (width < 1024px){[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width < 1024px){[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-e905d7c8] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-e905d7c8] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-left:1px solid var(--color-border)}[data-v-e905d7c8] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-e905d7c8] .app-content-list{max-width:none}.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.app-navigation,.app-content{--app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2)}.material-design-icon[data-v-1329aac9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-1329aac9]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;--app-navigation-max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));max-width:var(--app-navigation-max-width);position:relative;top:0;inset-inline-start:0;padding:0;z-index:1800;height:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--close[data-v-1329aac9]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-1329aac9]{width:100%}.app-navigation__body[data-v-1329aac9]{overflow-y:scroll}.app-navigation__content>ul[data-v-1329aac9]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-1329aac9]{height:100%}.app-navigation__body--no-list[data-v-1329aac9]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-1329aac9]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-1329aac9]{border-inline-end:1px solid var(--color-border)}@media only screen and (max-width: 1024px){.app-navigation[data-v-1329aac9]{position:absolute;border-inline-end:1px solid var(--color-border)}}@media only screen and (max-width: 512px){.app-navigation[data-v-1329aac9]{z-index:1400}}.material-design-icon[data-v-058e6060]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-058e6060]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-87a1d6fa]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-87a1d6fa]{position:absolute;top:var(--app-navigation-padding);inset-inline-end:calc(0px - var(--app-navigation-padding));margin-inline-end:calc(-1 * var(--default-clickable-area))}button.app-navigation-toggle[data-v-87a1d6fa]{background-color:var(--color-main-background)}.material-design-icon[data-v-af6cfb9c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-af6cfb9c]{display:flex;justify-content:space-between}.app-navigation-caption--heading[data-v-af6cfb9c]{padding:var(--app-navigation-padding)}.app-navigation-caption--heading[data-v-af6cfb9c]:not(:first-child):not(:last-child){padding:0 var(--app-navigation-padding)}.app-navigation-caption__name[data-v-af6cfb9c]{font-weight:700;color:var(--color-main-text);font-size:var(--default-font-size);line-height:var(--default-clickable-area);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none!important;flex-shrink:1;padding:0 calc(var(--default-grid-baseline, 4px) * 2) 0 calc(var(--default-grid-baseline, 4px) * 2);padding-right:0;margin-top:0;margin-bottom:var(--default-grid-baseline)}.app-navigation-caption__actions[data-v-af6cfb9c]{flex:0 0 var(--default-clickable-area)}.app-navigation-caption[data-v-af6cfb9c]:not(:first-child){margin-top:calc(var(--default-clickable-area) / 2)}.material-design-icon[data-v-938dadb1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__icon-bullet[data-v-938dadb1]{display:block;padding:calc((var(--default-clickable-area) - 16px) / 2 + 1px)}.app-navigation-entry__icon-bullet div[data-v-938dadb1]{width:14px;height:14px;cursor:pointer;transition:background .1s ease-in-out;border:none;border-radius:50%}.material-design-icon[data-v-cadd59ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue.icon-collapse[data-v-cadd59ae]{position:relative;z-index:105;color:var(--color-main-text);right:0}.button-vue.icon-collapse--open[data-v-cadd59ae]{color:var(--color-main-text)}.button-vue.icon-collapse--open[data-v-cadd59ae]:hover{color:var(--color-primary-element)}.material-design-icon[data-v-54906a49]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:var(--default-clickable-area);transition:background-color var(--animation-quick) ease-in-out;transition:background-color .2s ease-in-out;border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry-wrapper[data-v-54906a49]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-54906a49]{display:none}.app-navigation-entry.active[data-v-54906a49]{background-color:var(--color-primary-element)!important}.app-navigation-entry.active[data-v-54906a49]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.active .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry.active .app-navigation-entry-button[data-v-54906a49]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-54906a49]:focus-within,.app-navigation-entry[data-v-54906a49]:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__children[data-v-54906a49]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-54906a49]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-54906a49]{padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px 16px;line-height:var(--default-clickable-area)}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-54906a49]{display:flex;align-items:center;flex:0 0 var(--default-clickable-area);justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);background-size:16px 16px;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-54906a49]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-54906a49],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-54906a49]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-54906a49]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-54906a49]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text);border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry__children[data-v-54906a49]{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px)}.app-navigation-entry__children .app-navigation-entry[data-v-54906a49]{display:inline-flex;flex-wrap:wrap;padding-left:16px}.app-navigation-entry__deleted[data-v-54906a49]{display:inline-flex;flex:1 1 0;padding-left:calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2)!important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-54906a49]{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:var(--default-clickable-area)}.app-navigation-entry__utils[data-v-54906a49]{display:flex;min-width:var(--default-clickable-area);align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-54906a49]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-54906a49]{margin-right:calc(var(--default-grid-baseline) * 2);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-54906a49]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-54906a49]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-54906a49]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-54906a49]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-54906a49]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-54906a49]:active{background-color:var(--color-primary-element-light-hover)!important}.material-design-icon[data-v-0e795eb7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-0e795eb7]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-0e795eb7]{display:flex}.app-navigation-input-confirm__input[data-v-0e795eb7]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px 5px 5px -8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-0e795eb7]:active,.app-navigation-input-confirm__input[data-v-0e795eb7]:focus,.app-navigation-input-confirm__input[data-v-0e795eb7]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.material-design-icon[data-v-810cb824]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-810cb824]{display:block;padding:calc(var(--default-grid-baseline, 4px) * 2)}.app-navigation-new button[data-v-810cb824]{width:100%}.material-design-icon[data-v-fe96d301]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-fe96d301]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:var(--default-clickable-area);transition:background-color var(--animation-quick) ease-in-out;transition:background-color .2s ease-in-out;border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry-wrapper[data-v-fe96d301]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-fe96d301]{display:none}.app-navigation-entry.active[data-v-fe96d301]{background-color:var(--color-primary-element)!important}.app-navigation-entry.active[data-v-fe96d301]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.active .app-navigation-entry-link[data-v-fe96d301],.app-navigation-entry.active .app-navigation-entry-button[data-v-fe96d301]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-fe96d301]:focus-within,.app-navigation-entry[data-v-fe96d301]:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children[data-v-fe96d301],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-fe96d301],.app-navigation-entry:hover .app-navigation-entry__children[data-v-fe96d301]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fe96d301],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fe96d301],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fe96d301],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fe96d301],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fe96d301]{display:inline-block}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-fe96d301]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-fe96d301],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-fe96d301]{padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-fe96d301],.app-navigation-entry .app-navigation-entry-button[data-v-fe96d301]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px 16px;line-height:var(--default-clickable-area)}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-fe96d301],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-fe96d301]{display:flex;align-items:center;flex:0 0 var(--default-clickable-area);justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);background-size:16px 16px;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-fe96d301],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-fe96d301]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-fe96d301],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-fe96d301]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-fe96d301]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-fe96d301]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text);border-radius:var(--border-radius-element, var(--border-radius-pill))}.app-navigation-entry__children[data-v-fe96d301]{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px)}.app-navigation-entry__children .app-navigation-entry[data-v-fe96d301]{display:inline-flex;flex-wrap:wrap;padding-left:16px}.app-navigation-entry__deleted[data-v-fe96d301]{display:inline-flex;flex:1 1 0;padding-left:calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2)!important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-fe96d301]{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:var(--default-clickable-area)}.app-navigation-entry__utils[data-v-fe96d301]{display:flex;min-width:var(--default-clickable-area);align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-fe96d301]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-fe96d301]{margin-right:calc(var(--default-grid-baseline) * 2);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-fe96d301]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-fe96d301]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-fe96d301]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-fe96d301]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-fe96d301]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-fe96d301]:active{background-color:var(--color-primary-element-light-hover)!important}.app-navigation-new-item__name[data-v-fe96d301]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-left:7px;font-size:14px}.newItemContainer[data-v-fe96d301]{width:calc(100% - var(--default-clickable-area));margin:auto}.material-design-icon[data-v-70fd8f35]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-search[data-v-70fd8f35]{display:flex;gap:var(--app-navigation-padding);padding:var(--app-navigation-padding)}.app-navigation-search--has-actions .app-navigation-search__input[data-v-70fd8f35]{flex-grow:1;z-index:3}.app-navigation-search__actions[data-v-70fd8f35]{display:flex;gap:var(--default-grid-baseline);margin-inline-start:0;max-width:calc(2 * var(--default-clickable-area) + var(--default-grid-baseline));max-height:var(--default-clickable-area);transition:margin-inline-start var(--animation-quick)}.app-navigation-search__actions--hidden[data-v-70fd8f35]{margin-inline-start:calc(-1 * var(--default-clickable-area))}.app-navigation-search__input[data-v-70fd8f35]{--input-border-radius: var(--border-radius-element, var(--border-radius-pill)) !important}.material-design-icon[data-v-981e215c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-981e215c]{margin-top:auto;padding:3px}#app-settings__header[data-v-981e215c]{box-sizing:border-box;margin:0 3px 3px}#app-settings__header .settings-button[data-v-981e215c]{display:flex;flex:1 1 0;height:var(--default-clickable-area);width:100%;padding:0 14px 0 0;margin:0;background-color:transparent;box-shadow:none;border:0;border-radius:var(--body-container-radius);text-align:left;font-weight:400;font-size:100%;color:var(--color-main-text);line-height:var(--default-clickable-area)}#app-settings__header .settings-button[data-v-981e215c]:hover,#app-settings__header .settings-button[data-v-981e215c]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-981e215c]{width:var(--default-clickable-area);height:var(--default-clickable-area);min-width:var(--default-clickable-area)}#app-settings__header .settings-button__label[data-v-981e215c]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-981e215c]{display:block;padding:10px;margin-bottom:-3px;max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-981e215c],.slide-up-enter-active[data-v-981e215c]{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden!important}.slide-up-enter[data-v-981e215c],.slide-up-leave-to[data-v-981e215c]{max-height:0!important;padding:0 10px!important}.app-navigation-spacer[data-v-b699c557]{flex-shrink:0;height:22px}.material-design-icon[data-v-0674bd2e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-0674bd2e] .app-settings__navigation{min-width:200px;margin-right:calc(4 * var(--default-grid-baseline));overflow-x:hidden;overflow-y:auto;position:relative}[data-v-0674bd2e] .app-settings__content{box-sizing:border-box;padding-inline:calc(4 * var(--default-grid-baseline))}.navigation-list[data-v-0674bd2e]{height:100%;box-sizing:border-box;overflow-y:auto;padding:calc(3 * var(--default-grid-baseline))}.navigation-list__link[data-v-0674bd2e]{display:flex;align-content:center;font-size:16px;height:var(--default-clickable-area);margin:4px 0;line-height:var(--default-clickable-area);border-radius:var(--border-radius-element, var(--border-radius-pill));font-weight:700;padding:0 calc(4 * var(--default-grid-baseline));cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:transparent;border:none}.navigation-list__link[data-v-0674bd2e]:hover,.navigation-list__link[data-v-0674bd2e]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-0674bd2e]{background-color:var(--color-primary-element-light)!important}.navigation-list__link--icon[data-v-0674bd2e]{padding-inline-start:calc(2 * var(--default-grid-baseline));gap:var(--default-grid-baseline)}.navigation-list__link-icon[data-v-0674bd2e]{display:flex;justify-content:center;align-content:center;width:calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline));max-width:calc(var(--default-clickable-area) - 2 * var(--default-grid-baseline))}@media only screen and (max-width: 512px){.app-settings[data-v-0674bd2e] .dialog__name{padding-inline-start:16px}}.material-design-icon[data-v-e970c9f7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-e970c9f7]{margin-bottom:80px}.app-settings-section__name[data-v-e970c9f7]{font-size:1.6em;margin:0;padding:20px 0;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.material-design-icon[data-v-d9f30f05]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-d9f30f05]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-d9f30f05]{display:flex;justify-content:stretch;margin:10px 8px 0;border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__nav[data-v-d9f30f05] .checkbox-radio-switch--button-variant{border:unset!important;border-radius:0!important}.app-sidebar-tabs__nav[data-v-d9f30f05] .checkbox-radio-switch--button-variant .checkbox-content{padding:var(--default-grid-baseline);border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0!important;margin:0!important;border-bottom:var(--default-grid-baseline) solid transparent!important}.app-sidebar-tabs__nav[data-v-d9f30f05] .checkbox-radio-switch--button-variant .checkbox-content .checkbox-content__icon>*{color:var(--color-main-text)!important}.app-sidebar-tabs__nav[data-v-d9f30f05] .checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content{background:transparent!important;color:var(--color-main-text)!important;border-bottom:var(--default-grid-baseline) solid var(--color-primary-element)!important}.app-sidebar-tabs__tab[data-v-d9f30f05]{flex:1 1}.app-sidebar-tabs__tab.active[data-v-d9f30f05]{color:var(--color-primary-element)}.app-sidebar-tabs__tab-caption[data-v-d9f30f05]{flex:0 1 100%;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.app-sidebar-tabs__tab-icon[data-v-d9f30f05]{display:flex;align-items:center;justify-content:center;background-size:20px}.app-sidebar-tabs__tab[data-v-d9f30f05] .checkbox-radio-switch__content{max-width:unset}.app-sidebar-tabs__content[data-v-d9f30f05]{position:relative;min-height:256px;height:100%}.app-sidebar-tabs__content--multiple[data-v-d9f30f05]>:not(section){display:none}@property --app-sidebar-offset{syntax: ""; initial-value: 0; inherits: true;}.content{--app-sidebar-padding: calc(var(--default-grid-baseline, 4px) * 2);--app-sidebar-offset: 0;transition:--app-sidebar-offset 0ms!important}.content:has(.app-sidebar.slide-right-enter-active),.content:has(.app-sidebar.slide-right-leave-active){transition:--app-sidebar-offset var(--animation-quick)}.content:has(.app-sidebar__toggle){--app-sidebar-offset: calc(var(--app-sidebar-padding) + var(--default-clickable-area))}.material-design-icon[data-v-a6baa268]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-a6baa268]{--app-sidebar-width: clamp(300px, 27vw, 500px);width:var(--app-sidebar-width);z-index:1500;top:0;inset-inline-end:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;height:100%;border-inline-start:1px solid var(--color-border);background:var(--color-main-background);position:relative}.app-sidebar__toggle[data-v-a6baa268]{position:absolute!important;inset-block-start:var(--app-sidebar-padding);inset-inline-end:var(--app-sidebar-padding);z-index:1001}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a6baa268]{position:absolute;z-index:100;top:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-end:calc(var(--default-grid-baseline, 4px) * 2);width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:.7;border-radius:calc(var(--default-clickable-area) / 2)}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a6baa268]:hover,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a6baa268]:active,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a6baa268]:focus{opacity:1;background-color:#7f7f7f40}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-a6baa268]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-a6baa268]{--figure-size: calc($desc-height + var(--app-sidebar-padding));z-index:2;width:var(--figure-size);height:var(--figure-size);margin:calc(var(--app-sidebar-padding) / 2);border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-a6baa268]{padding-inline-start:0;flex:1 1 auto;min-width:0;padding-inline-end:calc(2 * var(--default-clickable-area) + var(--default-grid-baseline, 4px) * 2);padding-top:var(--app-sidebar-padding)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-a6baa268]{padding-inline-end:calc(var(--default-clickable-area) + var(--default-grid-baseline, 4px) * 2)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-a6baa268]{z-index:3;position:absolute;top:calc(var(--app-sidebar-padding) / 2);inset-inline-start:calc(-1 * var(--default-clickable-area));gap:0}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-a6baa268]{top:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-end:calc(var(--default-clickable-area) + var(--default-grid-baseline, 4px) * 2);position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-a6baa268]{position:absolute;top:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-end:calc(var(--default-grid-baseline, 4px) * 2 + var(--default-clickable-area))}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-a6baa268]{padding-inline-end:calc(var(--default-clickable-area) * 2 + var(--default-grid-baseline, 4px) * 2)}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-a6baa268]{padding-inline-end:calc(var(--default-clickable-area) + var(--default-grid-baseline, 4px) * 2)}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-a6baa268]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-a6baa268]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-a6baa268]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-a6baa268]{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;padding-inline:var(--app-sidebar-padding);padding-block:calc(var(--default-grid-baseline, 4px) * 2) calc(var(--app-sidebar-padding) / 2);gap:0 4px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-a6baa268]{padding-inline-start:6px}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__mainname-form[data-v-a6baa268],.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__mainname-form[data-v-a6baa268]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__subname[data-v-a6baa268]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-a6baa268]{display:flex;height:var(--default-clickable-area);width:var(--default-clickable-area);justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-a6baa268]{box-shadow:none}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-a6baa268]:not([aria-pressed=true]):hover{box-shadow:none;background-color:var(--color-background-hover)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container[data-v-a6baa268]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container[data-v-a6baa268]{display:flex;align-items:center;min-height:var(--default-clickable-area)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-a6baa268]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-a6baa268] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form[data-v-a6baa268]{display:flex;flex:1 1 auto;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form input.app-sidebar-header__mainname-input[data-v-a6baa268]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:700}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__menu[data-v-a6baa268]{margin-inline-start:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname[data-v-a6baa268],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-a6baa268]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-a6baa268]{color:var(--color-text-maxcontrast);font-size:var(--default-font-size);padding:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname *[data-v-a6baa268]{vertical-align:text-bottom}.app-sidebar .app-sidebar-header__description[data-v-a6baa268]{display:flex;align-items:center;margin:0 10px}@media only screen and (max-width: 512px){.app-sidebar[data-v-a6baa268]{position:absolute;--app-sidebar-width: 100vw}}.slide-right-leave-active[data-v-a6baa268],.slide-right-enter-active[data-v-a6baa268]{transition-duration:var(--animation-quick);transition-property:margin-inline-end}.slide-right-enter-to[data-v-a6baa268],.slide-right-leave[data-v-a6baa268]{margin-inline-end:0}.slide-right-enter[data-v-a6baa268],.slide-right-leave-to[data-v-a6baa268]{margin-inline-end:calc(-1 * var(--app-sidebar-width))}.app-sidebar-header__description button,.app-sidebar-header__description .button,.app-sidebar-header__description input[type=button],.app-sidebar-header__description input[type=submit],.app-sidebar-header__description input[type=reset]{padding:6px 22px}.material-design-icon[data-v-38a6f3e5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-content[data-v-38a6f3e5]{display:flex;align-items:center;flex-direction:row;gap:var(--default-grid-baseline);-webkit-user-select:none;user-select:none;min-height:var(--default-clickable-area);border-radius:var(--checkbox-radio-switch--border-radius);padding:var(--default-grid-baseline) calc((var(--default-clickable-area) - var(--icon-height)) / 2);width:100%;max-width:fit-content}.checkbox-content__text[data-v-38a6f3e5]{flex:1 0}.checkbox-content__text[data-v-38a6f3e5]:empty{display:none}.checkbox-content__icon>*[data-v-38a6f3e5]{width:var(--icon-size);height:var(--icon-size);color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon:not(.checkbox-content__icon--checked)>*[data-v-38a6f3e5]{color:var(--color-primary-element)}.checkbox-content--button-variant .checkbox-content__icon--checked>*[data-v-38a6f3e5]{color:var(--color-primary-element-text)}.checkbox-content--has-text[data-v-38a6f3e5]{padding-right:calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-content[data-v-38a6f3e5],.checkbox-content *[data-v-38a6f3e5]{cursor:pointer;flex-shrink:0}.material-design-icon[data-v-194d90ea]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-194d90ea]{display:flex;align-items:center;color:var(--color-main-text);background-color:transparent;font-size:var(--default-font-size);line-height:var(--default-line-height);padding:0;position:relative;--checkbox-radio-switch--border-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));--checkbox-radio-switch--border-radius-outer: calc(var(--checkbox-radio-switch--border-radius) + 2px)}.checkbox-radio-switch__input[data-v-194d90ea]{position:absolute;z-index:-1;opacity:0!important;width:var(--icon-size);height:var(--icon-size);margin:4px calc((var(--default-clickable-area) - 16px) / 2)}.checkbox-radio-switch__input:focus-visible+.checkbox-radio-switch__content[data-v-194d90ea],.checkbox-radio-switch__input[data-v-194d90ea]:focus-visible{outline:2px solid var(--color-main-text);border-color:var(--color-main-background);outline-offset:-2px}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-194d90ea]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__content[data-v-194d90ea] .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-194d90ea],.checkbox-radio-switch--disabled .checkbox-radio-switch__content.checkbox-content[data-v-194d90ea] *:not(a){cursor:default!important}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked):focus-within .checkbox-radio-switch__content[data-v-194d90ea],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled,.checkbox-radio-switch--checked) .checkbox-radio-switch__content[data-v-194d90ea]:hover{background-color:var(--color-background-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-194d90ea],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-194d90ea]:hover{background-color:var(--color-primary-element-hover)}.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled):focus-within .checkbox-radio-switch__content[data-v-194d90ea],.checkbox-radio-switch--checked:not(.checkbox-radio-switch--button-variant):not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__content[data-v-194d90ea]:hover{background-color:var(--color-primary-element-light-hover)}.checkbox-radio-switch-switch[data-v-194d90ea]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-text-maxcontrast)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked[data-v-194d90ea] .checkbox-radio-switch__icon>*{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-194d90ea]{background-color:var(--color-main-background);border:2px solid var(--color-border-maxcontrast);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-194d90ea]{font-weight:700}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked .checkbox-radio-switch__content[data-v-194d90ea]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.checkbox-radio-switch--button-variant[data-v-194d90ea] .checkbox-radio-switch__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.checkbox-radio-switch--button-variant[data-v-194d90ea]:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon>*{color:var(--color-main-text)}.checkbox-radio-switch--button-variant[data-v-194d90ea] .checkbox-radio-switch__icon:empty{display:none}.checkbox-radio-switch--button-variant[data-v-194d90ea]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped),.checkbox-radio-switch--button-variant .checkbox-radio-switch__content[data-v-194d90ea]{border-radius:var(--checkbox-radio-switch--border-radius)}.checkbox-radio-switch--button-variant-v-grouped .checkbox-radio-switch__content[data-v-194d90ea]{flex-basis:100%;max-width:unset}.checkbox-radio-switch--button-variant-v-grouped[data-v-194d90ea]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-194d90ea]:last-of-type{border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-v-grouped[data-v-194d90ea]:not(:last-of-type){border-bottom:0!important}.checkbox-radio-switch--button-variant-v-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-194d90ea]{margin-bottom:2px}.checkbox-radio-switch--button-variant-v-grouped[data-v-194d90ea]:not(:first-of-type){border-top:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-194d90ea]:first-of-type{border-start-start-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-start-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-194d90ea]:last-of-type{border-start-end-radius:var(--checkbox-radio-switch--border-radius-outer);border-end-end-radius:var(--checkbox-radio-switch--border-radius-outer)}.checkbox-radio-switch--button-variant-h-grouped[data-v-194d90ea]:not(:last-of-type){border-inline-end:0!important}.checkbox-radio-switch--button-variant-h-grouped:not(:last-of-type) .checkbox-radio-switch__content[data-v-194d90ea]{margin-inline-end:2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-194d90ea]:not(:first-of-type){border-inline-start:0!important}.checkbox-radio-switch--button-variant-h-grouped[data-v-194d90ea] .checkbox-radio-switch__text{text-align:center;display:flex;align-items:center}.checkbox-radio-switch--button-variant-h-grouped .checkbox-radio-switch__content[data-v-194d90ea]{flex-direction:column;justify-content:center;width:100%;margin:0;gap:0}.material-design-icon[data-v-fede0c71]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-fede0c71]{display:flex;align-items:center;flex-direction:column;justify-content:center;flex-grow:1}.modal-wrapper .empty-content[data-v-fede0c71]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-fede0c71]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-fede0c71] svg{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}.empty-content__name[data-v-fede0c71]{margin-bottom:10px;text-align:center;font-weight:700;font-size:20px;line-height:30px}.empty-content__description[data-v-fede0c71]{color:var(--color-text-maxcontrast)}.empty-content__action[data-v-fede0c71]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-fede0c71]{margin-top:20px;display:flex}.material-design-icon[data-v-095ea4ce]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-095ea4ce]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-095ea4ce]:focus{border-color:var(--color-primary-element);box-shadow:0 0 .2em var(--color-primary-element);outline:0}.app-sidebar__tab--active[data-v-095ea4ce]{display:block}.material-design-icon[data-v-cfe13af3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-cfe13af3]{background-image:none;display:inline-flex;height:var(--default-clickable-area);padding:0}.vue-crumb[data-v-cfe13af3]:last-child{min-width:0}.vue-crumb:last-child .vue-crumb__separator[data-v-cfe13af3]{display:none}.vue-crumb--hidden[data-v-cfe13af3]{display:none}.vue-crumb__separator[data-v-cfe13af3]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb.vue-crumb--hovered[data-v-cfe13af3] .button-vue{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb[data-v-cfe13af3]:not(:last-child) .button-vue{color:var(--color-text-maxcontrast)}.vue-crumb[data-v-cfe13af3]:not(:last-child) .button-vue:hover,.vue-crumb[data-v-cfe13af3]:not(:last-child) .button-vue:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb[data-v-cfe13af3]:not(:last-child) .button-vue__text{font-weight:400}.vue-crumb[data-v-cfe13af3] .button-vue__text{margin:0}.vue-crumb[data-v-cfe13af3]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-cfe13af3]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px;max-width:100%}.vue-crumb[data-v-cfe13af3]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-cfe13af3]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}.material-design-icon[data-v-629bf30f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-629bf30f]{width:100%;flex-grow:1;display:inline-flex;align-items:center}.breadcrumb--collapsed[data-v-629bf30f] .vue-crumb:last-child{min-width:100px}.breadcrumb nav[data-v-629bf30f]{flex-shrink:1;min-width:0}.breadcrumb .breadcrumb__crumbs[data-v-629bf30f]{max-width:100%}.breadcrumb .breadcrumb__crumbs[data-v-629bf30f],.breadcrumb .breadcrumb__actions[data-v-629bf30f]{display:inline-flex}.material-design-icon[data-v-878b819f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.fade-enter-active[data-v-878b819f],.fade-leave-active[data-v-878b819f]{transition:opacity .3s ease}.fade-enter[data-v-878b819f],.fade-leave-to[data-v-878b819f]{opacity:0}.linked-icons[data-v-878b819f]{display:flex}.linked-icons img[data-v-878b819f]{padding:12px;height:44px;display:block;background-repeat:no-repeat;background-position:center;opacity:.7}.linked-icons img[data-v-878b819f]:hover{opacity:1}.popovermenu[data-v-878b819f]{display:none}.popovermenu.open[data-v-878b819f]{display:block}li.collection-list-item[data-v-878b819f]{flex-wrap:wrap;height:auto;cursor:pointer;margin-bottom:0!important}li.collection-list-item .collection-avatar[data-v-878b819f]{margin-top:0}li.collection-list-item form[data-v-878b819f],li.collection-list-item .collection-item-name[data-v-878b819f]{flex-basis:10%;flex-grow:1;display:flex}li.collection-list-item .collection-item-name[data-v-878b819f]{padding:12px 9px}li.collection-list-item input[data-v-878b819f]{margin-top:4px;border-color:var(--color-border-maxcontrast)}li.collection-list-item input[type=text][data-v-878b819f]{flex-grow:1}li.collection-list-item .error[data-v-878b819f],li.collection-list-item .resource-list-details[data-v-878b819f]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details li[data-v-878b819f]{display:flex;margin-left:44px;border-radius:3px;cursor:pointer}li.collection-list-item .resource-list-details li[data-v-878b819f]:hover{background-color:var(--color-background-dark)}li.collection-list-item .resource-list-details li a[data-v-878b819f]{flex-grow:1;padding:3px;max-width:calc(100% - 30px);display:flex}li.collection-list-item .resource-list-details span[data-v-878b819f]{display:inline-block;vertical-align:top;margin-right:10px}li.collection-list-item .resource-list-details span.resource-name[data-v-878b819f]{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top;white-space:nowrap;flex-grow:1;padding:4px}li.collection-list-item .resource-list-details img[data-v-878b819f]{width:24px;height:24px}li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]{opacity:.7}li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover,li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus{opacity:1}.should-shake[data-v-878b819f]{animation:shake-878b819f .6s 1 linear}@keyframes shake-878b819f{0%{transform:translate(15px)}20%{transform:translate(-15px)}40%{transform:translate(7px)}60%{transform:translate(-7px)}80%{transform:translate(3px)}to{transform:translate(0)}}.material-design-icon[data-v-efe8beb8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.collection-list *[data-v-efe8beb8]{box-sizing:border-box}.collection-list>li[data-v-efe8beb8]{display:flex;align-items:center;gap:12px}.collection-list>li>.avatar[data-v-efe8beb8]{margin-top:0}#collection-select-container[data-v-efe8beb8]{display:flex;flex-direction:column}.v-select span.avatar[data-v-efe8beb8]{display:block;padding:16px;opacity:.7;background-repeat:no-repeat;background-position:center}.v-select span.avatar[data-v-efe8beb8]:hover{opacity:1}p.hint[data-v-efe8beb8]{z-index:1;margin-top:-16px;padding:8px;color:var(--color-text-maxcontrast);line-height:normal}div.avatar[data-v-efe8beb8]{width:32px;height:32px;margin:30px 0 0;padding:8px;background-color:var(--color-background-dark)}.icon-projects[data-v-efe8beb8]{display:block;padding:8px;background-repeat:no-repeat;background-position:center}.option__wrapper[data-v-efe8beb8]{display:flex}.option__wrapper .avatar[data-v-efe8beb8]{display:block;width:32px;height:32px;background-color:var(--color-background-darker)!important}.option__wrapper .option__title[data-v-efe8beb8]{padding:4px}.fade-enter-active[data-v-efe8beb8],.fade-leave-active[data-v-efe8beb8]{transition:opacity .5s}.fade-enter[data-v-efe8beb8],.fade-leave-to[data-v-efe8beb8]{opacity:0}.material-design-icon[data-v-616dda05]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.color-picker[data-v-616dda05]{display:flex;overflow:hidden;align-content:flex-end;flex-direction:column;justify-content:space-between;box-sizing:content-box!important;width:176px;padding:8px;border-radius:3px}.color-picker--advanced-fields[data-v-616dda05]{width:264px}.color-picker__simple[data-v-616dda05]{display:grid;grid-template-columns:repeat(auto-fit,var(--default-clickable-area));grid-auto-rows:var(--default-clickable-area)}.color-picker__simple-color-circle[data-v-616dda05]{display:flex;align-items:center;justify-content:center;width:calc(var(--default-clickable-area) - 10px);height:calc(var(--default-clickable-area) - 10px);min-height:calc(var(--default-clickable-area) - 10px);margin:auto;padding:0;color:#fff;border:1px solid rgba(0,0,0,.25);border-radius:50%;font-size:16px}.color-picker__simple-color-circle[data-v-616dda05]:focus-within{outline:2px solid var(--color-main-text)}.color-picker__simple-color-circle[data-v-616dda05]:hover{opacity:.6}.color-picker__simple-color-circle--active[data-v-616dda05]{width:calc(var(--default-clickable-area) - 6px);height:calc(var(--default-clickable-area) - 6px);min-height:calc(var(--default-clickable-area) - 6px);transition:all .1s ease-in-out;opacity:1!important}.color-picker__advanced[data-v-616dda05]{box-shadow:none!important}.color-picker__navigation[data-v-616dda05]{display:flex;flex-direction:row;justify-content:space-between;margin-top:10px}[data-v-616dda05] .vc-chrome{width:unset;background-color:var(--color-main-background)}[data-v-616dda05] .vc-chrome-color-wrap{width:30px;height:30px}[data-v-616dda05] .vc-chrome-active-color{width:calc(var(--default-clickable-area) - 10 px);height:calc(var(--default-clickable-area) - 10 px);border-radius:17px}[data-v-616dda05] .vc-chrome-body{padding:14px 0 0;background-color:var(--color-main-background)}[data-v-616dda05] .vc-chrome-body .vc-input__input{--input-border-radius: var(--border-radius-element, var(--border-radius-large));--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));width:100%;height:var(--default-clickable-area);margin:0;padding-inline:calc(var(--border-radius-large) + var(--input-border-width-offset));padding-block:var(--input-border-width-offset);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--input-border-radius);font-size:var(--default-font-size);color:var(--color-main-text);box-shadow:none}[data-v-616dda05] .vc-chrome-body .vc-input__input:active:not([disabled]),[data-v-616dda05] .vc-chrome-body .vc-input__input:hover:not([disabled]),[data-v-616dda05] .vc-chrome-body .vc-input__input:focus:not([disabled]){--input-border-width-offset: 0px;border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important}[data-v-616dda05] .vc-chrome-body .vc-input__input:active:not([disabled])+.vc-input__label,[data-v-616dda05] .vc-chrome-body .vc-input__input:hover:not([disabled])+.vc-input__label,[data-v-616dda05] .vc-chrome-body .vc-input__input:focus:not([disabled])+.vc-input__label{color:var(--color-main-text)}[data-v-616dda05] .vc-chrome-body .vc-input__label{position:absolute;inset-inline:var(--border-width-input-focused, 2px);inset-block-start:calc(-1.5 * var(--font-size-small, 13px) / 2);max-width:fit-content;margin-inline:calc(var(--border-radius-large) - var(--default-grid-baseline));margin-block:0;padding-inline:var(--default-grid-baseline);font-family:var(--font-face);font-size:var(--font-size-small, 13px);line-height:1.5;font-weight:500;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);pointer-events:none}[data-v-616dda05] .vc-chrome-toggle-btn{display:flex;justify-content:center;align-items:center;width:var(--default-clickable-area);height:var(--default-clickable-area);margin-left:6px;filter:var(--background-invert-if-dark)}[data-v-616dda05] .vc-chrome-toggle-icon{width:24px;height:24px;margin:0}[data-v-616dda05] .vc-chrome-toggle-icon-highlight{width:var(--default-clickable-area);height:var(--default-clickable-area);top:0;right:0;bottom:0;left:0}[data-v-616dda05] .vc-chrome-saturation-wrap{border-radius:3px}[data-v-616dda05] .vc-chrome-saturation-circle{width:20px;height:20px}.slide-enter[data-v-616dda05]{transform:translate(-50%);opacity:0}.slide-enter-to[data-v-616dda05],.slide-leave[data-v-616dda05]{transform:translate(0);opacity:1}.slide-leave-to[data-v-616dda05]{transform:translate(-50%);opacity:0}.slide-enter-active[data-v-616dda05],.slide-leave-active[data-v-616dda05]{transition:all 50ms ease-in-out}#skip-actions.vue-skip-actions:focus-within{top:0!important;left:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}.material-design-icon[data-v-d8f0539f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-d8f0539f]{background-color:var(--color-main-background);border-radius:var(--border-radius-large);padding:22px}.vue-skip-actions__headline[data-v-d8f0539f]{font-weight:700;font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-d8f0539f]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons>*[data-v-d8f0539f]{flex:1 0 fit-content}.vue-skip-actions__image[data-v-d8f0539f]{margin-top:12px}.content[data-v-d8f0539f]{box-sizing:border-box;margin:var(--body-container-margin);margin-top:var(--header-height);display:flex;width:calc(100% - var(--body-container-margin) * 2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-d8f0539f]:not(.with-sidebar--full){position:fixed}.content[data-v-d8f0539f] *{box-sizing:border-box}.material-design-icon[data-v-11322bad]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-11322bad]{--counter-bubble-height: 22px;font-size:var(--font-size-small, 13px);overflow:hidden;width:fit-content;min-width:var(--counter-bubble-height);text-align:center;line-height:var(--counter-bubble-height);padding:0 calc(1.5 * var(--default-grid-baseline));border-radius:var(--border-radius-pill);background-color:var(--color-primary-element-light);font-weight:700;color:var(--color-primary-element-light-text)}.counter-bubble__counter .active[data-v-11322bad]{color:var(--color-main-background);background-color:var(--color-primary-element-light)}.counter-bubble__counter--highlighted[data-v-11322bad]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.counter-bubble__counter--highlighted.active[data-v-11322bad]{color:var(--color-primary-element);background-color:var(--color-main-background)}.counter-bubble__counter--outlined[data-v-11322bad]{color:var(--color-primary-element);background:transparent;box-shadow:inset 0 0 0 2px}.counter-bubble__counter--outlined.active[data-v-11322bad]{color:var(--color-main-background);box-shadow:inset 0 0 0 2px}.material-design-icon[data-v-53796b97]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.dashboard-widget[data-v-53796b97] .empty-content{text-align:center;padding-top:5vh}.dashboard-widget[data-v-53796b97] .empty-content.half-screen{padding-top:0;margin-bottom:1vh}.more[data-v-53796b97]{display:block;text-align:center;color:var(--color-text-maxcontrast);line-height:60px;cursor:pointer}.more[data-v-53796b97]:hover,.more[data-v-53796b97]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large);color:var(--color-main-text)}.item-list__entry[data-v-53796b97]{display:flex;align-items:flex-start;padding:8px}.item-list__entry .item-avatar[data-v-53796b97]{position:relative;margin-top:auto;margin-bottom:auto;background-color:var(--color-background-dark)!important}.item-list__entry .item__details[data-v-53796b97]{padding-left:8px;max-height:var(--default-clickable-area);flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.item-list__entry .item__details h3[data-v-53796b97],.item-list__entry .item__details .message[data-v-53796b97]{white-space:nowrap;background-color:var(--color-background-dark)}.item-list__entry .item__details h3[data-v-53796b97]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-53796b97]{width:80%;height:15px;margin-top:5px}.material-design-icon[data-v-db766935]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.item-list__entry[data-v-db766935]{display:flex;align-items:center;position:relative;padding:8px}.item-list__entry[data-v-db766935]:hover,.item-list__entry[data-v-db766935]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.item-list__entry .item-avatar[data-v-db766935]{position:relative;margin-top:auto;margin-bottom:auto}.item-list__entry .item__details[data-v-db766935]{padding-inline-start:8px;max-height:fit-content;flex-grow:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:var(--default-clickable-area)}.item-list__entry .item__details h3[data-v-db766935],.item-list__entry .item__details .message[data-v-db766935]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-list__entry .item__details .message span[data-v-db766935]{width:10px;display:inline-block;margin-bottom:-3px}.item-list__entry .item__details h3[data-v-db766935]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-db766935]{width:100%;color:var(--color-text-maxcontrast)}.item-list__entry .item-icon[data-v-db766935]{position:relative;width:14px;height:14px;margin-top:25px;margin-inline:-10px -2px}.item-list__entry button.primary[data-v-db766935]{padding:21px;margin:0}.emoji-mart,.emoji-mart *{box-sizing:border-box;line-height:1.15}.emoji-mart{font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;font-size:16px;display:flex;flex-direction:column;height:420px;color:#222427;border:1px solid #d9d9d9;border-radius:5px;background:#fff}.emoji-mart-emoji{padding:6px;position:relative;display:inline-block;font-size:0;border:none;background:none;box-shadow:none}.emoji-mart-emoji span{display:inline-block}.emoji-mart-preview-emoji .emoji-mart-emoji span{width:38px;height:38px;font-size:32px}.emoji-type-native{font-family:"Segoe UI Emoji",Segoe UI Symbol,Segoe UI,"Apple Color Emoji",Twemoji Mozilla,"Noto Color Emoji",EmojiOne Color,"Android Emoji";word-break:keep-all}.emoji-type-image{background-size:6100%}.emoji-type-image.emoji-set-apple{background-image:url(https://unpkg.com/emoji-datasource-apple@15.0.1/img/apple/sheets-256/64.png)}.emoji-type-image.emoji-set-facebook{background-image:url(https://unpkg.com/emoji-datasource-facebook@15.0.1/img/facebook/sheets-256/64.png)}.emoji-type-image.emoji-set-google{background-image:url(https://unpkg.com/emoji-datasource-google@15.0.1/img/google/sheets-256/64.png)}.emoji-type-image.emoji-set-twitter{background-image:url(https://unpkg.com/emoji-datasource-twitter@15.0.1/img/twitter/sheets-256/64.png)}.emoji-mart-bar{border:0 solid #d9d9d9}.emoji-mart-bar:first-child{border-bottom-width:1px;border-top-left-radius:5px;border-top-right-radius:5px}.emoji-mart-bar:last-child{border-top-width:1px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.emoji-mart-scroll{position:relative;overflow-y:scroll;flex:1;padding:0 6px 6px;z-index:0;will-change:transform;-webkit-overflow-scrolling:touch}.emoji-mart-anchors{display:flex;flex-direction:row;justify-content:space-between;padding:0 6px;color:#858585;line-height:0}.emoji-mart-anchor{position:relative;display:block;flex:1 1 auto;text-align:center;padding:12px 4px;overflow:hidden;transition:color .1s ease-out;border:none;background:none;box-shadow:none}.emoji-mart-anchor:hover,.emoji-mart-anchor-selected{color:#464646}.emoji-mart-anchor-selected .emoji-mart-anchor-bar{bottom:0}.emoji-mart-anchor-bar{position:absolute;bottom:-3px;left:0;width:100%;height:3px;background-color:#464646}.emoji-mart-anchors i{display:inline-block;width:100%;max-width:22px}.emoji-mart-anchors svg{fill:currentColor;max-height:18px}.emoji-mart .scroller{height:250px;position:relative;flex:1;padding:0 6px 6px;z-index:0;will-change:transform;-webkit-overflow-scrolling:touch}.emoji-mart-search{margin-top:6px;padding:0 6px}.emoji-mart-search input{font-size:16px;display:block;width:100%;padding:.2em .6em;border-radius:25px;border:1px solid #d9d9d9;outline:0}.emoji-mart-search-results{height:250px;overflow-y:scroll}.emoji-mart-category{position:relative}.emoji-mart-category .emoji-mart-emoji span{z-index:1;position:relative;text-align:center;cursor:default}.emoji-mart-category .emoji-mart-emoji:hover:before,.emoji-mart-emoji-selected:before{z-index:0;content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f4f4f4;border-radius:100%;opacity:0}.emoji-mart-category .emoji-mart-emoji:hover:before,.emoji-mart-emoji-selected:before{opacity:1}.emoji-mart-category-label{position:-webkit-sticky;position:sticky;top:0}.emoji-mart-static .emoji-mart-category-label{z-index:2;position:relative}.emoji-mart-category-label h3{display:block;font-size:16px;width:100%;font-weight:500;padding:5px 6px;background-color:#fff;background-color:#fffffff2}.emoji-mart-emoji{position:relative;display:inline-block;font-size:0}.emoji-mart-no-results{font-size:14px;text-align:center;padding-top:70px;color:#858585}.emoji-mart-no-results .emoji-mart-category-label{display:none}.emoji-mart-no-results .emoji-mart-no-results-label{margin-top:.2em}.emoji-mart-no-results .emoji-mart-emoji:hover:before{content:none}.emoji-mart-preview{position:relative;height:70px}.emoji-mart-preview-emoji,.emoji-mart-preview-data,.emoji-mart-preview-skins{position:absolute;top:50%;transform:translateY(-50%)}.emoji-mart-preview-emoji{left:12px}.emoji-mart-preview-data{left:68px;right:12px;word-break:break-all}.emoji-mart-preview-skins{right:30px;text-align:right}.emoji-mart-preview-name{font-size:14px}.emoji-mart-preview-shortname{font-size:12px;color:#888}.emoji-mart-preview-shortname+.emoji-mart-preview-shortname,.emoji-mart-preview-shortname+.emoji-mart-preview-emoticon,.emoji-mart-preview-emoticon+.emoji-mart-preview-emoticon{margin-left:.5em}.emoji-mart-preview-emoticon{font-size:11px;color:#bbb}.emoji-mart-title span{display:inline-block;vertical-align:middle}.emoji-mart-title .emoji-mart-emoji{padding:0}.emoji-mart-title-label{color:#999a9c;font-size:21px;font-weight:300}.emoji-mart-skin-swatches{font-size:0;padding:2px 0;border:1px solid #d9d9d9;border-radius:12px;background-color:#fff}.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch{width:16px;padding:0 2px}.emoji-mart-skin-swatches-opened .emoji-mart-skin-swatch-selected:after{opacity:.75}.emoji-mart-skin-swatch{display:inline-block;width:0;vertical-align:middle;transition-property:width,padding;transition-duration:.125s;transition-timing-function:ease-out}.emoji-mart-skin-swatch:nth-child(1){transition-delay:0s}.emoji-mart-skin-swatch:nth-child(2){transition-delay:.03s}.emoji-mart-skin-swatch:nth-child(3){transition-delay:.06s}.emoji-mart-skin-swatch:nth-child(4){transition-delay:.09s}.emoji-mart-skin-swatch:nth-child(5){transition-delay:.12s}.emoji-mart-skin-swatch:nth-child(6){transition-delay:.15s}.emoji-mart-skin-swatch-selected{position:relative;width:16px;padding:0 2px}.emoji-mart-skin-swatch-selected:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;margin:-2px 0 0 -2px;background-color:#fff;border-radius:100%;pointer-events:none;opacity:0;transition:opacity .2s ease-out}.emoji-mart-skin{display:inline-block;width:100%;padding-top:100%;max-width:12px;border-radius:100%}.emoji-mart-skin-tone-1{background-color:#ffc93a}.emoji-mart-skin-tone-2{background-color:#fadcbc}.emoji-mart-skin-tone-3{background-color:#e0bb95}.emoji-mart-skin-tone-4{background-color:#bf8f68}.emoji-mart-skin-tone-5{background-color:#9b643d}.emoji-mart-skin-tone-6{background-color:#594539}.emoji-mart .vue-recycle-scroller{position:relative}.emoji-mart .vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.emoji-mart .vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.emoji-mart .vue-recycle-scroller.direction-horizontal{display:flex}.emoji-mart .vue-recycle-scroller__slot{flex:auto 0 0}.emoji-mart .vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.emoji-mart .vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.emoji-mart .vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.emoji-mart .vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.emoji-mart .vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.emoji-mart .vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.emoji-mart .resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.emoji-mart .resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.emoji-mart-search .hidden{display:none;visibility:hidden}.emoji-mart{background-color:var(--color-main-background)!important;border:0;color:var(--color-main-text)!important}.emoji-mart button{margin:0;padding:0;border:none;background:transparent;font-size:inherit;height:36px;width:auto}.emoji-mart button *{cursor:pointer!important}.emoji-mart .emoji-mart-bar,.emoji-mart .emoji-mart-anchors,.emoji-mart .emoji-mart-search,.emoji-mart .emoji-mart-search input,.emoji-mart .emoji-mart-category,.emoji-mart .emoji-mart-category-label,.emoji-mart .emoji-mart-category-label span,.emoji-mart .emoji-mart-skin-swatches{background-color:transparent!important;border-color:var(--color-border)!important;color:inherit!important}.emoji-mart .emoji-mart-search input:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}.emoji-mart .emoji-mart-bar:first-child{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.emoji-mart .emoji-mart-anchors button{border-radius:0;padding:12px 4px;height:auto}.emoji-mart .emoji-mart-anchors button:focus-visible{outline:2px solid var(--color-primary-element)}.emoji-mart .emoji-mart-category{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:start}.emoji-mart .emoji-mart-category .emoji-mart-category-label,.emoji-mart .emoji-mart-category .emoji-mart-emoji{-webkit-user-select:none;user-select:none;flex-grow:0;flex-shrink:0}.emoji-mart .emoji-mart-category .emoji-mart-category-label{flex-basis:100%;margin:0}.emoji-mart .emoji-mart-category .emoji-mart-emoji{flex-basis:12.5%;text-align:center}.emoji-mart .emoji-mart-category .emoji-mart-emoji:hover:before,.emoji-mart .emoji-mart-category .emoji-mart-emoji.emoji-mart-emoji-selected:before{background-color:var(--color-background-hover)!important;outline:2px solid var(--color-primary-element);border-radius:var(--border-radius-element, var(--border-radius-pill))}.emoji-mart .emoji-mart-category button:focus-visible{background-color:var(--color-background-hover);border:2px solid var(--color-primary-element)!important;border-radius:var(--border-radius-element, var(--border-radius-pill))}.material-design-icon[data-v-ed4adfc3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.search__wrapper[data-v-ed4adfc3]{display:flex;flex-direction:row;gap:4px;align-items:end;padding:4px 8px}.row-selected button[data-v-ed4adfc3],.row-selected span[data-v-ed4adfc3]{vertical-align:middle}.emoji-delete[data-v-ed4adfc3]{vertical-align:top;margin-left:-21px;margin-top:-3px}.material-design-icon[data-v-cbad78fb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#guest-content-vue[data-v-cbad78fb]{color:var(--color-main-text);background-color:var(--color-main-background);min-width:0;border-radius:var(--border-radius-large);box-shadow:0 0 10px var(--color-box-shadow);height:fit-content;padding:15px;margin:20px auto}#content.nc-guest-content{overflow:auto;margin-bottom:0;height:calc(var(--body-height) + var(--body-container-margin))}.material-design-icon[data-v-aacc997d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.header-menu[data-v-aacc997d]{position:relative;width:var(--header-height);height:var(--header-height)}.header-menu .header-menu__trigger[data-v-aacc997d]{--button-size: var(--header-height) !important;height:var(--header-height);opacity:.85;filter:none!important;color:var(--color-background-plain-text, var(--color-primary-text))!important}.header-menu .header-menu__trigger[data-v-aacc997d]:focus-visible{outline:none!important;box-shadow:none!important}.header-menu--opened .header-menu__trigger[data-v-aacc997d],.header-menu__trigger[data-v-aacc997d]:hover,.header-menu__trigger[data-v-aacc997d]:focus,.header-menu__trigger[data-v-aacc997d]:active{opacity:1}@media only screen and (max-width: 512px){.header-menu[data-v-aacc997d]{width:var(--default-clickable-area)}.header-menu .header-menu__trigger[data-v-aacc997d]{--button-size: var(--default-clickable-area) !important}}.material-design-icon[data-v-0cca0699]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}/*! * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later - */.header-menu[data-v-0cca0699]{position:relative;width:var(--header-height);height:var(--header-height)}.header-menu .header-menu__trigger[data-v-0cca0699]{--button-size: var(--header-height) !important;height:var(--header-height);opacity:.85;filter:none!important;color:var(--color-background-plain-text, var(--color-primary-text))!important}.header-menu .header-menu__trigger[data-v-0cca0699]:focus-visible{outline:none!important;box-shadow:none!important}.header-menu--opened .header-menu__trigger[data-v-0cca0699],.header-menu__trigger[data-v-0cca0699]:hover,.header-menu__trigger[data-v-0cca0699]:focus,.header-menu__trigger[data-v-0cca0699]:active{opacity:1}@media only screen and (max-width: 512px){.header-menu[data-v-0cca0699]{width:var(--default-clickable-area)}.header-menu .header-menu__trigger[data-v-0cca0699]{--button-size: var(--default-clickable-area) !important}}.header-menu__wrapper[data-v-0cca0699]{position:fixed;z-index:2000;top:var(--header-height);inset-inline-end:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);border-radius:var(--border-radius-large);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow))}.header-menu__carret[data-v-0cca0699]{position:absolute;z-index:2001;bottom:0;inset-inline-start:calc(50% - 10px);width:0;height:0;content:" ";pointer-events:none;border:10px solid transparent;border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-0cca0699]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:calc(var(--default-clickable-area) * 1.5);max-height:calc(100vh - var(--header-height) * 2)}.header-menu__content[data-v-0cca0699] .empty-content{margin:12vh 10px}.material-design-icon[data-v-fc96ebfb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-fc96ebfb]{display:flex;position:relative;width:100%;padding:2px 4px}.list-item__wrapper[data-v-fc96ebfb]:first-of-type{padding-block-start:4px}.list-item__wrapper[data-v-fc96ebfb]:last-of-type{padding-block-end:4px}.list-item__wrapper--active .list-item[data-v-fc96ebfb],.list-item__wrapper.active .list-item[data-v-fc96ebfb]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)!important}.list-item__wrapper--active .list-item[data-v-fc96ebfb]:hover,.list-item__wrapper--active .list-item[data-v-fc96ebfb]:focus-within,.list-item__wrapper--active .list-item[data-v-fc96ebfb]:has(:focus-visible),.list-item__wrapper--active .list-item[data-v-fc96ebfb]:has(:active),.list-item__wrapper.active .list-item[data-v-fc96ebfb]:hover,.list-item__wrapper.active .list-item[data-v-fc96ebfb]:focus-within,.list-item__wrapper.active .list-item[data-v-fc96ebfb]:has(:focus-visible),.list-item__wrapper.active .list-item[data-v-fc96ebfb]:has(:active){background-color:var(--color-primary-element-hover)}.list-item__wrapper--active .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper--active .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper--active .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper--active .list-item-details__details[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper.active .list-item-details__details[data-v-fc96ebfb]{color:var(--color-primary-element-text)!important}.list-item__wrapper .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper .list-item-details__details[data-v-fc96ebfb]{white-space:nowrap;margin:0 auto 0 0;overflow:hidden;text-overflow:ellipsis}.list-item-content__name[data-v-fc96ebfb]{min-width:100px;flex:1 1 10%;font-weight:500}.list-item-content__subname[data-v-fc96ebfb]{flex:1 0;min-width:0;color:var(--color-text-maxcontrast)}.list-item-content__subname--bold[data-v-fc96ebfb]{font-weight:500}.list-item[data-v-fc96ebfb]{--list-item-padding: var(--default-grid-baseline);--list-item-height: 2lh;--list-item-border-radius: var(--border-radius-element, 32px);box-sizing:border-box;display:flex;position:relative;flex:0 0 auto;justify-content:flex-start;padding:var(--list-item-padding);width:100%;border-radius:var(--border-radius-element, 32px);cursor:pointer;transition:background-color var(--animation-quick) ease-in-out;list-style:none}.list-item[data-v-fc96ebfb]:hover,.list-item[data-v-fc96ebfb]:focus-within,.list-item[data-v-fc96ebfb]:has(:active),.list-item[data-v-fc96ebfb]:has(:focus-visible){background-color:var(--color-background-hover)}.list-item[data-v-fc96ebfb]:has(.list-item__anchor:focus-visible){outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background)}.list-item--compact[data-v-fc96ebfb]{--list-item-padding: calc(.5 * var(--default-grid-baseline)) var(--default-grid-baseline)}.list-item--compact[data-v-fc96ebfb]:not(:has(.list-item-content__subname)){--list-item-height: var(--default-clickable-area)}.list-item--legacy[data-v-fc96ebfb]{--list-item-padding: calc(2 * var(--default-grid-baseline))}.list-item--legacy.list-item--compact[data-v-fc96ebfb]{--list-item-padding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline))}.list-item--one-line[data-v-fc96ebfb]{--list-item-height: var(--default-clickable-area);--list-item-border-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));--list-item-padding: var(--default-grid-baseline)}.list-item--one-line.list-item--one-line--legacy[data-v-fc96ebfb]{--list-item-padding: 2px calc((var(--list-item-height) - var(--list-item-border-radius)) / 2)}.list-item--one-line .list-item-content__main[data-v-fc96ebfb]{display:flex;justify-content:start;gap:12px;min-width:0}.list-item--one-line .list-item-content__details[data-v-fc96ebfb]{flex-direction:row;align-items:center;justify-content:end}.list-item--one-line .list-item-content__name[data-v-fc96ebfb]{align-self:center;max-width:300px}.list-item__anchor[data-v-fc96ebfb]{color:inherit;display:flex;flex:1 0 auto;align-items:center;height:var(--list-item-height);min-width:0}.list-item__anchor[data-v-fc96ebfb]:focus-visible{outline:none}.list-item-content[data-v-fc96ebfb]{display:flex;flex:1 0;justify-content:space-between;padding-left:calc(2 * var(--default-grid-baseline));min-width:0}.list-item-content__main[data-v-fc96ebfb]{flex:1 0;width:0;margin:auto 0}.list-item-content__main--oneline[data-v-fc96ebfb]{display:flex}.list-item-content__details[data-v-fc96ebfb]{display:flex;flex-direction:column;justify-content:end;align-items:end}.list-item-content__actions[data-v-fc96ebfb],.list-item-content__extra-actions[data-v-fc96ebfb]{flex:0 0 auto;align-self:center;justify-content:center;margin-left:var(--default-grid-baseline)}.list-item-content__extra-actions[data-v-fc96ebfb]{display:flex;align-items:center;gap:var(--default-grid-baseline)}.list-item-details__details[data-v-fc96ebfb]{color:var(--color-text-maxcontrast);margin:0 9px!important;font-weight:400}.list-item-details__extra[data-v-fc96ebfb]{margin:2px 4px 0;display:flex;align-items:center}.list-item-details__indicator[data-v-fc96ebfb]{margin:0 5px}.list-item__extra[data-v-fc96ebfb]{margin-top:var(--default-grid-baseline)}.material-design-icon[data-v-5e97fe1f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.progress-bar[data-v-5e97fe1f]{display:block;height:var(--progress-bar-height);--progress-bar-color: var(--497e8a2b)}.progress-bar--linear[data-v-5e97fe1f]{width:100%;overflow:hidden;border:0;padding:0;background:var(--color-background-dark);border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--linear[data-v-5e97fe1f]::-webkit-progress-bar{height:var(--progress-bar-height);background-color:transparent}.progress-bar--linear[data-v-5e97fe1f]::-webkit-progress-value{background:var(--progress-bar-color, var(--gradient-primary-background));border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--linear[data-v-5e97fe1f]::-moz-progress-bar{background:var(--progress-bar-color, var(--gradient-primary-background));border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--circular[data-v-5e97fe1f]{width:var(--progress-bar-height);color:var(--progress-bar-color, var(--color-primary-element))}.progress-bar--error[data-v-5e97fe1f]{color:var(--color-error)!important}.progress-bar--error[data-v-5e97fe1f]::-moz-progress-bar{background:var(--color-error)!important}.progress-bar--error[data-v-5e97fe1f]::-webkit-progress-value{background:var(--color-error)!important}.material-design-icon[data-v-de46bdbe]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.team-resources__header[data-v-de46bdbe]{font-weight:700;margin-bottom:6px}.related-team[data-v-de46bdbe]{border-radius:var(--border-radius-rounded);border:2px solid var(--color-border-dark);margin-bottom:6px}.related-team__open[data-v-de46bdbe]{border-color:var(--color-primary-element)}.related-team__header[data-v-de46bdbe]{padding:6px 24px 6px 6px;display:flex;gap:12px}.related-team__name[data-v-de46bdbe]{display:flex;flex-grow:1;align-items:center;gap:12px;padding:6px 12px;font-weight:700;margin:0}.related-team .related-team-provider[data-v-de46bdbe]{padding:6px 12px}.related-team .related-team-provider__name[data-v-de46bdbe]{font-weight:700;margin-bottom:3px}.related-team .related-team-provider__link[data-v-de46bdbe]{display:flex;gap:12px;padding:6px 12px;font-weight:700}.related-team .related-team-resource__link[data-v-de46bdbe]{display:flex;gap:12px;height:var(--default-clickable-area);align-items:center;border-radius:var(--border-radius-large)}.related-team .related-team-resource__link[data-v-de46bdbe]:hover{background-color:var(--color-background-hover)}.related-team .related-team-resource__link[data-v-de46bdbe]:focus{background-color:var(--color-background-hover);outline:2px solid var(--color-primary-element)}.related-team .related-team-resource .resource__icon[data-v-de46bdbe]{width:var(--default-clickable-area);height:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;text-align:center}.related-team .related-team-resource .resource__icon>img[data-v-de46bdbe]{border-radius:var(--border-radius-pill);overflow:hidden;width:32px;height:32px}.material-design-icon[data-v-ac1115a7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resource[data-v-ac1115a7]{display:flex;align-items:center;height:var(--default-clickable-area)}.resource__button[data-v-ac1115a7]{width:100%!important;justify-content:flex-start!important;padding:0!important}.resource__button[data-v-ac1115a7] .button-vue__wrapper{justify-content:flex-start!important}.resource__button[data-v-ac1115a7] .button-vue__wrapper .button-vue__text{font-weight:400!important;margin-left:2px!important}.resource__icon[data-v-ac1115a7]{width:32px;height:32px;background-color:var(--color-text-maxcontrast);border-radius:50%;display:flex;align-items:center;justify-content:center}.resource__icon img[data-v-ac1115a7]{width:16px;height:16px;filter:var(--background-invert-if-dark)}.material-design-icon[data-v-badd46a9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.related-resources__header h5[data-v-badd46a9]{font-weight:700;margin-bottom:6px}.related-resources__header p[data-v-badd46a9]{color:var(--color-text-maxcontrast)}.material-design-icon[data-v-98c79945]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-98c79945]{display:flex;align-items:center;gap:var(--default-grid-baseline);line-height:1.2;--auto-complete-result-avatar-size: var(--default-clickable-area)}.autocomplete-result__icon[data-v-98c79945]{position:relative;flex:0 0 var(--default-clickable-area);width:var(--default-clickable-area);min-width:var(--default-clickable-area);height:var(--default-clickable-area);border-radius:var(--default-clickable-area);background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:contain}.autocomplete-result__icon--with-avatar[data-v-98c79945]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-98c79945]{--auto-complete-result-status-icon-size: clamp(14px, var(--auto-complete-result-avatar-size) * .4, 18px);--auto-complete-result-status-icon-position: calc(var(--auto-complete-result-avatar-size) / 2 * (1 - 1 / sqrt(2)) - var(--auto-complete-result-status-icon-size) / 2);box-sizing:border-box;position:absolute;right:var(--auto-complete-result-status-icon-position);bottom:var(--auto-complete-result-status-icon-position);height:var(--auto-complete-result-status-icon-size);width:var(--auto-complete-result-status-icon-size);border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:calc(var(--auto-complete-result-status-icon-size) / 1.2);line-height:1.2;background-repeat:no-repeat;background-size:var(--auto-complete-result-status-icon-size);background-position:center}.autocomplete-result__status--icon[data-v-98c79945]{border:none;background-color:transparent}.autocomplete-result__content[data-v-98c79945]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.autocomplete-result__title[data-v-98c79945],.autocomplete-result__subline[data-v-98c79945]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-98c79945]{color:var(--color-text-maxcontrast)}.material-design-icon[data-v-b1993e79]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable[data-v-b1993e79]{--contenteditable-block-offset: calc(2 * var(--default-grid-baseline));--contenteditable-inline-start-offset: calc(2 * var(--default-grid-baseline));--contenteditable-inline-end-offset: calc(2 * var(--default-grid-baseline));position:relative;width:auto}.rich-contenteditable__label[data-v-b1993e79]{position:absolute;margin-inline:14px;max-width:fit-content;inset-block-start:11px;inset-inline:0;color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.rich-contenteditable__input:focus+.rich-contenteditable__label[data-v-b1993e79],.rich-contenteditable__input:not(.rich-contenteditable__input--empty)+.rich-contenteditable__label[data-v-b1993e79]{inset-block-start:-10px;line-height:1.5;font-size:13px;font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:5px;margin-inline:9px;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.rich-contenteditable__input[data-v-b1993e79]{overflow-y:auto;width:auto;margin:0;padding-block:var(--contenteditable-block-offset);padding-inline:var(--contenteditable-inline-start-offset) var(--contenteditable-inline-end-offset);cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:var(--default-clickable-area);max-height:calc(var(--default-clickable-area) * 5.5)}.rich-contenteditable__input--has-label[data-v-b1993e79]{margin-top:10px}.rich-contenteditable__input--empty[data-v-b1993e79]:focus:before,.rich-contenteditable__input--empty[data-v-b1993e79]:not(.rich-contenteditable__input--has-label):before{content:attr(aria-placeholder);color:var(--color-text-maxcontrast);position:absolute;width:calc(100% - var(--contenteditable-inline-start-offset) - var(--contenteditable-inline-end-offset));height:calc(100% - 2 * var(--contenteditable-block-offset));overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rich-contenteditable__input[contenteditable=false][data-v-b1993e79]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:transparent;color:var(--color-main-text);border-color:transparent;opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-b1993e79]{min-height:calc(var(--default-clickable-area) * 3);max-height:none}.rich-contenteditable__input--disabled[data-v-b1993e79]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}._material-design-icon_1o935_12{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._tribute-container_1o935_20{z-index:9000;overflow:auto;position:absolute;left:-10000px;margin:var(--default-grid-baseline) 0;padding:var(--default-grid-baseline);color:var(--color-text-maxcontrast);border-radius:var(--border-radius-element, var(--border-radius));background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}._tribute-container_1o935_20,._tribute-container_1o935_20 *{box-sizing:border-box}._tribute-container_1o935_20 ul{display:flex;flex-direction:column;gap:var(--default-grid-baseline)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40{color:var(--color-text-maxcontrast);border-radius:var(--border-radius-small, var(--border-radius));padding:var(--default-grid-baseline);cursor:pointer;min-height:var(--clickable-area-small, auto)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight{color:var(--color-main-text);background:var(--color-background-hover)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight,._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight *{cursor:pointer}._tribute-container_1o935_20._tribute-container--focus-visible_1o935_54 .highlight._tribute-container__item_1o935_40{outline:2px solid var(--color-main-text)!important}._tribute-container-autocomplete_1o935_58{min-width:250px;max-width:300px;max-height:calc((var(--default-clickable-area) + 3 * var(--default-grid-baseline)) * 4.5 - 1.5 * var(--default-grid-baseline))}._tribute-container-emoji_1o935_64,._tribute-container-link_1o935_65{min-width:200px;max-width:200px;max-height:calc((24px + 3 * var(--default-grid-baseline)) * 5.5 - 1.5 * var(--default-grid-baseline))}._tribute-container-emoji_1o935_64 ._tribute-item_1o935_70,._tribute-container-link_1o935_65 ._tribute-item_1o935_70{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tribute-container-link_1o935_65{min-width:200px;max-width:300px}._tribute-container-link_1o935_65 ._tribute-item_1o935_70{display:flex;align-items:center}._tribute-container-link_1o935_65 ._tribute-item__title_1o935_85{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tribute-container-link_1o935_65 ._tribute-item__icon_1o935_90{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:var(--default-grid-baseline);filter:var(--background-invert-if-dark)}.material-design-icon[data-v-2677cf0e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list[data-v-2677cf0e]{width:100%;min-height:var(--default-clickable-area)}.material-design-icon[data-v-4eb997e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.task-list-item>ul[data-v-4eb997e3],li.task-list-item>ol[data-v-4eb997e3],li.task-list-item>li[data-v-4eb997e3],li.task-list-item>blockquote[data-v-4eb997e3],li.task-list-item>pre[data-v-4eb997e3]{margin-inline-start:15px;margin-block-end:0}.rich-text--wrapper[data-v-4eb997e3]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-4eb997e3],.rich-text--wrapper .rich-text-component[data-v-4eb997e3]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-4eb997e3]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-4eb997e3]:after{content:" ↗"}.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-4eb997e3]{list-style:decimal}.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-4eb997e3]{list-style:initial}.rich-text--wrapper .rich-text--list-item[data-v-4eb997e3]{white-space:initial;color:var(--color-text-light);padding:initial;margin-left:20px}.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-4eb997e3]{list-style:none;white-space:initial;color:var(--color-text-light)}.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-4eb997e3]{min-height:initial}.rich-text--wrapper .rich-text--strong[data-v-4eb997e3]{white-space:initial;font-weight:700;color:var(--color-text-light)}.rich-text--wrapper .rich-text--italic[data-v-4eb997e3]{white-space:initial;font-style:italic;color:var(--color-text-light)}.rich-text--wrapper .rich-text--heading[data-v-4eb997e3]{white-space:initial;font-size:initial;color:var(--color-text-light);margin-bottom:5px;margin-top:5px;font-weight:700}.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-4eb997e3]{font-size:20px}.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-4eb997e3]{font-size:19px}.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-4eb997e3]{font-size:18px}.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-4eb997e3]{font-size:17px}.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-4eb997e3]{font-size:16px}.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-4eb997e3]{font-size:15px}.rich-text--wrapper .rich-text--hr[data-v-4eb997e3]{border-top:1px solid var(--color-border-dark);border-bottom:0}.rich-text--wrapper .rich-text--pre[data-v-4eb997e3]{border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);padding:5px}.rich-text--wrapper .rich-text--code[data-v-4eb997e3]{background-color:var(--color-background-dark)}.rich-text--wrapper .rich-text--blockquote[data-v-4eb997e3]{border-left:3px solid var(--color-border-dark);padding-left:5px}.rich-text--wrapper .rich-text--table[data-v-4eb997e3]{border-collapse:collapse}.rich-text--wrapper .rich-text--table thead tr th[data-v-4eb997e3]{border:1px solid var(--color-border-dark);font-weight:700;padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr td[data-v-4eb997e3]{border:1px solid var(--color-border-dark);padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr[data-v-4eb997e3]:nth-child(2n){background-color:var(--color-background-dark)}.rich-text--wrapper-markdown div>*[data-v-4eb997e3]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-4eb997e3]:first-child{margin-top:0!important}.rich-text--wrapper-markdown div>*[data-v-4eb997e3]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-4eb997e3]:last-child{margin-bottom:0!important}.rich-text--wrapper-markdown h1[data-v-4eb997e3],.rich-text--wrapper-markdown h2[data-v-4eb997e3],.rich-text--wrapper-markdown h3[data-v-4eb997e3],.rich-text--wrapper-markdown h4[data-v-4eb997e3],.rich-text--wrapper-markdown h5[data-v-4eb997e3],.rich-text--wrapper-markdown h6[data-v-4eb997e3],.rich-text--wrapper-markdown p[data-v-4eb997e3],.rich-text--wrapper-markdown ul[data-v-4eb997e3],.rich-text--wrapper-markdown ol[data-v-4eb997e3],.rich-text--wrapper-markdown blockquote[data-v-4eb997e3],.rich-text--wrapper-markdown pre[data-v-4eb997e3]{margin-top:0;margin-bottom:1em}.rich-text--wrapper-markdown h1[data-v-4eb997e3],.rich-text--wrapper-markdown h2[data-v-4eb997e3],.rich-text--wrapper-markdown h3[data-v-4eb997e3],.rich-text--wrapper-markdown h4[data-v-4eb997e3],.rich-text--wrapper-markdown h5[data-v-4eb997e3],.rich-text--wrapper-markdown h6[data-v-4eb997e3]{font-weight:700}.rich-text--wrapper-markdown h1[data-v-4eb997e3]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-4eb997e3],.rich-text--wrapper-markdown ol[data-v-4eb997e3]{padding-left:15px}.rich-text--wrapper-markdown ul[data-v-4eb997e3]{list-style-type:disc}.rich-text--wrapper-markdown ul.contains-task-list[data-v-4eb997e3]{list-style-type:none;padding:0}.rich-text--wrapper-markdown table[data-v-4eb997e3]{border-collapse:collapse;border:2px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-4eb997e3],.rich-text--wrapper-markdown table td[data-v-4eb997e3]{padding:var(--default-grid-baseline);border:1px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-4eb997e3]:first-child,.rich-text--wrapper-markdown table td[data-v-4eb997e3]:first-child{border-left:0}.rich-text--wrapper-markdown table th[data-v-4eb997e3]:last-child,.rich-text--wrapper-markdown table td[data-v-4eb997e3]:last-child{border-right:0}.rich-text--wrapper-markdown table tr:first-child th[data-v-4eb997e3]{border-top:0}.rich-text--wrapper-markdown table tr:last-child td[data-v-4eb997e3]{border-bottom:0}.rich-text--wrapper-markdown blockquote[data-v-4eb997e3]{padding-left:13px;border-left:2px solid var(--color-border-dark);color:var(--color-text-lighter)}.rich-text--wrapper-markdown pre[data-v-4eb997e3]:has(.hljs){color:var(--hljs-color);background:var(--hljs-background-color)}.rich-text--wrapper-markdown .hljs-doctag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-keyword[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta .hljs-keyword[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-template-tag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-template-variable[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-type[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-variable.language_[data-v-4eb997e3]{color:var(--hljs-syntax-keyword-color)}.rich-text--wrapper-markdown .hljs-title[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.class_[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.class_.inherited__[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.function_[data-v-4eb997e3]{color:var(--hljs-syntax-entity-color)}.rich-text--wrapper-markdown .hljs-attr[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-attribute[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-literal[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-number[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-operator[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-variable[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-attr[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-class[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-id[data-v-4eb997e3]{color:var(--hljs-syntax-constant-color)}.rich-text--wrapper-markdown .hljs-regexp[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-string[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta .hljs-string[data-v-4eb997e3]{color:var(--hljs-syntax-string-color)}.rich-text--wrapper-markdown .hljs-built_in[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-symbol[data-v-4eb997e3]{color:var(--hljs-syntax-variable-color)}.rich-text--wrapper-markdown .hljs-comment[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-code[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-formula[data-v-4eb997e3]{color:var(--hljs-syntax-comment-color)}.rich-text--wrapper-markdown .hljs-name[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-quote[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-tag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-pseudo[data-v-4eb997e3]{color:var(--hljs-syntax-entity-tag-color)}.rich-text--wrapper-markdown .hljs-subst[data-v-4eb997e3]{color:var(--hljs-syntax-storage-modifier-import-color)}.rich-text--wrapper-markdown .hljs-section[data-v-4eb997e3]{color:var(--hljs-syntax-markup-heading-color);font-weight:700}.rich-text--wrapper-markdown .hljs-bullet[data-v-4eb997e3]{color:var(--hljs-syntax-markup-list-color)}.rich-text--wrapper-markdown .hljs-emphasis[data-v-4eb997e3]{color:var(--hljs-syntax-markup-italic-color);font-style:italic}.rich-text--wrapper-markdown .hljs-strong[data-v-4eb997e3]{color:var(--hljs-syntax-markup-bold-color);font-weight:700}.rich-text--wrapper-markdown .hljs-addition[data-v-4eb997e3]{color:var(--hljs-syntax-markup-inserted-color);background-color:var(--hljs-syntax-markup-inserted-background-color)}.rich-text--wrapper-markdown .hljs-deletion[data-v-4eb997e3]{color:var(--hljs-syntax-markup-deleted-color);background-color:var(--hljs-syntax-markup-deleted-background-color)}@media (prefers-color-scheme: light){.rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}[data-theme-dark] .rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}}@media (prefers-color-scheme: dark){.rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}[data-theme-light] .rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}}a[data-v-4eb997e3]:not(.rich-text--component){text-decoration:underline}.material-design-icon[data-v-ea9434d3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-custom.full-width[data-v-ea9434d3]{width:var(--widget-full-width, 100%)!important;left:calc((var(--widget-full-width, 100%) - 100%) / 2 * -1);position:relative}.widget-access[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;padding:calc(var(--default-grid-baseline, 4px) * 3)}.widget-default[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-default--compact[data-v-ea9434d3]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-ea9434d3]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-ea9434d3]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px) * 2);padding-bottom:calc(var(--default-grid-baseline, 4px) * 2)}.widget-default--compact .widget-default--description[data-v-ea9434d3]{display:none}.widget-default--image[data-v-ea9434d3]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--name[data-v-ea9434d3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.widget-default--details[data-v-ea9434d3]{padding:calc(var(--default-grid-baseline, 4px) * 3);width:60%}.widget-default--details p[data-v-ea9434d3]{margin:0;padding:0}.widget-default--description[data-v-ea9434d3]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-ea9434d3]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-interactive[data-v-ea9434d3]{position:relative}.toggle-interactive .toggle-interactive--button[data-v-ea9434d3]{position:absolute;bottom:var(--default-grid-baseline);right:var(--default-grid-baseline);z-index:10000}.material-design-icon[data-v-de9850e4],.material-design-icon[data-v-e54e09d6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-e54e09d6]{width:100%;min-height:400px;padding:0 16px 16px;display:flex;flex-direction:column}.provider-list--select[data-v-e54e09d6]{width:100%}.provider-list--select .provider[data-v-e54e09d6]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-e54e09d6]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-e54e09d6]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-e54e09d6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-3c1803b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-3c1803b5]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto;padding:0 16px 16px}.raw-link .input-wrapper[data-v-3c1803b5]{width:100%}.raw-link .reference-widget[data-v-3c1803b5]{display:flex}.raw-link--empty-content .provider-icon[data-v-3c1803b5]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-3c1803b5]{width:99%}.material-design-icon[data-v-8571023b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-8571023b]{display:flex;align-items:center;height:var(--default-clickable-area);overflow:hidden}.result--icon-class[data-v-8571023b],.result--image[data-v-8571023b]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-8571023b],.result--image.rounded[data-v-8571023b]{border-radius:50%}.result--content[data-v-8571023b]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--name[data-v-8571023b],.result--content--subline[data-v-8571023b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-05fef988]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-05fef988]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px}.smart-picker-search.with-empty-content[data-v-05fef988]{min-height:400px}.smart-picker-search .provider-icon[data-v-05fef988]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-05fef988],.smart-picker-search--select .search-result[data-v-05fef988]{width:100%}.smart-picker-search--select .group-name-icon[data-v-05fef988],.smart-picker-search--select .option-simple-icon[data-v-05fef988]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-05fef988]{height:var(--default-clickable-area);display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-05fef988]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-cd33df8e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-cd33df8e],.reference-picker .custom-element-wrapper[data-v-cd33df8e],.reference-picker .custom-element-wrapper .custom-element[data-v-cd33df8e]{display:flex;overflow-y:auto;width:100%}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex!important}.material-design-icon[data-v-a742c4c2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-a742c4c2]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-a742c4c2],.reference-picker-modal--content .back-button[data-v-a742c4c2]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-a742c4c2]{left:4px}.reference-picker-modal--content .close-button[data-v-a742c4c2]{right:4px}.reference-picker-modal--content>h2[data-v-a742c4c2]{display:flex;margin:12px 0 20px}.reference-picker-modal--content>h2 .icon[data-v-a742c4c2]{margin-right:8px}.material-design-icon[data-v-0907eb0a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-wrapper[data-v-0907eb0a]{display:flex;align-items:center;flex-wrap:wrap;width:100%;max-width:400px}.input-wrapper .action-input__label[data-v-0907eb0a]{margin-right:12px}.input-wrapper[data-v-0907eb0a]:disabled{cursor:default}.input-wrapper .hint[data-v-0907eb0a]{color:var(--color-text-maxcontrast);margin-left:8px}.material-design-icon[data-v-6f6953b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-6f6953b5]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-6f6953b5]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section--limit-width>*[data-v-6f6953b5]{max-width:900px}.settings-section__name[data-v-6f6953b5]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;max-width:900px;margin-top:0}.settings-section__info[data-v-6f6953b5]{display:flex;align-items:center;justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--default-clickable-area) - 16px) / 2 * -1);margin-inline-start:0;color:var(--color-text-maxcontrast)}.settings-section__info[data-v-6f6953b5]:hover,.settings-section__info[data-v-6f6953b5]:focus,.settings-section__info[data-v-6f6953b5]:active{color:var(--color-main-text)}.settings-section__desc[data-v-6f6953b5]{margin-top:-.2em;margin-bottom:1em;color:var(--color-text-maxcontrast);max-width:900px}.material-design-icon[data-v-a53a2bb4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.select-group-error[data-v-a53a2bb4]{color:var(--color-error);font-size:13px;padding-inline-start:var(--border-radius-large)}.material-design-icon[data-v-c89174d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.textarea[data-v-c89174d0]{position:relative;width:100%;border-radius:var(--border-radius-large);margin-block-start:6px;resize:vertical}.textarea__main-wrapper[data-v-c89174d0]{position:relative}.textarea--disabled[data-v-c89174d0]{opacity:.7;filter:saturate(.7)}.textarea__input[data-v-c89174d0]{margin:0;padding-inline:10px 6px;width:100%;height:calc(var(--default-clickable-area) * 2);font-size:var(--default-font-size);text-overflow:ellipsis;background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--border-radius-large);cursor:pointer}.textarea__input[data-v-c89174d0]:active:not([disabled]),.textarea__input[data-v-c89174d0]:hover:not([disabled]),.textarea__input[data-v-c89174d0]:focus:not([disabled]){border-width:var(--border-width-input-focused, 2px);border-color:var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)!important}.textarea__input[data-v-c89174d0]:not(:focus,.textarea__input--label-outside)::placeholder{opacity:0}.textarea__input[data-v-c89174d0]:focus{cursor:text}.textarea__input[data-v-c89174d0]:disabled{cursor:default}.textarea__input[data-v-c89174d0]:focus-visible{box-shadow:unset!important}.textarea__input--success[data-v-c89174d0]{border-color:var(--color-success)!important}.textarea__input--success[data-v-c89174d0]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__input--error[data-v-c89174d0]{border-color:var(--color-error)!important}.textarea__input--error[data-v-c89174d0]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__label[data-v-c89174d0]{position:absolute;margin-inline:12px 0;max-width:fit-content;inset-block-start:11px;inset-inline:0;color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.textarea__input:focus+.textarea__label[data-v-c89174d0],.textarea__input:not(:placeholder-shown)+.textarea__label[data-v-c89174d0]{inset-block-start:-10px;line-height:1.5;font-size:13px;font-weight:500;color:var(--color-main-text);background-color:var(--color-main-background);padding-inline:4px;margin-inline-start:8px;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.textarea__helper-text-message[data-v-c89174d0]{padding-block:4px;display:flex;align-items:center}.textarea__helper-text-message__icon[data-v-c89174d0]{margin-inline-end:8px}.textarea__helper-text-message--error[data-v-c89174d0]{color:var(--color-error-text)}.textarea__helper-text-message--success[data-v-c89174d0]{color:var(--color-success-text)}.material-design-icon[data-v-b07a6c57]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-b07a6c57]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-b07a6c57]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-b07a6c57]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-b07a6c57]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-b07a6c57]{align-self:center}.user-bubble__name[data-v-b07a6c57]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__name[data-v-b07a6c57],.user-bubble__secondary[data-v-b07a6c57]{padding:0 0 0 4px}.viewer__image-editor[data-v-9f30314d]{position:absolute;z-index:10100;top:calc(var(--header-height) * -1);bottom:calc(var(--header-height) * -1);left:0;width:100%;height:100vh}.SfxModal-Wrapper{z-index:10101!important}#SfxPopper{z-index:10102;position:relative}.viewer__image-editor *,.SfxModal-Wrapper *,.SfxPopper-wrapper *{font-size:var(--default-font-size)!important}.viewer__image-editor label,.viewer__image-editor button,.SfxModal-Wrapper label,.SfxModal-Wrapper button,.SfxPopper-wrapper label,.SfxPopper-wrapper button{color:var(--color-main-text)}.viewer__image-editor label>span,.viewer__image-editor button>span,.SfxModal-Wrapper label>span,.SfxModal-Wrapper button>span,.SfxPopper-wrapper label>span,.SfxPopper-wrapper button>span{font-size:var(--default-font-size)!important}.viewer__image-editor button,.SfxModal-Wrapper button,.SfxPopper-wrapper button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px}.SfxInput-root{height:auto!important;padding:0!important}.SfxInput-root .SfxInput-Base{margin:0!important}.SfxSelect-root{padding:8px!important}.SfxButton-root{min-height:44px!important;margin:0!important;border:transparent!important}.SfxButton-root[color=error]{color:#fff!important;background-color:var(--color-error)!important}.SfxButton-root[color=error]:hover,.SfxButton-root[color=error]:focus{border-color:#fff!important;background-color:var(--color-error-hover)!important}.SfxButton-root[color=primary]{color:var(--color-primary-element-text)!important;background-color:var(--color-primary-element)!important}.SfxButton-root[color=primary]:hover,.SfxButton-root[color=primary]:focus{background-color:var(--color-primary-element-hover)!important}.SfxMenuItem-root{height:44px;padding-left:8px!important}.SfxMenuItem-root>div{margin-right:0;padding:6px;cursor:pointer}.SfxMenuItem-root[value=jpeg]{display:none}.SfxModal-Container{min-height:300px;padding:22px}.SfxModal-Container .SfxModal-root,.SfxModal-Container .SfxModalTitle-root{flex:1 1 100%;justify-content:center;color:var(--color-main-text)}.SfxModal-Container .SfxModalTitle-Icon{margin-bottom:22px!important;background:none!important}.SfxModal-Container .SfxModalTitle-Icon svg{width:64px;height:64px;opacity:.4;--color-primary: var(--color-main-text);--color-error: var(--color-main-text)}.SfxModal-Container .SfxModalTitle-Close{display:none!important}.SfxModal-Container .SfxModalActions-root{justify-content:space-evenly!important}.FIE_topbar-center-options>button,.FIE_topbar-center-options>label{margin-left:6px!important}.FIE_tabs{padding:6px!important;overflow:hidden;overflow-y:auto}.FIE_tab{width:80px!important;height:80px!important;padding:8px;border-radius:var(--border-radius-large)!important}.FIE_tab svg{width:16px;height:16px}.FIE_tab-label{margin-top:8px!important;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap;display:block!important}.FIE_tab:hover,.FIE_tab:focus{background-color:var(--color-background-hover)!important}.FIE_tab[aria-selected=true]{color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-primary-element)}.FIE_tools-bar-wrapper{max-height:max-content!important}.FIE_tools-bar>div[class$=-tool-button],.FIE_tools-bar>div[class$=-tool]{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:6px 16px;border-radius:var(--border-radius-pill)}.FIE_crop-presets-opener-button{min-width:0!important;padding:5px 5px 5px 10px!important;border:none!important;background-color:transparent!important}.FIE_topbar-history-buttons button,.FIE_topbar-close-button,.FIE_resize-ratio-locker{border:none!important;background-color:transparent!important}.FIE_topbar-history-buttons button:hover,.FIE_topbar-history-buttons button:focus,.FIE_topbar-close-button:hover,.FIE_topbar-close-button:focus,.FIE_resize-ratio-locker:hover,.FIE_resize-ratio-locker:focus{background-color:var(--color-background-hover)!important}.FIE_topbar-history-buttons button svg,.FIE_topbar-close-button svg,.FIE_resize-ratio-locker svg{width:16px;height:16px}.FIE_topbar-history-buttons button.FIE_topbar-reset-button:before{content:attr(title);font-weight:400}.FIE_topbar-history-buttons button.FIE_topbar-reset-button svg{display:none}.FIE_topbar-save-wrapper{width:auto!important}.FIE_topbar-save-button{color:var(--color-primary-text)!important;border:none!important;background-color:var(--color-primary-element)!important}.FIE_topbar-save-button:hover,.FIE_topbar-save-button:focus{background-color:var(--color-primary-element-hover)!important}.FIE_resize-tool-options .FIE_resize-width-option,.FIE_resize-tool-options .FIE_resize-height-option{flex:1 1;min-width:0}.FIE_resize-ratio-locker{margin-right:8px!important}.FIE_resize-ratio-locker svg{width:20px;height:20px}.FIE_resize-ratio-locker svg path{stroke-width:1;stroke:var(--color-main-text);fill:var(--color-main-text)}.FIE_topbar-close-button svg path{transform:scale(1.6)}.FIE_canvas-container{background-color:var(--color-main-background)!important}.FIE_spinner:after,.FIE_spinner-label{display:none!important}.FIE_spinner-wrapper{background-color:transparent!important}.FIE_spinner:before{position:absolute;z-index:2;top:50%;left:50%;width:28px;height:28px;margin:-16px 0 0 -16px;content:"";-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);border-radius:100%;filter:var(--background-invert-if-dark)}.image_container[data-v-34ef602b]{display:flex;align-items:center;height:100%;justify-content:center}img[data-v-34ef602b],video[data-v-34ef602b]{max-width:100%;max-height:100%;align-self:center;justify-self:center;background-color:#000;transition:none!important}img[data-v-34ef602b]:hover,video[data-v-34ef602b]:hover{background-image:linear-gradient(45deg,#efefef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,#efefef 25%,#fff 25%);background-size:16px 16px;background-position:0 0,0 0,-8px -8px,8px 8px}img.loaded[data-v-34ef602b],video.loaded[data-v-34ef602b]{background-color:#fff}img.zoomed[data-v-34ef602b],video.zoomed[data-v-34ef602b]{position:absolute;max-height:none;max-width:none;z-index:10010;cursor:move}img.dragging[data-v-34ef602b],video.dragging[data-v-34ef602b]{transition:none!important;cursor:move}.live-photo_play_button[data-v-34ef602b]{position:absolute;top:0;margin:16px!important;display:flex;align-items:center;border:none;gap:4px;border-radius:var(--border-radius);padding:4px 8px;background-color:var(--color-main-background-blur)}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}video[data-v-572afae3]{z-index:20050;align-self:center;max-width:100%;max-height:100%!important;background-color:#000;justify-self:center}[data-v-572afae3] .plyr:-webkit-full-screen video{width:100%!important;height:100%!important}[data-v-572afae3] .plyr:fullscreen video{width:100%!important;height:100%!important}[data-v-572afae3] .plyr__progress__container{flex:1 1}[data-v-572afae3] .plyr{--plyr-color-main: var(--color-primary-element);--plyr-control-icon-size: 18px;--plyr-menu-background: var(--color-main-background);--plyr-menu-color: var(--color-main-text);--plyr-audio-controls-background: var(--color-main-background);--plyr-audio-control-color: var(--color-main-text);--plyr-button-size: 44px;--plyr-range-fill-background: var(--color-primary-element)}[data-v-572afae3] .plyr .plyr__controls{flex-wrap:wrap}[data-v-572afae3] .plyr .plyr__controls .plyr__volume,[data-v-572afae3] .plyr .plyr__controls .plyr__progress__container{max-width:100%;flex:1 1}[data-v-572afae3] .plyr .plyr__controls .plyr__progress__container{flex:4 1}[data-v-572afae3] .plyr button{width:var(--plyr-button-size);height:var(--plyr-button-size);padding:calc((var(--plyr-button-size) - var(--plyr-control-icon-size)) / 2);cursor:pointer;border:none;background-color:transparent;line-height:inherit}[data-v-572afae3] .plyr button:hover,[data-v-572afae3] .plyr button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-572afae3] .plyr button.plyr__control--overlaid{width:var(--plyr-button-size);height:var(--plyr-button-size);color:var(--color-primary-element-text);background-color:var(--color-primary-element);--plyr-button-size: 50px}[data-v-572afae3] .plyr button.plyr__control--overlaid:hover,[data-v-572afae3] .plyr button.plyr__control--overlaid:focus{background-color:var(--color-primary-element-hover)}[data-v-572afae3] .plyr .plyr__menu__container button{width:120px;margin:0;color:var(--color-main-text)}[data-v-572afae3] .plyr .plyr__menu__container button:hover,[data-v-572afae3] .plyr .plyr__menu__container button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-572afae3] .plyr .plyr__menu__container button.plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-572afae3] .plyr .plyr__menu__container button.plyr__control--back{margin:calc(var(--plyr-control-spacing, 10px) * .7);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-572afae3] .plyr .plyr__progress__buffer{width:calc(100% + var(--plyr-range-thumb-height, 13px));height:var(--plyr-range-track-height, 5px);background:transparent}@media only screen and (max-width: 480px){[data-v-572afae3] .plyr .plyr__volume{display:none}}[data-v-572afae3] .plyr button{color:#fff}[data-v-572afae3] .plyr button:hover,[data-v-572afae3] .plyr button:focus{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}main.viewer__hidden-fullscreen{height:100vh!important;width:100vw!important;margin:0!important}footer.viewer__hidden-fullscreen{display:none!important}audio[data-v-2be0d851]{z-index:20050;align-self:center;max-width:100%;max-height:100%;background-color:#000;justify-self:center}[data-v-2be0d851] .plyr__progress__container{flex:1 1}[data-v-2be0d851] .plyr{--plyr-color-main: var(--color-primary-element);--plyr-control-icon-size: 18px;--plyr-menu-background: var(--color-main-background);--plyr-menu-color: var(--color-main-text);--plyr-audio-controls-background: var(--color-main-background);--plyr-audio-control-color: var(--color-main-text);--plyr-button-size: 44px;--plyr-range-fill-background: var(--color-primary-element)}[data-v-2be0d851] .plyr .plyr__controls{flex-wrap:wrap}[data-v-2be0d851] .plyr .plyr__controls .plyr__volume,[data-v-2be0d851] .plyr .plyr__controls .plyr__progress__container{max-width:100%;flex:1 1}[data-v-2be0d851] .plyr .plyr__controls .plyr__progress__container{flex:4 1}[data-v-2be0d851] .plyr button{width:var(--plyr-button-size);height:var(--plyr-button-size);padding:calc((var(--plyr-button-size) - var(--plyr-control-icon-size)) / 2);cursor:pointer;border:none;background-color:transparent;line-height:inherit}[data-v-2be0d851] .plyr button:hover,[data-v-2be0d851] .plyr button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-2be0d851] .plyr button.plyr__control--overlaid{width:var(--plyr-button-size);height:var(--plyr-button-size);color:var(--color-primary-element-text);background-color:var(--color-primary-element);--plyr-button-size: 50px}[data-v-2be0d851] .plyr button.plyr__control--overlaid:hover,[data-v-2be0d851] .plyr button.plyr__control--overlaid:focus{background-color:var(--color-primary-element-hover)}[data-v-2be0d851] .plyr .plyr__menu__container button{width:120px;margin:0;color:var(--color-main-text)}[data-v-2be0d851] .plyr .plyr__menu__container button:hover,[data-v-2be0d851] .plyr .plyr__menu__container button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-2be0d851] .plyr .plyr__menu__container button.plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-2be0d851] .plyr .plyr__menu__container button.plyr__control--back{margin:calc(var(--plyr-control-spacing, 10px) * .7);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-2be0d851] .plyr .plyr__progress__buffer{width:calc(100% + var(--plyr-range-thumb-height, 13px));height:var(--plyr-range-track-height, 5px);background:transparent}@media only screen and (max-width: 480px){[data-v-2be0d851] .plyr .plyr__volume{display:none}}@media only screen and (max-width: 500px){[data-v-2be0d851] .plyr--audio{top:calc(17.5vw + 30px)}} + */.header-menu[data-v-0cca0699]{position:relative;width:var(--header-height);height:var(--header-height)}.header-menu .header-menu__trigger[data-v-0cca0699]{--button-size: var(--header-height) !important;height:var(--header-height);opacity:.85;filter:none!important;color:var(--color-background-plain-text, var(--color-primary-text))!important}.header-menu .header-menu__trigger[data-v-0cca0699]:focus-visible{outline:none!important;box-shadow:none!important}.header-menu--opened .header-menu__trigger[data-v-0cca0699],.header-menu__trigger[data-v-0cca0699]:hover,.header-menu__trigger[data-v-0cca0699]:focus,.header-menu__trigger[data-v-0cca0699]:active{opacity:1}@media only screen and (max-width: 512px){.header-menu[data-v-0cca0699]{width:var(--default-clickable-area)}.header-menu .header-menu__trigger[data-v-0cca0699]{--button-size: var(--default-clickable-area) !important}}.header-menu__wrapper[data-v-0cca0699]{position:fixed;z-index:2000;top:var(--header-height);inset-inline-end:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);border-radius:var(--border-radius-large);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow))}.header-menu__carret[data-v-0cca0699]{position:absolute;z-index:2001;bottom:0;inset-inline-start:calc(50% - 10px);width:0;height:0;content:" ";pointer-events:none;border:10px solid transparent;border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-0cca0699]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:calc(var(--default-clickable-area) * 1.5);max-height:calc(100vh - var(--header-height) * 2)}.header-menu__content[data-v-0cca0699] .empty-content{margin:12vh 10px}.material-design-icon[data-v-fc96ebfb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-fc96ebfb]{display:flex;position:relative;width:100%;padding:2px 4px}.list-item__wrapper[data-v-fc96ebfb]:first-of-type{padding-block-start:4px}.list-item__wrapper[data-v-fc96ebfb]:last-of-type{padding-block-end:4px}.list-item__wrapper--active .list-item[data-v-fc96ebfb],.list-item__wrapper.active .list-item[data-v-fc96ebfb]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)!important}.list-item__wrapper--active .list-item[data-v-fc96ebfb]:hover,.list-item__wrapper--active .list-item[data-v-fc96ebfb]:focus-within,.list-item__wrapper--active .list-item[data-v-fc96ebfb]:has(:focus-visible),.list-item__wrapper--active .list-item[data-v-fc96ebfb]:has(:active),.list-item__wrapper.active .list-item[data-v-fc96ebfb]:hover,.list-item__wrapper.active .list-item[data-v-fc96ebfb]:focus-within,.list-item__wrapper.active .list-item[data-v-fc96ebfb]:has(:focus-visible),.list-item__wrapper.active .list-item[data-v-fc96ebfb]:has(:active){background-color:var(--color-primary-element-hover)}.list-item__wrapper--active .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper--active .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper--active .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper--active .list-item-details__details[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper.active .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper.active .list-item-details__details[data-v-fc96ebfb]{color:var(--color-primary-element-text)!important}.list-item__wrapper .list-item-content__name[data-v-fc96ebfb],.list-item__wrapper .list-item-content__subname[data-v-fc96ebfb],.list-item__wrapper .list-item-content__details[data-v-fc96ebfb],.list-item__wrapper .list-item-details__details[data-v-fc96ebfb]{white-space:nowrap;margin:0 auto 0 0;overflow:hidden;text-overflow:ellipsis}.list-item-content__name[data-v-fc96ebfb]{min-width:100px;flex:1 1 10%;font-weight:500}.list-item-content__subname[data-v-fc96ebfb]{flex:1 0;min-width:0;color:var(--color-text-maxcontrast)}.list-item-content__subname--bold[data-v-fc96ebfb]{font-weight:500}.list-item[data-v-fc96ebfb]{--list-item-padding: var(--default-grid-baseline);--list-item-height: 2lh;--list-item-border-radius: var(--border-radius-element, 32px);box-sizing:border-box;display:flex;position:relative;flex:0 0 auto;justify-content:flex-start;padding:var(--list-item-padding);width:100%;border-radius:var(--border-radius-element, 32px);cursor:pointer;transition:background-color var(--animation-quick) ease-in-out;list-style:none}.list-item[data-v-fc96ebfb]:hover,.list-item[data-v-fc96ebfb]:focus-within,.list-item[data-v-fc96ebfb]:has(:active),.list-item[data-v-fc96ebfb]:has(:focus-visible){background-color:var(--color-background-hover)}.list-item[data-v-fc96ebfb]:has(.list-item__anchor:focus-visible){outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background)}.list-item--compact[data-v-fc96ebfb]{--list-item-padding: calc(.5 * var(--default-grid-baseline)) var(--default-grid-baseline)}.list-item--compact[data-v-fc96ebfb]:not(:has(.list-item-content__subname)){--list-item-height: var(--default-clickable-area)}.list-item--legacy[data-v-fc96ebfb]{--list-item-padding: calc(2 * var(--default-grid-baseline))}.list-item--legacy.list-item--compact[data-v-fc96ebfb]{--list-item-padding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline))}.list-item--one-line[data-v-fc96ebfb]{--list-item-height: var(--default-clickable-area);--list-item-border-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));--list-item-padding: var(--default-grid-baseline)}.list-item--one-line.list-item--one-line--legacy[data-v-fc96ebfb]{--list-item-padding: 2px calc((var(--list-item-height) - var(--list-item-border-radius)) / 2)}.list-item--one-line .list-item-content__main[data-v-fc96ebfb]{display:flex;justify-content:start;gap:12px;min-width:0}.list-item--one-line .list-item-content__details[data-v-fc96ebfb]{flex-direction:row;align-items:center;justify-content:end}.list-item--one-line .list-item-content__name[data-v-fc96ebfb]{align-self:center;max-width:300px}.list-item__anchor[data-v-fc96ebfb]{color:inherit;display:flex;flex:1 0 auto;align-items:center;height:var(--list-item-height);min-width:0}.list-item__anchor[data-v-fc96ebfb]:focus-visible{outline:none}.list-item-content[data-v-fc96ebfb]{display:flex;flex:1 0;justify-content:space-between;padding-left:calc(2 * var(--default-grid-baseline));min-width:0}.list-item-content__main[data-v-fc96ebfb]{flex:1 0;width:0;margin:auto 0}.list-item-content__main--oneline[data-v-fc96ebfb]{display:flex}.list-item-content__details[data-v-fc96ebfb]{display:flex;flex-direction:column;justify-content:end;align-items:end}.list-item-content__actions[data-v-fc96ebfb],.list-item-content__extra-actions[data-v-fc96ebfb]{flex:0 0 auto;align-self:center;justify-content:center;margin-left:var(--default-grid-baseline)}.list-item-content__extra-actions[data-v-fc96ebfb]{display:flex;align-items:center;gap:var(--default-grid-baseline)}.list-item-details__details[data-v-fc96ebfb]{color:var(--color-text-maxcontrast);margin:0 9px!important;font-weight:400}.list-item-details__extra[data-v-fc96ebfb]{margin:2px 4px 0;display:flex;align-items:center}.list-item-details__indicator[data-v-fc96ebfb]{margin:0 5px}.list-item__extra[data-v-fc96ebfb]{margin-top:var(--default-grid-baseline)}.material-design-icon[data-v-5e97fe1f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.progress-bar[data-v-5e97fe1f]{display:block;height:var(--progress-bar-height);--progress-bar-color: var(--497e8a2b)}.progress-bar--linear[data-v-5e97fe1f]{width:100%;overflow:hidden;border:0;padding:0;background:var(--color-background-dark);border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--linear[data-v-5e97fe1f]::-webkit-progress-bar{height:var(--progress-bar-height);background-color:transparent}.progress-bar--linear[data-v-5e97fe1f]::-webkit-progress-value{background:var(--progress-bar-color, var(--gradient-primary-background));border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--linear[data-v-5e97fe1f]::-moz-progress-bar{background:var(--progress-bar-color, var(--gradient-primary-background));border-radius:calc(var(--progress-bar-height) / 2)}.progress-bar--circular[data-v-5e97fe1f]{width:var(--progress-bar-height);color:var(--progress-bar-color, var(--color-primary-element))}.progress-bar--error[data-v-5e97fe1f]{color:var(--color-error)!important}.progress-bar--error[data-v-5e97fe1f]::-moz-progress-bar{background:var(--color-error)!important}.progress-bar--error[data-v-5e97fe1f]::-webkit-progress-value{background:var(--color-error)!important}.material-design-icon[data-v-de46bdbe]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.team-resources__header[data-v-de46bdbe]{font-weight:700;margin-bottom:6px}.related-team[data-v-de46bdbe]{border-radius:var(--border-radius-rounded);border:2px solid var(--color-border-dark);margin-bottom:6px}.related-team__open[data-v-de46bdbe]{border-color:var(--color-primary-element)}.related-team__header[data-v-de46bdbe]{padding:6px 24px 6px 6px;display:flex;gap:12px}.related-team__name[data-v-de46bdbe]{display:flex;flex-grow:1;align-items:center;gap:12px;padding:6px 12px;font-weight:700;margin:0}.related-team .related-team-provider[data-v-de46bdbe]{padding:6px 12px}.related-team .related-team-provider__name[data-v-de46bdbe]{font-weight:700;margin-bottom:3px}.related-team .related-team-provider__link[data-v-de46bdbe]{display:flex;gap:12px;padding:6px 12px;font-weight:700}.related-team .related-team-resource__link[data-v-de46bdbe]{display:flex;gap:12px;height:var(--default-clickable-area);align-items:center;border-radius:var(--border-radius-large)}.related-team .related-team-resource__link[data-v-de46bdbe]:hover{background-color:var(--color-background-hover)}.related-team .related-team-resource__link[data-v-de46bdbe]:focus{background-color:var(--color-background-hover);outline:2px solid var(--color-primary-element)}.related-team .related-team-resource .resource__icon[data-v-de46bdbe]{width:var(--default-clickable-area);height:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;text-align:center}.related-team .related-team-resource .resource__icon>img[data-v-de46bdbe]{border-radius:var(--border-radius-pill);overflow:hidden;width:32px;height:32px}.material-design-icon[data-v-ac1115a7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resource[data-v-ac1115a7]{display:flex;align-items:center;height:var(--default-clickable-area)}.resource__button[data-v-ac1115a7]{width:100%!important;justify-content:flex-start!important;padding:0!important}.resource__button[data-v-ac1115a7] .button-vue__wrapper{justify-content:flex-start!important}.resource__button[data-v-ac1115a7] .button-vue__wrapper .button-vue__text{font-weight:400!important;margin-left:2px!important}.resource__icon[data-v-ac1115a7]{width:32px;height:32px;background-color:var(--color-text-maxcontrast);border-radius:50%;display:flex;align-items:center;justify-content:center}.resource__icon img[data-v-ac1115a7]{width:16px;height:16px;filter:var(--background-invert-if-dark)}.material-design-icon[data-v-badd46a9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.related-resources__header h5[data-v-badd46a9]{font-weight:700;margin-bottom:6px}.related-resources__header p[data-v-badd46a9]{color:var(--color-text-maxcontrast)}.material-design-icon[data-v-98c79945]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-98c79945]{display:flex;align-items:center;gap:var(--default-grid-baseline);line-height:1.2;--auto-complete-result-avatar-size: var(--default-clickable-area)}.autocomplete-result__icon[data-v-98c79945]{position:relative;flex:0 0 var(--default-clickable-area);width:var(--default-clickable-area);min-width:var(--default-clickable-area);height:var(--default-clickable-area);border-radius:var(--default-clickable-area);background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:contain}.autocomplete-result__icon--with-avatar[data-v-98c79945]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-98c79945]{--auto-complete-result-status-icon-size: clamp(14px, var(--auto-complete-result-avatar-size) * .4, 18px);--auto-complete-result-status-icon-position: calc(var(--auto-complete-result-avatar-size) / 2 * (1 - 1 / sqrt(2)) - var(--auto-complete-result-status-icon-size) / 2);box-sizing:border-box;position:absolute;right:var(--auto-complete-result-status-icon-position);bottom:var(--auto-complete-result-status-icon-position);height:var(--auto-complete-result-status-icon-size);width:var(--auto-complete-result-status-icon-size);border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:calc(var(--auto-complete-result-status-icon-size) / 1.2);line-height:1.2;background-repeat:no-repeat;background-size:var(--auto-complete-result-status-icon-size);background-position:center}.autocomplete-result__status--icon[data-v-98c79945]{border:none;background-color:transparent}.autocomplete-result__content[data-v-98c79945]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0}.autocomplete-result__title[data-v-98c79945],.autocomplete-result__subline[data-v-98c79945]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-98c79945]{color:var(--color-text-maxcontrast)}.material-design-icon[data-v-b1993e79]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable[data-v-b1993e79]{--contenteditable-block-offset: calc(2 * var(--default-grid-baseline));--contenteditable-inline-start-offset: calc(2 * var(--default-grid-baseline));--contenteditable-inline-end-offset: calc(2 * var(--default-grid-baseline));position:relative;width:auto}.rich-contenteditable__label[data-v-b1993e79]{position:absolute;margin-inline:14px;max-width:fit-content;inset-block-start:11px;inset-inline:0;color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.rich-contenteditable__input:focus+.rich-contenteditable__label[data-v-b1993e79],.rich-contenteditable__input:not(.rich-contenteditable__input--empty)+.rich-contenteditable__label[data-v-b1993e79]{inset-block-start:-10px;line-height:1.5;font-size:13px;font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:5px;margin-inline:9px;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.rich-contenteditable__input[data-v-b1993e79]{overflow-y:auto;width:auto;margin:0;padding-block:var(--contenteditable-block-offset);padding-inline:var(--contenteditable-inline-start-offset) var(--contenteditable-inline-end-offset);cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:var(--default-clickable-area);max-height:calc(var(--default-clickable-area) * 5.5)}.rich-contenteditable__input--has-label[data-v-b1993e79]{margin-top:10px}.rich-contenteditable__input--empty[data-v-b1993e79]:focus:before,.rich-contenteditable__input--empty[data-v-b1993e79]:not(.rich-contenteditable__input--has-label):before{content:attr(aria-placeholder);color:var(--color-text-maxcontrast);position:absolute;width:calc(100% - var(--contenteditable-inline-start-offset) - var(--contenteditable-inline-end-offset));height:calc(100% - 2 * var(--contenteditable-block-offset));overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rich-contenteditable__input[contenteditable=false][data-v-b1993e79]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:transparent;color:var(--color-main-text);border-color:transparent;opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-b1993e79]{min-height:calc(var(--default-clickable-area) * 3);max-height:none}.rich-contenteditable__input--disabled[data-v-b1993e79]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}._material-design-icon_1o935_12{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._tribute-container_1o935_20{z-index:9000;overflow:auto;position:absolute;left:-10000px;margin:var(--default-grid-baseline) 0;padding:var(--default-grid-baseline);color:var(--color-text-maxcontrast);border-radius:var(--border-radius-element, var(--border-radius));background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}._tribute-container_1o935_20,._tribute-container_1o935_20 *{box-sizing:border-box}._tribute-container_1o935_20 ul{display:flex;flex-direction:column;gap:var(--default-grid-baseline)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40{color:var(--color-text-maxcontrast);border-radius:var(--border-radius-small, var(--border-radius));padding:var(--default-grid-baseline);cursor:pointer;min-height:var(--clickable-area-small, auto)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight{color:var(--color-main-text);background:var(--color-background-hover)}._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight,._tribute-container_1o935_20 ._tribute-container__item_1o935_40.highlight *{cursor:pointer}._tribute-container_1o935_20._tribute-container--focus-visible_1o935_54 .highlight._tribute-container__item_1o935_40{outline:2px solid var(--color-main-text)!important}._tribute-container-autocomplete_1o935_58{min-width:250px;max-width:300px;max-height:calc((var(--default-clickable-area) + 3 * var(--default-grid-baseline)) * 4.5 - 1.5 * var(--default-grid-baseline))}._tribute-container-emoji_1o935_64,._tribute-container-link_1o935_65{min-width:200px;max-width:200px;max-height:calc((24px + 3 * var(--default-grid-baseline)) * 5.5 - 1.5 * var(--default-grid-baseline))}._tribute-container-emoji_1o935_64 ._tribute-item_1o935_70,._tribute-container-link_1o935_65 ._tribute-item_1o935_70{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tribute-container-link_1o935_65{min-width:200px;max-width:300px}._tribute-container-link_1o935_65 ._tribute-item_1o935_70{display:flex;align-items:center}._tribute-container-link_1o935_65 ._tribute-item__title_1o935_85{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tribute-container-link_1o935_65 ._tribute-item__icon_1o935_90{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:var(--default-grid-baseline);filter:var(--background-invert-if-dark)}.material-design-icon[data-v-2677cf0e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list[data-v-2677cf0e]{width:100%;min-height:var(--default-clickable-area)}.material-design-icon[data-v-4eb997e3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.task-list-item>ul[data-v-4eb997e3],li.task-list-item>ol[data-v-4eb997e3],li.task-list-item>li[data-v-4eb997e3],li.task-list-item>blockquote[data-v-4eb997e3],li.task-list-item>pre[data-v-4eb997e3]{margin-inline-start:15px;margin-block-end:0}.rich-text--wrapper[data-v-4eb997e3]{word-break:break-word;line-height:1.5}.rich-text--wrapper .rich-text--fallback[data-v-4eb997e3],.rich-text--wrapper .rich-text-component[data-v-4eb997e3]{display:inline}.rich-text--wrapper .rich-text--external-link[data-v-4eb997e3]{text-decoration:underline}.rich-text--wrapper .rich-text--external-link[data-v-4eb997e3]:after{content:" ↗"}.rich-text--wrapper .rich-text--ordered-list .rich-text--list-item[data-v-4eb997e3]{list-style:decimal}.rich-text--wrapper .rich-text--un-ordered-list .rich-text--list-item[data-v-4eb997e3]{list-style:initial}.rich-text--wrapper .rich-text--list-item[data-v-4eb997e3]{white-space:initial;color:var(--color-text-light);padding:initial;margin-left:20px}.rich-text--wrapper .rich-text--list-item.task-list-item[data-v-4eb997e3]{list-style:none;white-space:initial;color:var(--color-text-light)}.rich-text--wrapper .rich-text--list-item.task-list-item input[data-v-4eb997e3]{min-height:initial}.rich-text--wrapper .rich-text--strong[data-v-4eb997e3]{white-space:initial;font-weight:700;color:var(--color-text-light)}.rich-text--wrapper .rich-text--italic[data-v-4eb997e3]{white-space:initial;font-style:italic;color:var(--color-text-light)}.rich-text--wrapper .rich-text--heading[data-v-4eb997e3]{white-space:initial;font-size:initial;color:var(--color-text-light);margin-bottom:5px;margin-top:5px;font-weight:700}.rich-text--wrapper .rich-text--heading.rich-text--heading-1[data-v-4eb997e3]{font-size:20px}.rich-text--wrapper .rich-text--heading.rich-text--heading-2[data-v-4eb997e3]{font-size:19px}.rich-text--wrapper .rich-text--heading.rich-text--heading-3[data-v-4eb997e3]{font-size:18px}.rich-text--wrapper .rich-text--heading.rich-text--heading-4[data-v-4eb997e3]{font-size:17px}.rich-text--wrapper .rich-text--heading.rich-text--heading-5[data-v-4eb997e3]{font-size:16px}.rich-text--wrapper .rich-text--heading.rich-text--heading-6[data-v-4eb997e3]{font-size:15px}.rich-text--wrapper .rich-text--hr[data-v-4eb997e3]{border-top:1px solid var(--color-border-dark);border-bottom:0}.rich-text--wrapper .rich-text--pre[data-v-4eb997e3]{border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);padding:5px}.rich-text--wrapper .rich-text--code[data-v-4eb997e3]{background-color:var(--color-background-dark)}.rich-text--wrapper .rich-text--blockquote[data-v-4eb997e3]{border-left:3px solid var(--color-border-dark);padding-left:5px}.rich-text--wrapper .rich-text--table[data-v-4eb997e3]{border-collapse:collapse}.rich-text--wrapper .rich-text--table thead tr th[data-v-4eb997e3]{border:1px solid var(--color-border-dark);font-weight:700;padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr td[data-v-4eb997e3]{border:1px solid var(--color-border-dark);padding:6px 13px}.rich-text--wrapper .rich-text--table tbody tr[data-v-4eb997e3]:nth-child(2n){background-color:var(--color-background-dark)}.rich-text--wrapper-markdown div>*[data-v-4eb997e3]:first-child,.rich-text--wrapper-markdown blockquote>*[data-v-4eb997e3]:first-child{margin-top:0!important}.rich-text--wrapper-markdown div>*[data-v-4eb997e3]:last-child,.rich-text--wrapper-markdown blockquote>*[data-v-4eb997e3]:last-child{margin-bottom:0!important}.rich-text--wrapper-markdown h1[data-v-4eb997e3],.rich-text--wrapper-markdown h2[data-v-4eb997e3],.rich-text--wrapper-markdown h3[data-v-4eb997e3],.rich-text--wrapper-markdown h4[data-v-4eb997e3],.rich-text--wrapper-markdown h5[data-v-4eb997e3],.rich-text--wrapper-markdown h6[data-v-4eb997e3],.rich-text--wrapper-markdown p[data-v-4eb997e3],.rich-text--wrapper-markdown ul[data-v-4eb997e3],.rich-text--wrapper-markdown ol[data-v-4eb997e3],.rich-text--wrapper-markdown blockquote[data-v-4eb997e3],.rich-text--wrapper-markdown pre[data-v-4eb997e3]{margin-top:0;margin-bottom:1em}.rich-text--wrapper-markdown h1[data-v-4eb997e3],.rich-text--wrapper-markdown h2[data-v-4eb997e3],.rich-text--wrapper-markdown h3[data-v-4eb997e3],.rich-text--wrapper-markdown h4[data-v-4eb997e3],.rich-text--wrapper-markdown h5[data-v-4eb997e3],.rich-text--wrapper-markdown h6[data-v-4eb997e3]{font-weight:700}.rich-text--wrapper-markdown h1[data-v-4eb997e3]{font-size:30px}.rich-text--wrapper-markdown ul[data-v-4eb997e3],.rich-text--wrapper-markdown ol[data-v-4eb997e3]{padding-left:15px}.rich-text--wrapper-markdown ul[data-v-4eb997e3]{list-style-type:disc}.rich-text--wrapper-markdown ul.contains-task-list[data-v-4eb997e3]{list-style-type:none;padding:0}.rich-text--wrapper-markdown table[data-v-4eb997e3]{border-collapse:collapse;border:2px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-4eb997e3],.rich-text--wrapper-markdown table td[data-v-4eb997e3]{padding:var(--default-grid-baseline);border:1px solid var(--color-border-maxcontrast)}.rich-text--wrapper-markdown table th[data-v-4eb997e3]:first-child,.rich-text--wrapper-markdown table td[data-v-4eb997e3]:first-child{border-left:0}.rich-text--wrapper-markdown table th[data-v-4eb997e3]:last-child,.rich-text--wrapper-markdown table td[data-v-4eb997e3]:last-child{border-right:0}.rich-text--wrapper-markdown table tr:first-child th[data-v-4eb997e3]{border-top:0}.rich-text--wrapper-markdown table tr:last-child td[data-v-4eb997e3]{border-bottom:0}.rich-text--wrapper-markdown blockquote[data-v-4eb997e3]{padding-left:13px;border-left:2px solid var(--color-border-dark);color:var(--color-text-lighter)}.rich-text--wrapper-markdown pre[data-v-4eb997e3]:has(.hljs){color:var(--hljs-color);background:var(--hljs-background-color)}.rich-text--wrapper-markdown .hljs-doctag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-keyword[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta .hljs-keyword[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-template-tag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-template-variable[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-type[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-variable.language_[data-v-4eb997e3]{color:var(--hljs-syntax-keyword-color)}.rich-text--wrapper-markdown .hljs-title[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.class_[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.class_.inherited__[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-title.function_[data-v-4eb997e3]{color:var(--hljs-syntax-entity-color)}.rich-text--wrapper-markdown .hljs-attr[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-attribute[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-literal[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-number[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-operator[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-variable[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-attr[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-class[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-id[data-v-4eb997e3]{color:var(--hljs-syntax-constant-color)}.rich-text--wrapper-markdown .hljs-regexp[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-string[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-meta .hljs-string[data-v-4eb997e3]{color:var(--hljs-syntax-string-color)}.rich-text--wrapper-markdown .hljs-built_in[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-symbol[data-v-4eb997e3]{color:var(--hljs-syntax-variable-color)}.rich-text--wrapper-markdown .hljs-comment[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-code[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-formula[data-v-4eb997e3]{color:var(--hljs-syntax-comment-color)}.rich-text--wrapper-markdown .hljs-name[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-quote[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-tag[data-v-4eb997e3],.rich-text--wrapper-markdown .hljs-selector-pseudo[data-v-4eb997e3]{color:var(--hljs-syntax-entity-tag-color)}.rich-text--wrapper-markdown .hljs-subst[data-v-4eb997e3]{color:var(--hljs-syntax-storage-modifier-import-color)}.rich-text--wrapper-markdown .hljs-section[data-v-4eb997e3]{color:var(--hljs-syntax-markup-heading-color);font-weight:700}.rich-text--wrapper-markdown .hljs-bullet[data-v-4eb997e3]{color:var(--hljs-syntax-markup-list-color)}.rich-text--wrapper-markdown .hljs-emphasis[data-v-4eb997e3]{color:var(--hljs-syntax-markup-italic-color);font-style:italic}.rich-text--wrapper-markdown .hljs-strong[data-v-4eb997e3]{color:var(--hljs-syntax-markup-bold-color);font-weight:700}.rich-text--wrapper-markdown .hljs-addition[data-v-4eb997e3]{color:var(--hljs-syntax-markup-inserted-color);background-color:var(--hljs-syntax-markup-inserted-background-color)}.rich-text--wrapper-markdown .hljs-deletion[data-v-4eb997e3]{color:var(--hljs-syntax-markup-deleted-color);background-color:var(--hljs-syntax-markup-deleted-background-color)}@media (prefers-color-scheme: light){.rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}[data-theme-dark] .rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}}@media (prefers-color-scheme: dark){.rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #c9d1d9);--hljs-background-color: var(--color-background-dark, #0d1117);--hljs-syntax-keyword-color: #ff7b72;--hljs-syntax-entity-color: #d2a8ff;--hljs-syntax-constant-color: #79c0ff;--hljs-syntax-string-color: #a5d6ff;--hljs-syntax-variable-color: #ffa657;--hljs-syntax-comment-color: #8b949e;--hljs-syntax-entity-tag-color: #7ee787;--hljs-syntax-storage-modifier-import-color: #c9d1d9;--hljs-syntax-markup-heading-color: #1f6feb;--hljs-syntax-markup-list-color: #f2cc60;--hljs-syntax-markup-italic-color: #c9d1d9;--hljs-syntax-markup-bold-color: #c9d1d9;--hljs-syntax-markup-inserted-color: #aff5b4;--hljs-syntax-markup-inserted-background-color: #033a16;--hljs-syntax-markup-deleted-color: #ffdcd7;--hljs-syntax-markup-deleted-background-color: #67060c}[data-theme-light] .rich-text--wrapper-markdown[data-v-4eb997e3]{--hljs-color: var(--color-main-text, #24292e);--hljs-background-color: var(--color-background-dark, #ffffff);--hljs-syntax-keyword-color: #d73a49;--hljs-syntax-entity-color: #6f42c1;--hljs-syntax-constant-color: #005cc5;--hljs-syntax-string-color: #032f62;--hljs-syntax-variable-color: #e36209;--hljs-syntax-comment-color: #6a737d;--hljs-syntax-entity-tag-color: #22863a;--hljs-syntax-storage-modifier-import-color: #24292e;--hljs-syntax-markup-heading-color: #005cc5;--hljs-syntax-markup-list-color: #735c0f;--hljs-syntax-markup-italic-color: #24292e;--hljs-syntax-markup-bold-color: #24292e;--hljs-syntax-markup-inserted-color: #22863a;--hljs-syntax-markup-inserted-background-color: #f0fff4;--hljs-syntax-markup-deleted-color: #b31d28;--hljs-syntax-markup-deleted-background-color: #ffeef0}}a[data-v-4eb997e3]:not(.rich-text--component){text-decoration:underline}.material-design-icon[data-v-ea9434d3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-custom.full-width[data-v-ea9434d3]{width:var(--widget-full-width, 100%)!important;left:calc((var(--widget-full-width, 100%) - 100%) / 2 * -1);position:relative}.widget-access[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex;padding:calc(var(--default-grid-baseline, 4px) * 3)}.widget-default[data-v-ea9434d3]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px) * 3);margin-top:calc(var(--default-grid-baseline, 4px) * 3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-container);background-color:transparent;display:flex}.widget-default--compact[data-v-ea9434d3]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-ea9434d3]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-ea9434d3]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px) * 2);padding-bottom:calc(var(--default-grid-baseline, 4px) * 2)}.widget-default--compact .widget-default--description[data-v-ea9434d3]{display:none}.widget-default--image[data-v-ea9434d3]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--name[data-v-ea9434d3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.widget-default--details[data-v-ea9434d3]{padding:calc(var(--default-grid-baseline, 4px) * 3);width:60%}.widget-default--details p[data-v-ea9434d3]{margin:0;padding:0}.widget-default--description[data-v-ea9434d3]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-ea9434d3]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-interactive[data-v-ea9434d3]{position:relative}.toggle-interactive .toggle-interactive--button[data-v-ea9434d3]{position:absolute;bottom:var(--default-grid-baseline);right:var(--default-grid-baseline);z-index:10000}.material-design-icon[data-v-de9850e4],.material-design-icon[data-v-e54e09d6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-e54e09d6]{width:100%;min-height:400px;padding:0 16px 16px;display:flex;flex-direction:column}.provider-list--select[data-v-e54e09d6]{width:100%}.provider-list--select .provider[data-v-e54e09d6]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-e54e09d6]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-e54e09d6]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-e54e09d6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-3c1803b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-3c1803b5]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto;padding:0 16px 16px}.raw-link .input-wrapper[data-v-3c1803b5]{width:100%}.raw-link .reference-widget[data-v-3c1803b5]{display:flex}.raw-link--empty-content .provider-icon[data-v-3c1803b5]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-3c1803b5]{width:99%}.material-design-icon[data-v-8571023b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-8571023b]{display:flex;align-items:center;height:var(--default-clickable-area);overflow:hidden}.result--icon-class[data-v-8571023b],.result--image[data-v-8571023b]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-8571023b],.result--image.rounded[data-v-8571023b]{border-radius:50%}.result--content[data-v-8571023b]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--name[data-v-8571023b],.result--content--subline[data-v-8571023b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-05fef988]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-05fef988]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px}.smart-picker-search.with-empty-content[data-v-05fef988]{min-height:400px}.smart-picker-search .provider-icon[data-v-05fef988]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-05fef988],.smart-picker-search--select .search-result[data-v-05fef988]{width:100%}.smart-picker-search--select .group-name-icon[data-v-05fef988],.smart-picker-search--select .option-simple-icon[data-v-05fef988]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-05fef988]{height:var(--default-clickable-area);display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-05fef988]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-design-icon[data-v-cd33df8e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-cd33df8e],.reference-picker .custom-element-wrapper[data-v-cd33df8e],.reference-picker .custom-element-wrapper .custom-element[data-v-cd33df8e]{display:flex;overflow-y:auto;width:100%}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex!important}.material-design-icon[data-v-a742c4c2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-a742c4c2]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-a742c4c2],.reference-picker-modal--content .back-button[data-v-a742c4c2]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-a742c4c2]{left:4px}.reference-picker-modal--content .close-button[data-v-a742c4c2]{right:4px}.reference-picker-modal--content>h2[data-v-a742c4c2]{display:flex;margin:12px 0 20px}.reference-picker-modal--content>h2 .icon[data-v-a742c4c2]{margin-right:8px}.material-design-icon[data-v-0907eb0a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-wrapper[data-v-0907eb0a]{display:flex;align-items:center;flex-wrap:wrap;width:100%;max-width:400px}.input-wrapper .action-input__label[data-v-0907eb0a]{margin-right:12px}.input-wrapper[data-v-0907eb0a]:disabled{cursor:default}.input-wrapper .hint[data-v-0907eb0a]{color:var(--color-text-maxcontrast);margin-left:8px}.material-design-icon[data-v-6f6953b5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-6f6953b5]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-6f6953b5]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section--limit-width>*[data-v-6f6953b5]{max-width:900px}.settings-section__name[data-v-6f6953b5]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;max-width:900px;margin-top:0}.settings-section__info[data-v-6f6953b5]{display:flex;align-items:center;justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:calc((var(--default-clickable-area) - 16px) / 2 * -1);margin-inline-start:0;color:var(--color-text-maxcontrast)}.settings-section__info[data-v-6f6953b5]:hover,.settings-section__info[data-v-6f6953b5]:focus,.settings-section__info[data-v-6f6953b5]:active{color:var(--color-main-text)}.settings-section__desc[data-v-6f6953b5]{margin-top:-.2em;margin-bottom:1em;color:var(--color-text-maxcontrast);max-width:900px}.material-design-icon[data-v-a53a2bb4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.select-group-error[data-v-a53a2bb4]{color:var(--color-error);font-size:13px;padding-inline-start:var(--border-radius-large)}.material-design-icon[data-v-c89174d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.textarea[data-v-c89174d0]{position:relative;width:100%;border-radius:var(--border-radius-large);margin-block-start:6px;resize:vertical}.textarea__main-wrapper[data-v-c89174d0]{position:relative}.textarea--disabled[data-v-c89174d0]{opacity:.7;filter:saturate(.7)}.textarea__input[data-v-c89174d0]{margin:0;padding-inline:10px 6px;width:100%;height:calc(var(--default-clickable-area) * 2);font-size:var(--default-font-size);text-overflow:ellipsis;background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--border-radius-large);cursor:pointer}.textarea__input[data-v-c89174d0]:active:not([disabled]),.textarea__input[data-v-c89174d0]:hover:not([disabled]),.textarea__input[data-v-c89174d0]:focus:not([disabled]){border-width:var(--border-width-input-focused, 2px);border-color:var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)!important}.textarea__input[data-v-c89174d0]:not(:focus,.textarea__input--label-outside)::placeholder{opacity:0}.textarea__input[data-v-c89174d0]:focus{cursor:text}.textarea__input[data-v-c89174d0]:disabled{cursor:default}.textarea__input[data-v-c89174d0]:focus-visible{box-shadow:unset!important}.textarea__input--success[data-v-c89174d0]{border-color:var(--color-success)!important}.textarea__input--success[data-v-c89174d0]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__input--error[data-v-c89174d0]{border-color:var(--color-error)!important}.textarea__input--error[data-v-c89174d0]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__label[data-v-c89174d0]{position:absolute;margin-inline:12px 0;max-width:fit-content;inset-block-start:11px;inset-inline:0;color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.textarea__input:focus+.textarea__label[data-v-c89174d0],.textarea__input:not(:placeholder-shown)+.textarea__label[data-v-c89174d0]{inset-block-start:-10px;line-height:1.5;font-size:13px;font-weight:500;color:var(--color-main-text);background-color:var(--color-main-background);padding-inline:4px;margin-inline-start:8px;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.textarea__helper-text-message[data-v-c89174d0]{padding-block:4px;display:flex;align-items:center}.textarea__helper-text-message__icon[data-v-c89174d0]{margin-inline-end:8px}.textarea__helper-text-message--error[data-v-c89174d0]{color:var(--color-error-text)}.textarea__helper-text-message--success[data-v-c89174d0]{color:var(--color-success-text)}.material-design-icon[data-v-b07a6c57]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-b07a6c57]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-b07a6c57]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-b07a6c57]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-b07a6c57]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-b07a6c57]{align-self:center}.user-bubble__name[data-v-b07a6c57]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__name[data-v-b07a6c57],.user-bubble__secondary[data-v-b07a6c57]{padding:0 0 0 4px}.viewer__image-editor[data-v-9f30314d]{position:absolute;z-index:10100;top:calc(var(--header-height) * -1);bottom:calc(var(--header-height) * -1);left:0;width:100%;height:100vh}.SfxModal-Wrapper{z-index:10101!important}#SfxPopper{z-index:10102;position:relative}.viewer__image-editor *,.SfxModal-Wrapper *,.SfxPopper-wrapper *{font-size:var(--default-font-size)!important}.viewer__image-editor label,.viewer__image-editor button,.SfxModal-Wrapper label,.SfxModal-Wrapper button,.SfxPopper-wrapper label,.SfxPopper-wrapper button{color:var(--color-main-text)}.viewer__image-editor label>span,.viewer__image-editor button>span,.SfxModal-Wrapper label>span,.SfxModal-Wrapper button>span,.SfxPopper-wrapper label>span,.SfxPopper-wrapper button>span{font-size:var(--default-font-size)!important}.viewer__image-editor button,.SfxModal-Wrapper button,.SfxPopper-wrapper button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px}.SfxInput-root{height:auto!important;padding:0!important}.SfxInput-root .SfxInput-Base{margin:0!important}.SfxSelect-root{padding:8px!important}.SfxButton-root{min-height:44px!important;margin:0!important;border:transparent!important}.SfxButton-root[color=error]{color:#fff!important;background-color:var(--color-error)!important}.SfxButton-root[color=error]:hover,.SfxButton-root[color=error]:focus{border-color:#fff!important;background-color:var(--color-error-hover)!important}.SfxButton-root[color=primary]{color:var(--color-primary-element-text)!important;background-color:var(--color-primary-element)!important}.SfxButton-root[color=primary]:hover,.SfxButton-root[color=primary]:focus{background-color:var(--color-primary-element-hover)!important}.SfxMenuItem-root{height:44px;padding-left:8px!important}.SfxMenuItem-root>div{margin-right:0;padding:6px;cursor:pointer}.SfxMenuItem-root[value=jpeg]{display:none}.SfxModal-Container{min-height:300px;padding:22px}.SfxModal-Container .SfxModal-root,.SfxModal-Container .SfxModalTitle-root{flex:1 1 100%;justify-content:center;color:var(--color-main-text)}.SfxModal-Container .SfxModalTitle-Icon{margin-bottom:22px!important;background:none!important}.SfxModal-Container .SfxModalTitle-Icon svg{width:64px;height:64px;opacity:.4;--color-primary: var(--color-main-text);--color-error: var(--color-main-text)}.SfxModal-Container .SfxModalTitle-Close{display:none!important}.SfxModal-Container .SfxModalActions-root{justify-content:space-evenly!important}.FIE_topbar-center-options>button,.FIE_topbar-center-options>label{margin-left:6px!important}.FIE_tabs{padding:6px!important;overflow:hidden;overflow-y:auto}.FIE_tab{width:80px!important;height:80px!important;padding:8px;border-radius:var(--border-radius-large)!important}.FIE_tab svg{width:16px;height:16px}.FIE_tab-label{margin-top:8px!important;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap;display:block!important}.FIE_tab:hover,.FIE_tab:focus{background-color:var(--color-background-hover)!important}.FIE_tab[aria-selected=true]{color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-primary-element)}.FIE_tools-bar-wrapper{max-height:max-content!important}.FIE_tools-bar>div[class$=-tool-button],.FIE_tools-bar>div[class$=-tool]{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:6px 16px;border-radius:var(--border-radius-pill)}.FIE_crop-presets-opener-button{min-width:0!important;padding:5px 5px 5px 10px!important;border:none!important;background-color:transparent!important}.FIE_topbar-history-buttons button,.FIE_topbar-close-button,.FIE_resize-ratio-locker{border:none!important;background-color:transparent!important}.FIE_topbar-history-buttons button:hover,.FIE_topbar-history-buttons button:focus,.FIE_topbar-close-button:hover,.FIE_topbar-close-button:focus,.FIE_resize-ratio-locker:hover,.FIE_resize-ratio-locker:focus{background-color:var(--color-background-hover)!important}.FIE_topbar-history-buttons button svg,.FIE_topbar-close-button svg,.FIE_resize-ratio-locker svg{width:16px;height:16px}.FIE_topbar-history-buttons button.FIE_topbar-reset-button:before{content:attr(title);font-weight:400}.FIE_topbar-history-buttons button.FIE_topbar-reset-button svg{display:none}.FIE_topbar-save-wrapper{width:auto!important}.FIE_topbar-save-button{color:var(--color-primary-text)!important;border:none!important;background-color:var(--color-primary-element)!important}.FIE_topbar-save-button:hover,.FIE_topbar-save-button:focus{background-color:var(--color-primary-element-hover)!important}.FIE_resize-tool-options .FIE_resize-width-option,.FIE_resize-tool-options .FIE_resize-height-option{flex:1 1;min-width:0}.FIE_resize-ratio-locker{margin-right:8px!important}.FIE_resize-ratio-locker svg{width:20px;height:20px}.FIE_resize-ratio-locker svg path{stroke-width:1;stroke:var(--color-main-text);fill:var(--color-main-text)}.FIE_topbar-close-button svg path{transform:scale(1.6)}.FIE_canvas-container{background-color:var(--color-main-background)!important}.FIE_spinner:after,.FIE_spinner-label{display:none!important}.FIE_spinner-wrapper{background-color:transparent!important}.FIE_spinner:before{position:absolute;z-index:2;top:50%;left:50%;width:28px;height:28px;margin:-16px 0 0 -16px;content:"";-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);border-radius:100%;filter:var(--background-invert-if-dark)}.image_container[data-v-e6c4955a]{display:flex;align-items:center;height:100%;justify-content:center}img[data-v-e6c4955a],video[data-v-e6c4955a]{max-width:100%;max-height:100%;align-self:center;justify-self:center;background-color:#000;transition:none!important}img[data-v-e6c4955a]:hover,video[data-v-e6c4955a]:hover{background-image:linear-gradient(45deg,#efefef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,transparent 75%,#efefef 75%),linear-gradient(45deg,#efefef 25%,#fff 25%);background-size:16px 16px;background-position:0 0,0 0,-8px -8px,8px 8px}img.loaded[data-v-e6c4955a],video.loaded[data-v-e6c4955a]{background-color:#fff}img.zoomed[data-v-e6c4955a],video.zoomed[data-v-e6c4955a]{position:absolute;max-height:none;max-width:none;z-index:10010;cursor:move}img.dragging[data-v-e6c4955a],video.dragging[data-v-e6c4955a]{transition:none!important;cursor:move}.live-photo_play_button[data-v-e6c4955a]{position:absolute;top:0;margin:16px!important;display:flex;align-items:center;border:none;gap:4px;border-radius:var(--border-radius);padding:4px 8px;background-color:var(--color-main-background-blur)}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}video[data-v-572afae3]{z-index:20050;align-self:center;max-width:100%;max-height:100%!important;background-color:#000;justify-self:center}[data-v-572afae3] .plyr:-webkit-full-screen video{width:100%!important;height:100%!important}[data-v-572afae3] .plyr:fullscreen video{width:100%!important;height:100%!important}[data-v-572afae3] .plyr__progress__container{flex:1 1}[data-v-572afae3] .plyr{--plyr-color-main: var(--color-primary-element);--plyr-control-icon-size: 18px;--plyr-menu-background: var(--color-main-background);--plyr-menu-color: var(--color-main-text);--plyr-audio-controls-background: var(--color-main-background);--plyr-audio-control-color: var(--color-main-text);--plyr-button-size: 44px;--plyr-range-fill-background: var(--color-primary-element)}[data-v-572afae3] .plyr .plyr__controls{flex-wrap:wrap}[data-v-572afae3] .plyr .plyr__controls .plyr__volume,[data-v-572afae3] .plyr .plyr__controls .plyr__progress__container{max-width:100%;flex:1 1}[data-v-572afae3] .plyr .plyr__controls .plyr__progress__container{flex:4 1}[data-v-572afae3] .plyr button{width:var(--plyr-button-size);height:var(--plyr-button-size);padding:calc((var(--plyr-button-size) - var(--plyr-control-icon-size)) / 2);cursor:pointer;border:none;background-color:transparent;line-height:inherit}[data-v-572afae3] .plyr button:hover,[data-v-572afae3] .plyr button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-572afae3] .plyr button.plyr__control--overlaid{width:var(--plyr-button-size);height:var(--plyr-button-size);color:var(--color-primary-element-text);background-color:var(--color-primary-element);--plyr-button-size: 50px}[data-v-572afae3] .plyr button.plyr__control--overlaid:hover,[data-v-572afae3] .plyr button.plyr__control--overlaid:focus{background-color:var(--color-primary-element-hover)}[data-v-572afae3] .plyr .plyr__menu__container button{width:120px;margin:0;color:var(--color-main-text)}[data-v-572afae3] .plyr .plyr__menu__container button:hover,[data-v-572afae3] .plyr .plyr__menu__container button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-572afae3] .plyr .plyr__menu__container button.plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-572afae3] .plyr .plyr__menu__container button.plyr__control--back{margin:calc(var(--plyr-control-spacing, 10px) * .7);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-572afae3] .plyr .plyr__progress__buffer{width:calc(100% + var(--plyr-range-thumb-height, 13px));height:var(--plyr-range-track-height, 5px);background:transparent}@media only screen and (max-width: 480px){[data-v-572afae3] .plyr .plyr__volume{display:none}}[data-v-572afae3] .plyr button{color:#fff}[data-v-572afae3] .plyr button:hover,[data-v-572afae3] .plyr button:focus{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}main.viewer__hidden-fullscreen{height:100vh!important;width:100vw!important;margin:0!important}footer.viewer__hidden-fullscreen{display:none!important}audio[data-v-2be0d851]{z-index:20050;align-self:center;max-width:100%;max-height:100%;background-color:#000;justify-self:center}[data-v-2be0d851] .plyr__progress__container{flex:1 1}[data-v-2be0d851] .plyr{--plyr-color-main: var(--color-primary-element);--plyr-control-icon-size: 18px;--plyr-menu-background: var(--color-main-background);--plyr-menu-color: var(--color-main-text);--plyr-audio-controls-background: var(--color-main-background);--plyr-audio-control-color: var(--color-main-text);--plyr-button-size: 44px;--plyr-range-fill-background: var(--color-primary-element)}[data-v-2be0d851] .plyr .plyr__controls{flex-wrap:wrap}[data-v-2be0d851] .plyr .plyr__controls .plyr__volume,[data-v-2be0d851] .plyr .plyr__controls .plyr__progress__container{max-width:100%;flex:1 1}[data-v-2be0d851] .plyr .plyr__controls .plyr__progress__container{flex:4 1}[data-v-2be0d851] .plyr button{width:var(--plyr-button-size);height:var(--plyr-button-size);padding:calc((var(--plyr-button-size) - var(--plyr-control-icon-size)) / 2);cursor:pointer;border:none;background-color:transparent;line-height:inherit}[data-v-2be0d851] .plyr button:hover,[data-v-2be0d851] .plyr button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-2be0d851] .plyr button.plyr__control--overlaid{width:var(--plyr-button-size);height:var(--plyr-button-size);color:var(--color-primary-element-text);background-color:var(--color-primary-element);--plyr-button-size: 50px}[data-v-2be0d851] .plyr button.plyr__control--overlaid:hover,[data-v-2be0d851] .plyr button.plyr__control--overlaid:focus{background-color:var(--color-primary-element-hover)}[data-v-2be0d851] .plyr .plyr__menu__container button{width:120px;margin:0;color:var(--color-main-text)}[data-v-2be0d851] .plyr .plyr__menu__container button:hover,[data-v-2be0d851] .plyr .plyr__menu__container button:focus{color:var(--color-main-text);background-color:var(--color-background-hover)}[data-v-2be0d851] .plyr .plyr__menu__container button.plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-2be0d851] .plyr .plyr__menu__container button.plyr__control--back{margin:calc(var(--plyr-control-spacing, 10px) * .7);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px) * .7 * 4)}[data-v-2be0d851] .plyr .plyr__progress__buffer{width:calc(100% + var(--plyr-range-thumb-height, 13px));height:var(--plyr-range-track-height, 5px);background:transparent}@media only screen and (max-width: 480px){[data-v-2be0d851] .plyr .plyr__volume{display:none}}@media only screen and (max-width: 500px){[data-v-2be0d851] .plyr--audio{top:calc(17.5vw + 30px)}} diff --git a/css/main-D_aIfD80.chunk.css b/css/main-DKwmbWFy.chunk.css similarity index 84% rename from css/main-D_aIfD80.chunk.css rename to css/main-DKwmbWFy.chunk.css index c7d4dfcb7..aa6a545b6 100644 --- a/css/main-D_aIfD80.chunk.css +++ b/css/main-DKwmbWFy.chunk.css @@ -7,4 +7,4 @@ */._file-picker__file-icon_19mjt_9{width:32px;height:32px;min-width:32px;min-height:32px;background-repeat:no-repeat;background-size:contain;display:flex;justify-content:center}tr.file-picker__row[data-v-15187afc]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-15187afc]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-15187afc]{padding:0 2px}tr.file-picker__row td[data-v-15187afc]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-15187afc]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-15187afc]{padding-inline:2px 0}@keyframes gradient-15187afc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.loading-row .row-checkbox[data-v-15187afc]{text-align:center!important}.loading-row span[data-v-15187afc]{display:inline-block;height:24px;background:linear-gradient(to right,var(--color-background-darker),var(--color-text-maxcontrast),var(--color-background-darker));background-size:600px 100%;border-radius:var(--border-radius);animation:gradient-15187afc 12s ease infinite}.loading-row .row-wrapper[data-v-15187afc]{display:inline-flex;align-items:center}.loading-row .row-checkbox span[data-v-15187afc]{width:24px}.loading-row .row-name span[data-v-15187afc]:last-of-type{margin-inline-start:6px;width:130px}.loading-row .row-size span[data-v-15187afc]{width:80px}.loading-row .row-modified span[data-v-15187afc]{width:90px}/*! * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later -*/tr.file-picker__row[data-v-cb12dccb]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-cb12dccb]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-cb12dccb]{padding:0 2px}tr.file-picker__row td[data-v-cb12dccb]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-cb12dccb]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-cb12dccb]{padding-inline:2px 0}.file-picker__row--selected[data-v-cb12dccb]{background-color:var(--color-background-dark)}.file-picker__row[data-v-cb12dccb]:hover{background-color:var(--color-background-hover)}.file-picker__name-container[data-v-cb12dccb]{display:flex;justify-content:start;align-items:center;height:100%}.file-picker__file-name[data-v-cb12dccb]{padding-inline-start:6px;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-picker__file-extension[data-v-cb12dccb]{color:var(--color-text-maxcontrast);min-width:fit-content}.file-picker__header-preview[data-v-006fdbd0]{width:22px;height:32px;flex:0 0 auto}.file-picker__files[data-v-006fdbd0]{margin:2px;margin-inline-start:12px;overflow:scroll auto}.file-picker__files table[data-v-006fdbd0]{width:100%;max-height:100%;table-layout:fixed}.file-picker__files th[data-v-006fdbd0]{position:-webkit-sticky;position:sticky;z-index:1;top:0;background-color:var(--color-main-background);padding:2px}.file-picker__files th .header-wrapper[data-v-006fdbd0]{display:flex}.file-picker__files th.row-checkbox[data-v-006fdbd0]{width:44px}.file-picker__files th.row-name[data-v-006fdbd0]{width:230px}.file-picker__files th.row-size[data-v-006fdbd0]{width:100px}.file-picker__files th.row-modified[data-v-006fdbd0]{width:120px}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue__wrapper{justify-content:start;flex-direction:row-reverse}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue{padding-inline:16px 4px}.file-picker__files th.row-size[data-v-006fdbd0] .button-vue__wrapper{justify-content:end}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper{color:var(--color-text-maxcontrast)}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper .button-vue__text{font-weight:400}.file-picker__breadcrumbs[data-v-b357227a]{flex-grow:0!important}.file-picker__side[data-v-b42054b8]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:200px;padding:2px;margin-block-start:7px;overflow:auto}.file-picker__side[data-v-b42054b8] .button-vue__wrapper{justify-content:start}.file-picker__filter-input[data-v-b42054b8]{margin-block:7px;max-width:260px}@media (max-width: 736px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}}@media (max-width: 512px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}.file-picker__filter-input[data-v-b42054b8]{max-width:unset}}.file-picker__navigation{padding-inline:8px 2px}.file-picker__navigation,.file-picker__navigation *{box-sizing:border-box}.file-picker__navigation .v-select.select{min-width:220px}@media (min-width: 513px) and (max-width: 736px){.file-picker__navigation{gap:11px}}@media (max-width: 512px){.file-picker__navigation{flex-direction:column-reverse!important}}.file-picker__view[data-v-20b719ba]{height:50px;display:flex;justify-content:start;align-items:center}.file-picker__view h3[data-v-20b719ba]{font-weight:700;height:fit-content;margin:0}.file-picker__main[data-v-20b719ba]{box-sizing:border-box;width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding-inline:2px}.file-picker__main *[data-v-20b719ba]{box-sizing:border-box}[data-v-20b719ba] .file-picker{height:min(80vh,800px)!important}@media (max-width: 512px){[data-v-20b719ba] .file-picker{height:calc(100% - 16px - var(--default-clickable-area))!important}}[data-v-20b719ba] .file-picker__content{display:flex;flex-direction:column;overflow:hidden}#emptycontent[data-v-23ff8610]{margin:0;padding:10% 5%;background-color:var(--color-main-background)}.viewer.modal-mask[data-v-0e2f24d2]{transition:width ease .1s,background-color .3s ease}.viewer[data-v-0e2f24d2] .modal-container,.viewer__content[data-v-0e2f24d2]{overflow:visible!important;cursor:pointer}.viewer--split[data-v-0e2f24d2]{display:flex}.viewer--split .viewer__file--active[data-v-0e2f24d2]{width:50%;left:0;position:relative}.viewer[data-v-0e2f24d2] .modal-wrapper .modal-container{top:var(--header-height);bottom:var(--header-height);height:auto;background-color:transparent;box-shadow:none}.viewer__content[data-v-0e2f24d2]{width:100%;height:100%}.viewer__file-wrapper[data-v-0e2f24d2]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.viewer__file-wrapper--hidden[data-v-0e2f24d2]{position:absolute;z-index:-1;left:-10000px}.viewer__file[data-v-0e2f24d2]{transition:height .1s ease,width .1s ease}.viewer.theme--dark[data-v-0e2f24d2] .button-vue--vue-tertiary:hover{background-color:#ffffff14!important}.viewer.theme--dark[data-v-0e2f24d2] .button-vue--vue-tertiary:focus,.viewer.theme--dark[data-v-0e2f24d2] .button-vue--vue-tertiary:focus-visible{background-color:#ffffff14!important;outline:2px solid var(--color-primary-element)!important}.viewer.theme--dark[data-v-0e2f24d2] .button-vue--vue-tertiary.action-item__menutoggle{background-color:transparent}.viewer.theme--undefined.modal-mask[data-v-0e2f24d2]{background-color:transparent!important}.viewer.theme--light.modal-mask[data-v-0e2f24d2]{background-color:#ffffffeb!important}.viewer.theme--light[data-v-0e2f24d2] .modal-header__name,.viewer.theme--light[data-v-0e2f24d2] .modal-header .icons-menu button svg{color:#000!important}.viewer.theme--default.modal-mask[data-v-0e2f24d2]{background-color:var(--color-main-background)!important}.viewer.theme--default[data-v-0e2f24d2] .modal-header__name,.viewer.theme--default[data-v-0e2f24d2] .modal-header .icons-menu{color:var(--color-main-text)!important}.viewer.theme--default[data-v-0e2f24d2] .modal-header__name button svg,.viewer.theme--default[data-v-0e2f24d2] .modal-header__name a,.viewer.theme--default[data-v-0e2f24d2] .modal-header .icons-menu button svg,.viewer.theme--default[data-v-0e2f24d2] .modal-header .icons-menu a{color:var(--color-main-text)!important}.viewer.image--fullscreen[data-v-0e2f24d2] .modal-header .modal-header__name{opacity:0}.viewer.image--fullscreen[data-v-0e2f24d2] .modal-header .icons-menu{background-color:#0003}.viewer.image--fullscreen[data-v-0e2f24d2] .modal-wrapper .modal-container{top:0;bottom:0;height:100%}.component-fade-enter-active,.component-fade-leave-active{transition:opacity .3s ease}.component-fade-enter,.component-fade-leave-to{opacity:0}#viewer.modal-mask--dark .action-item--single.icon-menu-sidebar{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%20version='1.1'%20viewbox='0%200%2016%2016'%3e%3cpath%20d='m2%202c-0.554%200-1%200.446-1%201s0.446%201%201%201h12c0.554%200%201-0.446%201-1s-0.446-1-1-1h-12zm9.717%204.0059c-1.247%200-2.1428%201.0199-2.1428%201.998%200%200.9995%200.0726%201.7127%200.5718%202.4981%200.16%200.207%200.347%200.251%200.5%200.43%200.097%200.357%200.171%200.713%200.071%201.07-0.311%200.109-0.607%200.237-0.9065%200.357-0.364-0.195-0.7863-0.357-1.1503-0.5-0.05-0.2-0.0129-0.347%200.0371-0.535%200.0856-0.089%200.163-0.129%200.2558-0.215%200.2642-0.321%200.2793-0.864%200.2793-1.2496%200-0.5712-0.5135-0.9981-1.0703-0.9981-0.6211%200-1.0723%200.5126-1.0723%200.9981h-0.0136c0%200.4996%200.0353%200.8576%200.2851%201.2496%200.0714%200.107%200.1729%200.126%200.25%200.215%200.0481%200.179%200.0859%200.357%200.0352%200.535-0.4569%200.16-0.8863%200.357-1.2832%200.571-0.2999%200.214-0.1668%200.131-0.3574%200.822-0.0886%200.357%200.928%200.521%201.6562%200.578-0.0357%200.196-0.0857%200.457-0.2285%200.957-0.2285%200.893%203.1074%201.213%204.2834%201.213%201.735%200%204.507-0.325%204.269-1.213-0.371-1.385-0.15-1.221-0.701-1.642-0.778-0.467-1.749-0.834-2.568-1.143-0.107-0.398-0.03-0.692%200.07-1.07%200.168-0.179%200.357-0.259%200.514-0.43%200.492-0.6312%200.556-1.7299%200.556-2.4981%200-1.1323-1.019-1.998-2.14-1.998zm-9.717%200.9941c-0.554%200-1%200.446-1%201s0.446%201%201%201h4.2852c0.0891-0.1855%200.2-0.3648%200.3515-0.5195%200.3721-0.3801%200.9171-0.5988%201.4883-0.6192h0.0098%200.0097c0.1729%200.017%200.3042%200.0597%200.4297%200.1426%200-0.3488%200.0747-0.6853%200.1953-1.0039h-6.7695zm0%205c-0.554%200-1%200.446-1%201s0.446%201%201%201h3.25c-0.0375-0.049-0.0777-0.09-0.1113-0.152-0.1221-0.228-0.1706-0.568-0.1035-0.838l0.0019-0.012%200.0039-0.012c0.0822-0.298%200.0556-0.322%200.1445-0.615%200.0313-0.103%200.1114-0.245%200.1993-0.371h-3.3848z'%20fill='%23fff'/%3e%3c/svg%3e")}#viewer.modal-mask--dark .action-item--single.icon-download{background-image:var(--icon-download-fff)}.ui-autocomplete{z-index:2050!important} +*/tr.file-picker__row[data-v-cb12dccb]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-cb12dccb]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-cb12dccb]{padding:0 2px}tr.file-picker__row td[data-v-cb12dccb]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-cb12dccb]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-cb12dccb]{padding-inline:2px 0}.file-picker__row--selected[data-v-cb12dccb]{background-color:var(--color-background-dark)}.file-picker__row[data-v-cb12dccb]:hover{background-color:var(--color-background-hover)}.file-picker__name-container[data-v-cb12dccb]{display:flex;justify-content:start;align-items:center;height:100%}.file-picker__file-name[data-v-cb12dccb]{padding-inline-start:6px;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-picker__file-extension[data-v-cb12dccb]{color:var(--color-text-maxcontrast);min-width:fit-content}.file-picker__header-preview[data-v-006fdbd0]{width:22px;height:32px;flex:0 0 auto}.file-picker__files[data-v-006fdbd0]{margin:2px;margin-inline-start:12px;overflow:scroll auto}.file-picker__files table[data-v-006fdbd0]{width:100%;max-height:100%;table-layout:fixed}.file-picker__files th[data-v-006fdbd0]{position:-webkit-sticky;position:sticky;z-index:1;top:0;background-color:var(--color-main-background);padding:2px}.file-picker__files th .header-wrapper[data-v-006fdbd0]{display:flex}.file-picker__files th.row-checkbox[data-v-006fdbd0]{width:44px}.file-picker__files th.row-name[data-v-006fdbd0]{width:230px}.file-picker__files th.row-size[data-v-006fdbd0]{width:100px}.file-picker__files th.row-modified[data-v-006fdbd0]{width:120px}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue__wrapper{justify-content:start;flex-direction:row-reverse}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue{padding-inline:16px 4px}.file-picker__files th.row-size[data-v-006fdbd0] .button-vue__wrapper{justify-content:end}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper{color:var(--color-text-maxcontrast)}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper .button-vue__text{font-weight:400}.file-picker__breadcrumbs[data-v-b357227a]{flex-grow:0!important}.file-picker__side[data-v-b42054b8]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:200px;padding:2px;margin-block-start:7px;overflow:auto}.file-picker__side[data-v-b42054b8] .button-vue__wrapper{justify-content:start}.file-picker__filter-input[data-v-b42054b8]{margin-block:7px;max-width:260px}@media (max-width: 736px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}}@media (max-width: 512px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}.file-picker__filter-input[data-v-b42054b8]{max-width:unset}}.file-picker__navigation{padding-inline:8px 2px}.file-picker__navigation,.file-picker__navigation *{box-sizing:border-box}.file-picker__navigation .v-select.select{min-width:220px}@media (min-width: 513px) and (max-width: 736px){.file-picker__navigation{gap:11px}}@media (max-width: 512px){.file-picker__navigation{flex-direction:column-reverse!important}}.file-picker__view[data-v-20b719ba]{height:50px;display:flex;justify-content:start;align-items:center}.file-picker__view h3[data-v-20b719ba]{font-weight:700;height:fit-content;margin:0}.file-picker__main[data-v-20b719ba]{box-sizing:border-box;width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding-inline:2px}.file-picker__main *[data-v-20b719ba]{box-sizing:border-box}[data-v-20b719ba] .file-picker{height:min(80vh,800px)!important}@media (max-width: 512px){[data-v-20b719ba] .file-picker{height:calc(100% - 16px - var(--default-clickable-area))!important}}[data-v-20b719ba] .file-picker__content{display:flex;flex-direction:column;overflow:hidden}#emptycontent[data-v-23ff8610]{margin:0;padding:10% 5%;background-color:var(--color-main-background)}.viewer.modal-mask[data-v-edc2f34b]{transition:width ease .1s,background-color .3s ease}.viewer[data-v-edc2f34b] .modal-container,.viewer__content[data-v-edc2f34b]{overflow:visible!important;cursor:pointer}.viewer--split[data-v-edc2f34b]{display:flex}.viewer--split .viewer__file--active[data-v-edc2f34b]{width:50%;left:0;position:relative}.viewer[data-v-edc2f34b] .modal-wrapper .modal-container{top:var(--header-height);bottom:var(--header-height);height:auto;background-color:transparent;box-shadow:none}.viewer__content[data-v-edc2f34b]{width:100%;height:100%}.viewer__file-wrapper[data-v-edc2f34b]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.viewer__file-wrapper--hidden[data-v-edc2f34b]{position:absolute;z-index:-1;left:-10000px}.viewer__file[data-v-edc2f34b]{transition:height .1s ease,width .1s ease}.viewer.theme--dark[data-v-edc2f34b] .button-vue--vue-tertiary:hover{background-color:#ffffff14!important}.viewer.theme--dark[data-v-edc2f34b] .button-vue--vue-tertiary:focus,.viewer.theme--dark[data-v-edc2f34b] .button-vue--vue-tertiary:focus-visible{background-color:#ffffff14!important;outline:2px solid var(--color-primary-element)!important}.viewer.theme--dark[data-v-edc2f34b] .button-vue--vue-tertiary.action-item__menutoggle{background-color:transparent}.viewer.theme--undefined.modal-mask[data-v-edc2f34b]{background-color:transparent!important}.viewer.theme--light.modal-mask[data-v-edc2f34b]{background-color:#ffffffeb!important}.viewer.theme--light[data-v-edc2f34b] .modal-header__name,.viewer.theme--light[data-v-edc2f34b] .modal-header .icons-menu button svg{color:#000!important}.viewer.theme--default.modal-mask[data-v-edc2f34b]{background-color:var(--color-main-background)!important}.viewer.theme--default[data-v-edc2f34b] .modal-header__name,.viewer.theme--default[data-v-edc2f34b] .modal-header .icons-menu{color:var(--color-main-text)!important}.viewer.theme--default[data-v-edc2f34b] .modal-header__name button svg,.viewer.theme--default[data-v-edc2f34b] .modal-header__name a,.viewer.theme--default[data-v-edc2f34b] .modal-header .icons-menu button svg,.viewer.theme--default[data-v-edc2f34b] .modal-header .icons-menu a{color:var(--color-main-text)!important}.viewer.image--fullscreen[data-v-edc2f34b] .modal-header .modal-header__name{opacity:0}.viewer.image--fullscreen[data-v-edc2f34b] .modal-header .icons-menu{background-color:#0003}.viewer.image--fullscreen[data-v-edc2f34b] .modal-wrapper .modal-container{top:0;bottom:0;height:100%}.component-fade-enter-active,.component-fade-leave-active{transition:opacity .3s ease}.component-fade-enter,.component-fade-leave-to{opacity:0}#viewer.modal-mask--dark .action-item--single.icon-menu-sidebar{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='16'%20width='16'%20version='1.1'%20viewbox='0%200%2016%2016'%3e%3cpath%20d='m2%202c-0.554%200-1%200.446-1%201s0.446%201%201%201h12c0.554%200%201-0.446%201-1s-0.446-1-1-1h-12zm9.717%204.0059c-1.247%200-2.1428%201.0199-2.1428%201.998%200%200.9995%200.0726%201.7127%200.5718%202.4981%200.16%200.207%200.347%200.251%200.5%200.43%200.097%200.357%200.171%200.713%200.071%201.07-0.311%200.109-0.607%200.237-0.9065%200.357-0.364-0.195-0.7863-0.357-1.1503-0.5-0.05-0.2-0.0129-0.347%200.0371-0.535%200.0856-0.089%200.163-0.129%200.2558-0.215%200.2642-0.321%200.2793-0.864%200.2793-1.2496%200-0.5712-0.5135-0.9981-1.0703-0.9981-0.6211%200-1.0723%200.5126-1.0723%200.9981h-0.0136c0%200.4996%200.0353%200.8576%200.2851%201.2496%200.0714%200.107%200.1729%200.126%200.25%200.215%200.0481%200.179%200.0859%200.357%200.0352%200.535-0.4569%200.16-0.8863%200.357-1.2832%200.571-0.2999%200.214-0.1668%200.131-0.3574%200.822-0.0886%200.357%200.928%200.521%201.6562%200.578-0.0357%200.196-0.0857%200.457-0.2285%200.957-0.2285%200.893%203.1074%201.213%204.2834%201.213%201.735%200%204.507-0.325%204.269-1.213-0.371-1.385-0.15-1.221-0.701-1.642-0.778-0.467-1.749-0.834-2.568-1.143-0.107-0.398-0.03-0.692%200.07-1.07%200.168-0.179%200.357-0.259%200.514-0.43%200.492-0.6312%200.556-1.7299%200.556-2.4981%200-1.1323-1.019-1.998-2.14-1.998zm-9.717%200.9941c-0.554%200-1%200.446-1%201s0.446%201%201%201h4.2852c0.0891-0.1855%200.2-0.3648%200.3515-0.5195%200.3721-0.3801%200.9171-0.5988%201.4883-0.6192h0.0098%200.0097c0.1729%200.017%200.3042%200.0597%200.4297%200.1426%200-0.3488%200.0747-0.6853%200.1953-1.0039h-6.7695zm0%205c-0.554%200-1%200.446-1%201s0.446%201%201%201h3.25c-0.0375-0.049-0.0777-0.09-0.1113-0.152-0.1221-0.228-0.1706-0.568-0.1035-0.838l0.0019-0.012%200.0039-0.012c0.0822-0.298%200.0556-0.322%200.1445-0.615%200.0313-0.103%200.1114-0.245%200.1993-0.371h-3.3848z'%20fill='%23fff'/%3e%3c/svg%3e")}#viewer.modal-mask--dark .action-item--single.icon-download{background-image:var(--icon-download-fff)}.ui-autocomplete{z-index:2050!important} diff --git a/css/viewer-init.css b/css/viewer-init.css index 07876667d..93faebcc1 100644 --- a/css/viewer-init.css +++ b/css/viewer-init.css @@ -1,5 +1,5 @@ /* extracted by css-entry-points-plugin */ -@import './init-BT5Phsd1.chunk.css'; +@import './init-CGjTNE8M.chunk.css'; @import './previewUtils-BffjDTy3.chunk.css'; @import './NcActionButton-WAAyMq9-.chunk.css'; @import './NcActionLink-C3uWgqfV.chunk.css'; \ No newline at end of file diff --git a/css/viewer-main.css b/css/viewer-main.css index 965533f40..142560dc8 100644 --- a/css/viewer-main.css +++ b/css/viewer-main.css @@ -1,3 +1,3 @@ /* extracted by css-entry-points-plugin */ -@import './main-D_aIfD80.chunk.css'; +@import './main-DKwmbWFy.chunk.css'; @import './previewUtils-BffjDTy3.chunk.css'; \ No newline at end of file diff --git a/js/index-BKIG0lGC.chunk.mjs b/js/index-BKIG0lGC.chunk.mjs new file mode 100644 index 000000000..f3d9b5d41 --- /dev/null +++ b/js/index-BKIG0lGC.chunk.mjs @@ -0,0 +1,2 @@ +/*! third party licenses: js/vendor.LICENSE.txt */ +var dN=Object.defineProperty,hN=Object.defineProperties;var fN=Object.getOwnPropertyDescriptors;var $f=Object.getOwnPropertySymbols;var zw=Object.prototype.hasOwnProperty,Bw=Object.prototype.propertyIsEnumerable;var jw=(e,t,n)=>t in e?dN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xn=(e,t)=>{for(var n in t||(t={}))zw.call(t,n)&&jw(e,n,t[n]);if($f)for(var n of $f(t))Bw.call(t,n)&&jw(e,n,t[n]);return e},qf=(e,t)=>hN(e,fN(t));var m4=(e,t)=>{var n={};for(var r in e)zw.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$f)for(var r of $f(e))t.indexOf(r)<0&&Bw.call(e,r)&&(n[r]=e[r]);return n};import{p as Yo,m as mh,S as el}from"./previewUtils-IBFOr72u.chunk.mjs";function Qr(e){"@babel/helpers - typeof";return Qr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qr(e)}function pN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gN(e,t){if(Qr(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Qr(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function XP(e){var t=gN(e,"string");return Qr(t)=="symbol"?t:t+""}function mN(e,t){for(var n=0;n>>1,ie=U[ae];if(0>>1;aei(Ce,Q))pei(R,Ce)?(U[ae]=R,U[pe]=Q,ae=pe):(U[ae]=Ce,U[ue]=Q,ae=ue);else if(pei(R,Q))U[ae]=R,U[pe]=Q,ae=pe;else break e}}return J}function i(U,J){var Q=U.sortIndex-J.sortIndex;return Q!==0?Q:U.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var u=[],d=[],f=1,w=null,m=3,g=!1,y=!1,C=!1,P=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(U){for(var J=n(d);J!==null;){if(J.callback===null)r(d);else if(J.startTime<=U)r(d),J.sortIndex=J.expirationTime,t(u,J);else break;J=n(d)}}function x(U){if(C=!1,p(U),!y)if(n(u)!==null)y=!0,G(O);else{var J=n(d);J!==null&&q(x,J.startTime-U)}}function O(U,J){y=!1,C&&(C=!1,S(L),L=-1),g=!0;var Q=m;try{for(p(J),w=n(u);w!==null&&(!(w.expirationTime>J)||U&&!N());){var ae=w.callback;if(typeof ae=="function"){w.callback=null,m=w.priorityLevel;var ie=ae(w.expirationTime<=J);J=e.unstable_now(),typeof ie=="function"?w.callback=ie:w===n(u)&&r(u),p(J)}else r(u);w=n(u)}if(w!==null)var oe=!0;else{var ue=n(d);ue!==null&&q(x,ue.startTime-J),oe=!1}return oe}finally{w=null,m=Q,g=!1}}var k=!1,I=null,L=-1,D=5,M=-1;function N(){return!(e.unstable_now()-MU||125ae?(U.sortIndex=Q,t(d,U),n(u)===null&&U===n(d)&&(C?(S(L),L=-1):C=!0,q(x,Q-ae))):(U.sortIndex=ie,t(u,U),y||g||(y=!0,G(O))),U},e.unstable_shouldYield=N,e.unstable_wrapCallback=function(U){var J=m;return function(){var Q=m;m=J;try{return U.apply(this,arguments)}finally{m=Q}}}})(Xw),nk.exports=Xw;var IN=nk.exports,FN=ek,Di=IN;function Se(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zy=Object.prototype.hasOwnProperty,DN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Yw={},Kw={};function NN(e){return zy.call(Kw,e)?!0:zy.call(Yw,e)?!1:DN.test(e)?Kw[e]=!0:(Yw[e]=!0,!1)}function RN(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function jN(e,t,n,r){if(t===null||typeof t>"u"||RN(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Zr(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var Sr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Sr[e]=new Zr(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Sr[t]=new Zr(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Sr[e]=new Zr(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Sr[e]=new Zr(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Sr[e]=new Zr(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Sr[e]=new Zr(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Sr[e]=new Zr(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Sr[e]=new Zr(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Sr[e]=new Zr(e,5,!1,e.toLowerCase(),null,!1,!1)});var b4=/[\-:]([a-z])/g;function w4(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(b4,w4);Sr[t]=new Zr(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(b4,w4);Sr[t]=new Zr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(b4,w4);Sr[t]=new Zr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Sr[e]=new Zr(e,1,!1,e.toLowerCase(),null,!1,!1)}),Sr.xlinkHref=new Zr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Sr[e]=new Zr(e,1,!1,e.toLowerCase(),null,!0,!0)});function E8(e,t,n,r){var i=Sr.hasOwnProperty(t)?Sr[t]:null;(i!==null?i.type!==0:r||!(2c||i[o]!==a[c]){var u="\n"+i[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=c);break}}}finally{C4=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D0(e):""}function zN(e){switch(e.tag){case 5:return D0(e.type);case 16:return D0("Lazy");case 13:return D0("Suspense");case 19:return D0("SuspenseList");case 0:case 2:case 15:return e=S4(e.type,!1),e;case 11:return e=S4(e.type.render,!1),e;case 1:return e=S4(e.type,!0),e;default:return""}}function Vy(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vd:return"Fragment";case md:return"Portal";case By:return"Profiler";case P8:return"StrictMode";case Hy:return"Suspense";case Gy:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ak:return(e.displayName||"Context")+".Consumer";case ik:return(e._context.displayName||"Context")+".Provider";case k8:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case L8:return t=e.displayName||null,t!==null?t:Vy(e.type)||"Memo";case Ks:t=e._payload,e=e._init;try{return Vy(e(t))}catch(n){}}return null}function BN(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vy(t);case 8:return t===P8?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function fl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function sk(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function HN(e){var t=sk(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ep(e){e._valueTracker||(e._valueTracker=HN(e))}function lk(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=sk(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function og(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Uy(e,t){var n=t.checked;return En({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function $w(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=fl(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ck(e,t){t=t.checked,t!=null&&E8(e,"checked",t,!1)}function Wy(e,t){ck(e,t);var n=fl(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Xy(e,t.type,n):t.hasOwnProperty("defaultValue")&&Xy(e,t.type,fl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function qw(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Xy(e,t,n){(t!=="number"||og(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var N0=Array.isArray;function Md(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=tp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function l1(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var X0={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},GN=["Webkit","ms","Moz","O"];Object.keys(X0).forEach(function(e){GN.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),X0[t]=X0[e]})});function fk(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||X0.hasOwnProperty(e)&&X0[e]?(""+t).trim():t+"px"}function pk(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=fk(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var VN=En({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Zy(e,t){if(t){if(VN[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Se(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Se(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Se(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Se(62))}}function $y(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var qy=null;function M8(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Qy=null,Td=null,Ad=null;function ex(e){if(e=H1(e)){if(typeof Qy!="function")throw Error(Se(280));var t=e.stateNode;t&&(t=v3(t),Qy(e.stateNode,e.type,t))}}function gk(e){Td?Ad?Ad.push(e):Ad=[e]:Td=e}function mk(){if(Td){var e=Td,t=Ad;if(Ad=Td=null,ex(e),t)for(e=0;e>>=0,e===0?32:31-(eR(e)/tR|0)|0}var np=64,rp=4194304;function R0(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ug(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var c=o&~i;c!==0?r=R0(c):(a&=o,a!==0&&(r=R0(a)))}else o=n&~i,o!==0?r=R0(o):a!==0&&(r=R0(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function z1(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ma(t),e[t]=n}function aR(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=K0),cx=" ",ux=!1;function Nk(e,t){switch(e){case"keyup":return IR.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rk(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var yd=!1;function DR(e,t){switch(e){case"compositionend":return Rk(t);case"keypress":return t.which!==32?null:(ux=!0,cx);case"textInput":return e=t.data,e===cx&&ux?null:e;default:return null}}function NR(e,t){if(yd)return e==="compositionend"||!j8&&Nk(e,t)?(e=Fk(),M2=D8=tl=null,yd=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=px(n)}}function Hk(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Hk(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Gk(){for(var e=window,t=og();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch(r){n=!1}if(n)e=t.contentWindow;else break;t=og(e.document)}return t}function z8(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function WR(e){var t=Gk(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Hk(n.ownerDocument.documentElement,n)){if(r!==null&&z8(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=gx(n,a);var o=gx(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,bd=null,i6=null,$0=null,a6=!1;function mx(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;a6||bd==null||bd!==og(r)||(r=bd,"selectionStart"in r&&z8(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),$0&&p1($0,r)||($0=r,r=fg(i6,"onSelect"),0Cd||(e.current=d6[Cd],d6[Cd]=null,Cd--)}function sn(e,t){Cd++,d6[Cd]=e.current,e.current=t}var pl={},Br=bl(pl),ui=bl(!1),zc=pl;function Vd(e,t){var n=e.type.contextTypes;if(!n)return pl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function di(e){return e=e.childContextTypes,e!=null}function gg(){fn(ui),fn(Br)}function Sx(e,t,n){if(Br.current!==pl)throw Error(Se(168));sn(Br,t),sn(ui,n)}function qk(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Se(108,BN(e)||"Unknown",i));return En({},n,r)}function mg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pl,zc=Br.current,sn(Br,e),sn(ui,ui.current),!0}function _x(e,t,n){var r=e.stateNode;if(!r)throw Error(Se(169));n?(e=qk(e,t,zc),r.__reactInternalMemoizedMergedChildContext=e,fn(ui),fn(Br),sn(Br,e)):fn(ui),sn(ui,n)}var Ho=null,y3=!1,R4=!1;function Qk(e){Ho===null?Ho=[e]:Ho.push(e)}function rj(e){y3=!0,Qk(e)}function wl(){if(!R4&&Ho!==null){R4=!0;var e=0,t=Ht;try{var n=Ho;for(Ht=1;e>=o,i-=o,Go=1<<32-Ma(t)+i|n<L?(D=I,I=null):D=I.sibling;var M=m(S,I,p[L],x);if(M===null){I===null&&(I=D);break}e&&I&&M.alternate===null&&t(S,I),E=a(M,E,L),k===null?O=M:k.sibling=M,k=M,I=D}if(L===p.length)return n(S,I),gn&&wc(S,L),O;if(I===null){for(;LL?(D=I,I=null):D=I.sibling;var N=m(S,I,M.value,x);if(N===null){I===null&&(I=D);break}e&&I&&N.alternate===null&&t(S,I),E=a(N,E,L),k===null?O=N:k.sibling=N,k=N,I=D}if(M.done)return n(S,I),gn&&wc(S,L),O;if(I===null){for(;!M.done;L++,M=p.next())M=w(S,M.value,x),M!==null&&(E=a(M,E,L),k===null?O=M:k.sibling=M,k=M);return gn&&wc(S,L),O}for(I=r(S,I);!M.done;L++,M=p.next())M=g(I,S,L,M.value,x),M!==null&&(e&&M.alternate!==null&&I.delete(M.key===null?L:M.key),E=a(M,E,L),k===null?O=M:k.sibling=M,k=M);return e&&I.forEach(function(z){return t(S,z)}),gn&&wc(S,L),O}function P(S,E,p,x){if(typeof p=="object"&&p!==null&&p.type===vd&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case Jf:e:{for(var O=p.key,k=E;k!==null;){if(k.key===O){if(O=p.type,O===vd){if(k.tag===7){n(S,k.sibling),E=i(k,p.props.children),E.return=S,S=E;break e}}else if(k.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===Ks&&Px(O)===k.type){n(S,k.sibling),E=i(k,p.props),E.ref=l0(S,k,p),E.return=S,S=E;break e}n(S,k);break}else t(S,k);k=k.sibling}p.type===vd?(E=Mc(p.props.children,S.mode,x,p.key),E.return=S,S=E):(x=j2(p.type,p.key,p.props,null,S.mode,x),x.ref=l0(S,E,p),x.return=S,S=x)}return o(S);case md:e:{for(k=p.key;E!==null;){if(E.key===k)if(E.tag===4&&E.stateNode.containerInfo===p.containerInfo&&E.stateNode.implementation===p.implementation){n(S,E.sibling),E=i(E,p.children||[]),E.return=S,S=E;break e}else{n(S,E);break}else t(S,E);E=E.sibling}E=W4(p,S.mode,x),E.return=S,S=E}return o(S);case Ks:return k=p._init,P(S,E,k(p._payload),x)}if(N0(p))return y(S,E,p,x);if(r0(p))return C(S,E,p,x);up(S,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,E!==null&&E.tag===6?(n(S,E.sibling),E=i(E,p),E.return=S,S=E):(n(S,E),E=U4(p,S.mode,x),E.return=S,S=E),o(S)):n(S,E)}return P}var Wd=nL(!0),rL=nL(!1),bg=bl(null),wg=null,Od=null,V8=null;function U8(){V8=Od=wg=null}function W8(e){var t=bg.current;fn(bg),e._currentValue=t}function p6(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Fd(e,t){wg=e,V8=Od=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ci=!0),e.firstContext=null)}function aa(e){var t=e._currentValue;if(V8!==e)if(e={context:e,memoizedValue:t,next:null},Od===null){if(wg===null)throw Error(Se(308));Od=e,wg.dependencies={lanes:0,firstContext:e}}else Od=Od.next=e;return t}var Ec=null;function X8(e){Ec===null?Ec=[e]:Ec.push(e)}function iL(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,X8(t)):(n.next=i.next,i.next=n),t.interleaved=n,Zo(e,r)}function Zo(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Zs=!1;function Y8(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function aL(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $o(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function sl(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Pt&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Zo(e,n)}return i=r.interleaved,i===null?(t.next=t,X8(r)):(t.next=i.next,i.next=t),r.interleaved=t,Zo(e,n)}function A2(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,A8(e,n)}}function kx(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function xg(e,t,n,r){var i=e.updateQueue;Zs=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,c=i.shared.pending;if(c!==null){i.shared.pending=null;var u=c,d=u.next;u.next=null,o===null?a=d:o.next=d,o=u;var f=e.alternate;f!==null&&(f=f.updateQueue,c=f.lastBaseUpdate,c!==o&&(c===null?f.firstBaseUpdate=d:c.next=d,f.lastBaseUpdate=u))}if(a!==null){var w=i.baseState;o=0,f=d=u=null,c=a;do{var m=c.lane,g=c.eventTime;if((r&m)===m){f!==null&&(f=f.next={eventTime:g,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var y=e,C=c;switch(m=t,g=n,C.tag){case 1:if(y=C.payload,typeof y=="function"){w=y.call(g,w,m);break e}w=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=C.payload,m=typeof y=="function"?y.call(g,w,m):y,m==null)break e;w=En({},w,m);break e;case 2:Zs=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,m=i.effects,m===null?i.effects=[c]:m.push(c))}else g={eventTime:g,lane:m,tag:c.tag,payload:c.payload,callback:c.callback,next:null},f===null?(d=f=g,u=w):f=f.next=g,o|=m;if(c=c.next,c===null){if(c=i.shared.pending,c===null)break;m=c,c=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);if(f===null&&(u=w),i.baseState=u,i.firstBaseUpdate=d,i.lastBaseUpdate=f,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Gc|=o,e.lanes=o,e.memoizedState=w}}function Lx(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=z4.transition;z4.transition={};try{e(!1),t()}finally{Ht=n,z4.transition=r}}function CL(){return oa().memoizedState}function sj(e,t,n){var r=cl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},SL(e))_L(t,n);else if(n=iL(e,t,n,r),n!==null){var i=qr();Ta(n,e,r,i),OL(n,t,r)}}function lj(e,t,n){var r=cl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(SL(e))_L(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,c=a(o,n);if(i.hasEagerState=!0,i.eagerState=c,Ia(c,o)){var u=t.interleaved;u===null?(i.next=i,X8(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch(d){}finally{}n=iL(e,t,i,r),n!==null&&(i=qr(),Ta(n,e,r,i),OL(n,t,r))}}function SL(e){var t=e.alternate;return e===On||t!==null&&t===On}function _L(e,t){q0=Sg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function OL(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,A8(e,n)}}var _g={readContext:aa,useCallback:Tr,useContext:Tr,useEffect:Tr,useImperativeHandle:Tr,useInsertionEffect:Tr,useLayoutEffect:Tr,useMemo:Tr,useReducer:Tr,useRef:Tr,useState:Tr,useDebugValue:Tr,useDeferredValue:Tr,useTransition:Tr,useMutableSource:Tr,useSyncExternalStore:Tr,useId:Tr,unstable_isNewReconciler:!1},cj={readContext:aa,useCallback:function(e,t){return Ja().memoizedState=[e,t===void 0?null:t],e},useContext:aa,useEffect:Tx,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,F2(4194308,4,vL.bind(null,t,e),n)},useLayoutEffect:function(e,t){return F2(4194308,4,e,t)},useInsertionEffect:function(e,t){return F2(4,2,e,t)},useMemo:function(e,t){var n=Ja();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ja();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=sj.bind(null,On,e),[r.memoizedState,e]},useRef:function(e){var t=Ja();return e={current:e},t.memoizedState=e},useState:Mx,useDebugValue:t7,useDeferredValue:function(e){return Ja().memoizedState=e},useTransition:function(){var e=Mx(!1),t=e[0];return e=oj.bind(null,e[1]),Ja().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=On,i=Ja();if(gn){if(n===void 0)throw Error(Se(407));n=n()}else{if(n=t(),vr===null)throw Error(Se(349));Hc&30||cL(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Tx(dL.bind(null,r,a,e),[e]),r.flags|=2048,C1(9,uL.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ja(),t=vr.identifierPrefix;if(gn){var n=Vo,r=Go;n=(r&~(1<<32-Ma(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=w1++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[to]=t,e[v1]=r,DL(e,t,!1,!1),t.stateNode=e;e:{switch(o=$y(n,r),n){case"dialog":un("cancel",e),un("close",e),i=r;break;case"iframe":case"object":case"embed":un("load",e),i=r;break;case"video":case"audio":for(i=0;iKd&&(t.flags|=128,r=!0,c0(a,!1),t.lanes=4194304)}else{if(!r)if(e=Cg(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),c0(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!gn)return Ar(t),null}else 2*Gn()-a.renderingStartTime>Kd&&n!==1073741824&&(t.flags|=128,r=!0,c0(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Gn(),t.sibling=null,n=Cn.current,sn(Cn,r?n&1|2:n&1),t):(Ar(t),null);case 22:case 23:return s7(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Li&1073741824&&(Ar(t),t.subtreeFlags&6&&(t.flags|=8192)):Ar(t),null;case 24:return null;case 25:return null}throw Error(Se(156,t.tag))}function vj(e,t){switch(H8(t),t.tag){case 1:return di(t.type)&&gg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Xd(),fn(ui),fn(Br),$8(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Z8(t),null;case 13:if(fn(Cn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Se(340));Ud()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fn(Cn),null;case 4:return Xd(),null;case 10:return W8(t.type._context),null;case 22:case 23:return s7(),null;case 24:return null;default:return null}}var hp=!1,zr=!1,yj=typeof WeakSet=="function"?WeakSet:Set,De=null;function Ed(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Dn(e,t,r)}else n.current=null}function jL(e,t,n){try{n()}catch(r){Dn(e,t,r)}}var Gx=!1;function bj(e,t){if(o6=dg,e=Gk(),z8(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch(x){n=null;break e}var o=0,c=-1,u=-1,d=0,f=0,w=e,m=null;t:for(;;){for(var g;w!==n||i!==0&&w.nodeType!==3||(c=o+i),w!==a||r!==0&&w.nodeType!==3||(u=o+r),w.nodeType===3&&(o+=w.nodeValue.length),(g=w.firstChild)!==null;)m=w,w=g;for(;;){if(w===e)break t;if(m===n&&++d===i&&(c=o),m===a&&++f===r&&(u=o),(g=w.nextSibling)!==null)break;w=m,m=w.parentNode}w=g}n=c===-1||u===-1?null:{start:c,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(s6={focusedElem:e,selectionRange:n},dg=!1,De=t;De!==null;)if(t=De,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,De=e;else for(;De!==null;){t=De;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var C=y.memoizedProps,P=y.memoizedState,S=t.stateNode,E=S.getSnapshotBeforeUpdate(t.elementType===t.type?C:_a(t.type,C),P);S.__reactInternalSnapshotBeforeUpdate=E}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Se(163))}}catch(x){Dn(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,De=e;break}De=t.return}return y=Gx,Gx=!1,y}function Q0(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&jL(t,n,a)}i=i.next}while(i!==r)}}function x3(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function S6(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function zL(e){var t=e.alternate;t!==null&&(e.alternate=null,zL(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[to],delete t[v1],delete t[u6],delete t[tj],delete t[nj])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function BL(e){return e.tag===5||e.tag===3||e.tag===4}function Vx(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||BL(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _6(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=pg));else if(r!==4&&(e=e.child,e!==null))for(_6(e,t,n),e=e.sibling;e!==null;)_6(e,t,n),e=e.sibling}function O6(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(O6(e,t,n),e=e.sibling;e!==null;)O6(e,t,n),e=e.sibling}var Cr=null,Oa=!1;function Os(e,t,n){for(n=n.child;n!==null;)HL(e,t,n),n=n.sibling}function HL(e,t,n){if(ao&&typeof ao.onCommitFiberUnmount=="function")try{ao.onCommitFiberUnmount(f3,n)}catch(c){}switch(n.tag){case 5:zr||Ed(n,t);case 6:var r=Cr,i=Oa;Cr=null,Os(e,t,n),Cr=r,Oa=i,Cr!==null&&(Oa?(e=Cr,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Cr.removeChild(n.stateNode));break;case 18:Cr!==null&&(Oa?(e=Cr,n=n.stateNode,e.nodeType===8?N4(e.parentNode,n):e.nodeType===1&&N4(e,n),h1(e)):N4(Cr,n.stateNode));break;case 4:r=Cr,i=Oa,Cr=n.stateNode.containerInfo,Oa=!0,Os(e,t,n),Cr=r,Oa=i;break;case 0:case 11:case 14:case 15:if(!zr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&jL(n,t,o),i=i.next}while(i!==r)}Os(e,t,n);break;case 1:if(!zr&&(Ed(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(c){Dn(n,t,c)}Os(e,t,n);break;case 21:Os(e,t,n);break;case 22:n.mode&1?(zr=(r=zr)||n.memoizedState!==null,Os(e,t,n),zr=r):Os(e,t,n);break;default:Os(e,t,n)}}function Ux(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yj),t.forEach(function(r){var i=kj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function va(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=Gn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*xj(r/1960))-r,10e?16:e,nl===null)var r=!1;else{if(e=nl,nl=null,Pg=0,Pt&6)throw Error(Se(331));var i=Pt;for(Pt|=4,De=e.current;De!==null;){var a=De,o=a.child;if(De.flags&16){var c=a.deletions;if(c!==null){for(var u=0;uGn()-a7?Lc(e,0):i7|=n),hi(e,t)}function ZL(e,t){t===0&&(e.mode&1?(t=rp,rp<<=1,!(rp&130023424)&&(rp=4194304)):t=1);var n=qr();e=Zo(e,t),e!==null&&(z1(e,t,n),hi(e,n))}function Pj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ZL(e,n)}function kj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Se(314))}r!==null&&r.delete(t),ZL(e,n)}var $L;$L=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ui.current)ci=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ci=!1,gj(e,t,n);ci=!!(e.flags&131072)}else ci=!1,gn&&t.flags&1048576&&Jk(t,yg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;D2(e,t),e=t.pendingProps;var i=Vd(t,Br.current);Fd(t,n),i=Q8(null,t,r,e,i,n);var a=J8();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,di(r)?(a=!0,mg(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Y8(t),i.updater=w3,t.stateNode=i,i._reactInternals=t,m6(t,r,e,n),t=b6(null,t,r,!0,a,n)):(t.tag=0,gn&&a&&B8(t),$r(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(D2(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Mj(r),e=_a(r,e),i){case 0:t=y6(null,t,r,e,n);break e;case 1:t=zx(null,t,r,e,n);break e;case 11:t=Rx(null,t,r,e,n);break e;case 14:t=jx(null,t,r,_a(r.type,e),n);break e}throw Error(Se(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),y6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),zx(e,t,r,i,n);case 3:e:{if(AL(t),e===null)throw Error(Se(387));r=t.pendingProps,a=t.memoizedState,i=a.element,aL(e,t),xg(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Yd(Error(Se(423)),t),t=Bx(e,t,r,n,i);break e}else if(r!==i){i=Yd(Error(Se(424)),t),t=Bx(e,t,r,n,i);break e}else for(Ai=ol(t.stateNode.containerInfo.firstChild),Fi=t,gn=!0,Ea=null,n=rL(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ud(),r===i){t=Qo(e,t,n);break e}$r(e,t,r,n)}t=t.child}return t;case 5:return oL(t),e===null&&f6(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,l6(r,i)?o=null:a!==null&&l6(r,a)&&(t.flags|=32),TL(e,t),$r(e,t,o,n),t.child;case 6:return e===null&&f6(t),null;case 13:return IL(e,t,n);case 4:return K8(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wd(t,null,r,n):$r(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),Rx(e,t,r,i,n);case 7:return $r(e,t,t.pendingProps,n),t.child;case 8:return $r(e,t,t.pendingProps.children,n),t.child;case 12:return $r(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,sn(bg,r._currentValue),r._currentValue=o,a!==null)if(Ia(a.value,o)){if(a.children===i.children&&!ui.current){t=Qo(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var c=a.dependencies;if(c!==null){o=a.child;for(var u=c.firstContext;u!==null;){if(u.context===r){if(a.tag===1){u=$o(-1,n&-n),u.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var f=d.pending;f===null?u.next=u:(u.next=f.next,f.next=u),d.pending=u}}a.lanes|=n,u=a.alternate,u!==null&&(u.lanes|=n),p6(a.return,n,t),c.lanes|=n;break}u=u.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(Se(341));o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),p6(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}$r(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Fd(t,n),i=aa(i),r=r(i),t.flags|=1,$r(e,t,r,n),t.child;case 14:return r=t.type,i=_a(r,t.pendingProps),i=_a(r.type,i),jx(e,t,r,i,n);case 15:return LL(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),D2(e,t),t.tag=1,di(r)?(e=!0,mg(t)):e=!1,Fd(t,n),EL(t,r,i),m6(t,r,i,n),b6(null,t,r,!0,e,n);case 19:return FL(e,t,n);case 22:return ML(e,t,n)}throw Error(Se(156,t.tag))};function qL(e,t){return Sk(e,t)}function Lj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function na(e,t,n,r){return new Lj(e,t,n,r)}function c7(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Mj(e){if(typeof e=="function")return c7(e)?1:0;if(e!=null){if(e=e.$$typeof,e===k8)return 11;if(e===L8)return 14}return 2}function ul(e,t){var n=e.alternate;return n===null?(n=na(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function j2(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")c7(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case vd:return Mc(n.children,i,a,t);case P8:o=8,i|=8;break;case By:return e=na(12,n,t,i|2),e.elementType=By,e.lanes=a,e;case Hy:return e=na(13,n,t,i),e.elementType=Hy,e.lanes=a,e;case Gy:return e=na(19,n,t,i),e.elementType=Gy,e.lanes=a,e;case ok:return S3(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ik:o=10;break e;case ak:o=9;break e;case k8:o=11;break e;case L8:o=14;break e;case Ks:o=16,r=null;break e}throw Error(Se(130,e==null?e:typeof e,""))}return t=na(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Mc(e,t,n,r){return e=na(7,e,r,t),e.lanes=n,e}function S3(e,t,n,r){return e=na(22,e,r,t),e.elementType=ok,e.lanes=n,e.stateNode={isHidden:!1},e}function U4(e,t,n){return e=na(6,e,null,t),e.lanes=n,e}function W4(e,t,n){return t=na(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Tj(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=O4(0),this.expirationTimes=O4(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=O4(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function u7(e,t,n,r,i,a,o,c,u){return e=new Tj(e,t,n,c,u),t===1?(t=1,a===!0&&(t|=8)):t=0,a=na(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Y8(a),e}function Aj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(eM)}catch(e){console.error(e)}}eM(),tk.exports=Ei;var Nj=tk.exports,T6,Jx=Nj;T6=Jx.createRoot,Jx.hydrateRoot;var tM={exports:{}},ot={},d7=Symbol.for("react.transitional.element"),Rj=Symbol.for("react.portal"),jj=Symbol.for("react.fragment"),zj=Symbol.for("react.strict_mode"),Bj=Symbol.for("react.profiler"),Hj=Symbol.for("react.consumer"),Gj=Symbol.for("react.context"),Vj=Symbol.for("react.forward_ref"),Uj=Symbol.for("react.suspense"),Wj=Symbol.for("react.memo"),nM=Symbol.for("react.lazy"),eC=Symbol.iterator;function Xj(e){return e===null||typeof e!="object"?null:(e=eC&&e[eC]||e["@@iterator"],typeof e=="function"?e:null)}var rM={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},iM=Object.assign,aM={};function Nd(e,t,n){this.props=e,this.context=t,this.refs=aM,this.updater=n||rM}Nd.prototype.isReactComponent={},Nd.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},Nd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function oM(){}oM.prototype=Nd.prototype;function h7(e,t,n){this.props=e,this.context=t,this.refs=aM,this.updater=n||rM}var K4=h7.prototype=new oM;K4.constructor=h7,iM(K4,Nd.prototype),K4.isPureReactComponent=!0;var tC=Array.isArray,wn={H:null,A:null,T:null,S:null},nC=Object.prototype.hasOwnProperty;function A6(e,t,n,r,i,a){return n=a.ref,{$$typeof:d7,type:e,key:t,ref:n!==void 0?n:null,props:a}}function Yj(e,t){return A6(e.type,t,void 0,void 0,void 0,e.props)}function I6(e){return typeof e=="object"&&e!==null&&e.$$typeof===d7}function Kj(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var rC=/\/+/g;function Z4(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Kj(""+e.key):t.toString(36)}function iC(){}function Zj(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(iC,iC):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function hd(e,t,n,r,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case d7:case Rj:o=!0;break;case nM:return o=e._init,hd(o(e._payload),t,n,r,i)}}if(o)return i=i(e),o=r===""?"."+Z4(e,0):r,tC(i)?(n="",o!=null&&(n=o.replace(rC,"$&/")+"/"),hd(i,t,n,"",function(d){return d})):i!=null&&(I6(i)&&(i=Yj(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(rC,"$&/")+"/")+o)),t.push(i)),1;o=0;var c=r===""?".":r+":";if(tC(e))for(var u=0;u0?gr(bh,--sa):0,qd--,Kn===10&&(qd=1,O3--),Kn}function Aa(){return Kn=sa2||D6(Kn)>3?"":" "}function sz(e,t){for(;--t&&Aa()&&!(Kn<48||Kn>102||Kn>57&&Kn<65||Kn>70&&Kn<97););return P3(e,B2()+(t<6&&Tc()==32&&Aa()==32))}function N6(e){for(;Aa();)switch(Kn){case e:return sa;case 34:case 39:e!==34&&e!==39&&N6(Kn);break;case 40:e===41&&N6(e);break;case 92:Aa();break}return sa}function lz(e,t){for(;Aa()&&e+Kn!==57&&!(e+Kn===84&&Tc()===47););return"/*"+P3(t,sa-1)+"*"+p7(e===47?e:Aa())}function cz(e){for(;!D6(Tc());)Aa();return P3(e,sa)}function uz(e){return az(H2("",null,null,null,[""],e=iz(e),0,[0],e))}function H2(e,t,n,r,i,a,o,c,u){for(var d=0,f=0,w=o,m=0,g=0,y=0,C=1,P=1,S=1,E=0,p="",x=i,O=a,k=r,I=p;P;)switch(y=E,E=Aa()){case 40:if(y!=108&&gr(I,w-1)==58){z2(I+=st($4(E),"&","&\f"),"&\f",cM(d?c[d-1]:0))!=-1&&(S=-1);break}case 34:case 39:case 91:I+=$4(E);break;case 9:case 10:case 13:case 32:I+=oz(y);break;case 92:I+=sz(B2()-1,7);continue;case 47:switch(Tc()){case 42:case 47:z0(dz(lz(Aa(),B2()),t,n,u),u);break;default:I+="/"}break;case 123*C:c[d++]=eo(I)*S;case 125*C:case 59:case 0:switch(E){case 0:case 125:P=0;case 59+f:S==-1&&(I=st(I,/\f/g,"")),g>0&&eo(I)-w&&z0(g>32?lC(I+";",r,n,w-1,u):lC(st(I," ","")+";",r,n,w-2,u),u);break;case 59:I+=";";default:if(z0(k=sC(I,t,n,d,f,i,c,p,x=[],O=[],w,a),a),E===123)if(f===0)H2(I,t,k,k,x,a,w,c,O);else switch(m===99&&gr(I,3)===110?100:m){case 100:case 108:case 109:case 115:H2(e,k,k,r&&z0(sC(e,k,k,0,0,i,c,p,i,x=[],w,O),O),i,O,w,c,r?x:O);break;default:H2(I,k,k,k,[""],O,0,c,O)}}d=f=g=0,C=S=1,p=I="",w=o;break;case 58:w=1+eo(I),g=y;default:if(C<1){if(E==123)--C;else if(E==125&&C++==0&&rz()==125)continue}switch(I+=p7(E),E*C){case 38:S=f>0?1:(I+="\f",-1);break;case 44:c[d++]=(eo(I)-1)*S,S=1;break;case 64:Tc()===45&&(I+=$4(Aa())),m=Tc(),f=w=eo(p=I+=cz(B2())),E++;break;case 45:y===45&&eo(I)==2&&(C=0)}}return a}function sC(e,t,n,r,i,a,o,c,u,d,f,w){for(var m=i-1,g=i===0?a:[""],y=dM(g),C=0,P=0,S=0;C0?g[E]+" "+p:st(p,/&\f/g,g[E])))&&(u[S++]=x);return E3(e,t,n,i===0?_3:c,u,d,f,w)}function dz(e,t,n,r){return E3(e,t,n,sM,p7(nz()),$d(e,2,-2),0,r)}function lC(e,t,n,r,i){return E3(e,t,n,f7,$d(e,0,r),$d(e,r+1,-1),r,i)}function fM(e,t,n){switch(ez(e,t)){case 5103:return Nt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Nt+e+e;case 4789:return t1+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Nt+e+t1+e+dn+e+e;case 5936:switch(gr(e,t+11)){case 114:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Nt+e+dn+e+e;case 6165:return Nt+e+dn+"flex-"+e+e;case 5187:return Nt+e+st(e,/(\w+).+(:[^]+)/,Nt+"box-$1$2"+dn+"flex-$1$2")+e;case 5443:return Nt+e+dn+"flex-item-"+st(e,/flex-|-self/g,"")+(Bo(e,/flex-|baseline/)?"":dn+"grid-row-"+st(e,/flex-|-self/g,""))+e;case 4675:return Nt+e+dn+"flex-line-pack"+st(e,/align-content|flex-|-self/g,"")+e;case 5548:return Nt+e+dn+st(e,"shrink","negative")+e;case 5292:return Nt+e+dn+st(e,"basis","preferred-size")+e;case 6060:return Nt+"box-"+st(e,"-grow","")+Nt+e+dn+st(e,"grow","positive")+e;case 4554:return Nt+st(e,/([^-])(transform)/g,"$1"+Nt+"$2")+e;case 6187:return st(st(st(e,/(zoom-|grab)/,Nt+"$1"),/(image-set)/,Nt+"$1"),e,"")+e;case 5495:case 3959:return st(e,/(image-set\([^]*)/,Nt+"$1$`$1");case 4968:return st(st(e,/(.+:)(flex-)?(.*)/,Nt+"box-pack:$3"+dn+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Nt+e+e;case 4200:if(!Bo(e,/flex-|baseline/))return dn+"grid-column-align"+$d(e,t)+e;break;case 2592:case 3360:return dn+st(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,i){return t=i,Bo(r.props,/grid-\w+-end/)})?~z2(e+(n=n[t].value),"span",0)?e:dn+st(e,"-start","")+e+dn+"grid-row-span:"+(~z2(n,"span",0)?Bo(n,/\d+/):+Bo(n,/\d+/)-+Bo(e,/\d+/))+";":dn+st(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return Bo(r.props,/grid-\w+-start/)})?e:dn+st(st(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return st(e,/(.+)-inline(.+)/,Nt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(eo(e)-1-t>6)switch(gr(e,t+1)){case 109:if(gr(e,t+4)!==45)break;case 102:return st(e,/(.+:)(.+)-([^]+)/,"$1"+Nt+"$2-$3$1"+t1+(gr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~z2(e,"stretch",0)?fM(st(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return st(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,i,a,o,c,u,d){return dn+i+":"+a+d+(o?dn+i+"-span:"+(c?u:+u-+a)+d:"")+e});case 4949:if(gr(e,t+6)===121)return st(e,":",":"+Nt)+e;break;case 6444:switch(gr(e,gr(e,14)===45?18:11)){case 120:return st(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Nt+(gr(e,14)===45?"inline-":"")+"box$3$1"+Nt+"$2$3$1"+dn+"$2box$3")+e;case 100:return st(e,":",":"+dn)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return st(e,"scroll-","scroll-snap-")+e}return e}function Ag(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case f7:e.return=fM(e.value,e.length,n);return;case lM:return Ag([Us(e,{value:st(e.value,"@","@"+Nt)})],r);case _3:if(e.length)return tz(n=e.props,function(i){switch(Bo(i,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":Ru(Us(e,{props:[st(i,/:(read-\w+)/,":"+t1+"$1")]})),Ru(Us(e,{props:[i]})),F6(e,{props:oC(n,r)});break;case"::placeholder":Ru(Us(e,{props:[st(i,/:(plac\w+)/,":"+Nt+"input-$1")]})),Ru(Us(e,{props:[st(i,/:(plac\w+)/,":"+t1+"$1")]})),Ru(Us(e,{props:[st(i,/:(plac\w+)/,dn+"input-$1")]})),Ru(Us(e,{props:[i]})),F6(e,{props:oC(n,r)});break}return""})}}var mz={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ki={},Qd=typeof Yo<"u"&&ki!==void 0&&(ki.REACT_APP_SC_ATTR||ki.SC_ATTR)||"data-styled",pM="active",gM="data-styled-version",k3="6.1.14",g7="/*!sc*/\n",Ig=typeof window<"u"&&"HTMLElement"in window,vz=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof Yo<"u"&&ki!==void 0&&ki.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&ki.REACT_APP_SC_DISABLE_SPEEDY!==""?ki.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&ki.REACT_APP_SC_DISABLE_SPEEDY:typeof Yo<"u"&&ki!==void 0&&ki.SC_DISABLE_SPEEDY!==void 0&&ki.SC_DISABLE_SPEEDY!==""&&ki.SC_DISABLE_SPEEDY!=="false"&&ki.SC_DISABLE_SPEEDY),yz={},L3=Object.freeze([]),Jd=Object.freeze({});function mM(e,t,n){return n===void 0&&(n=Jd),e.theme!==n.theme&&e.theme||t||n.theme}var vM=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),bz=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,wz=/(^-|-$)/g;function cC(e){return e.replace(bz,"-").replace(wz,"")}var xz=/(a)(d)/gi,yp=52,uC=function(e){return String.fromCharCode(e+(e>25?39:97))};function R6(e){var t,n="";for(t=Math.abs(e);t>yp;t=t/yp|0)n=uC(t%yp)+n;return(uC(t%yp)+n).replace(xz,"$1-$2")}var q4,yM=5381,kd=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},bM=function(e){return kd(yM,e)};function m7(e){return R6(bM(e)>>>0)}function Cz(e){return e.displayName||e.name||"Component"}function Q4(e){return typeof e=="string"&&!0}var wM=typeof Symbol=="function"&&Symbol.for,xM=wM?Symbol.for("react.memo"):60115,Sz=wM?Symbol.for("react.forward_ref"):60112,_z={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Oz={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},CM={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Ez=((q4={})[Sz]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},q4[xM]=CM,q4);function dC(e){return("type"in(t=e)&&t.type.$$typeof)===xM?CM:"$$typeof"in e?Ez[e.$$typeof]:_z;var t}var Pz=Object.defineProperty,kz=Object.getOwnPropertyNames,hC=Object.getOwnPropertySymbols,Lz=Object.getOwnPropertyDescriptor,Mz=Object.getPrototypeOf,fC=Object.prototype;function SM(e,t,n){if(typeof t!="string"){if(fC){var r=Mz(t);r&&r!==fC&&SM(e,r,n)}var i=kz(t);hC&&(i=i.concat(hC(t)));for(var a=dC(e),o=dC(t),c=0;c0?" Args: ".concat(t.join(", ")):""))}var Tz=function(){function e(t){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=t}return e.prototype.indexOfGroup=function(t){for(var n=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,i=r.length,a=i;t>=a;)if((a<<=1)<0)throw gl(16,"".concat(t));this.groupSizes=new Uint32Array(a),this.groupSizes.set(r),this.length=a;for(var o=i;o=this.length||this.groupSizes[t]===0)return n;for(var r=this.groupSizes[t],i=this.indexOfGroup(t),a=i+r,o=i;o=0){var r=document.createTextNode(n);return this.element.insertBefore(r,this.nodes[t]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(t){this.element.removeChild(this.nodes[t]),this.length--},e.prototype.getRule=function(t){return t0&&(P+="".concat(S,","))}),u+="".concat(y).concat(C,'{content:"').concat(P,'"}').concat(g7)},f=0;f0?".".concat(t):m},f=u.slice();f.push(function(m){m.type===_3&&m.value.includes("&")&&(m.props[0]=m.props[0].replace(Gz,n).replace(r,d))}),o.prefix&&f.push(gz),f.push(hz);var w=function(m,g,y,C){g===void 0&&(g=""),y===void 0&&(y=""),C===void 0&&(C="&"),t=C,n=g,r=new RegExp("\\".concat(n,"\\b"),"g");var P=m.replace(Vz,""),S=uz(y||g?"".concat(y," ").concat(g," { ").concat(P," }"):P);o.namespace&&(S=OM(S,o.namespace));var E=[];return Ag(S,fz(f.concat(pz(function(p){return E.push(p)})))),E};return w.hash=u.length?u.reduce(function(m,g){return g.name||gl(15),kd(m,g.name)},yM).toString():"",w}var Wz=new Ng,z6=Uz(),EM=b.createContext({shouldForwardProp:void 0,styleSheet:Wz,stylis:z6});EM.Consumer,b.createContext(void 0);function B6(){return B.useContext(EM)}var PM=function(){function e(t,n){var r=this;this.inject=function(i,a){a===void 0&&(a=z6);var o=r.name+a.hash;i.hasNameForId(r.id,o)||i.insertRules(r.id,o,a(r.rules,o,"@keyframes"))},this.name=t,this.id="sc-keyframes-".concat(t),this.rules=n,y7(this,function(){throw gl(12,String(r.name))})}return e.prototype.getName=function(t){return t===void 0&&(t=z6),this.name+t.hash},e}(),Xz=function(e){return e>="A"&&e<="Z"};function mC(e){for(var t="",n=0;n>>0);if(!n.hasNameForId(this.componentId,o)){var c=r(a,".".concat(o),void 0,this.componentId);n.insertRules(this.componentId,o,c)}i=kc(i,o),this.staticRulesId=o}else{for(var u=kd(this.baseHash,r.hash),d="",f=0;f>>0);n.hasNameForId(this.componentId,g)||n.insertRules(this.componentId,g,r(d,".".concat(g),void 0,this.componentId)),i=kc(i,g)}}return i},e}(),eh=b.createContext(void 0);eh.Consumer;function Zz(){var e=B.useContext(eh);if(!e)throw gl(18);return e}function $z(e){var t=b.useContext(eh),n=B.useMemo(function(){return function(r,i){if(!r)throw gl(14);if(Uc(r)){var a=r(i);return a}if(Array.isArray(r)||typeof r!="object")throw gl(8);return i?mr(mr({},i),r):r}(e.theme,t)},[e.theme,t]);return e.children?b.createElement(eh.Provider,{value:n},e.children):null}var J4={};function qz(e,t,n){var r=v7(e),i=e,a=!Q4(e),o=t.attrs,c=o===void 0?L3:o,u=t.componentId,d=u===void 0?function(x,O){var k=typeof x!="string"?"sc":cC(x);J4[k]=(J4[k]||0)+1;var I="".concat(k,"-").concat(m7(k3+k+J4[k]));return O?"".concat(O,"-").concat(I):I}(t.displayName,t.parentComponentId):u,f=t.displayName,w=f===void 0?function(x){return Q4(x)?"styled.".concat(x):"Styled(".concat(Cz(x),")")}(e):f,m=t.displayName&&t.componentId?"".concat(cC(t.displayName),"-").concat(t.componentId):t.componentId||d,g=r&&i.attrs?i.attrs.concat(c).filter(Boolean):c,y=t.shouldForwardProp;if(r&&i.shouldForwardProp){var C=i.shouldForwardProp;if(t.shouldForwardProp){var P=t.shouldForwardProp;y=function(x,O){return C(x,O)&&P(x,O)}}else y=C}var S=new Kz(n,m,r?i.componentStyle:void 0);function E(x,O){return function(k,I,L){var D=k.attrs,M=k.componentStyle,N=k.defaultProps,z=k.foldedComponentIds,H=k.styledComponentId,W=k.target,K=b.useContext(eh),G=B6(),q=k.shouldForwardProp||G.shouldForwardProp,U=mM(I,K,N)||Jd,J=function(Ce,pe,R){for(var Y,re=mr(mr({},pe),{className:void 0,theme:R}),be=0;be2&&Ng.registerId(this.componentId+t),this.removeStyles(t,r),this.createStyles(t,n,r,i)},e}();function M3(e){for(var t=[],n=1;n-1}function Hi(V,ee){var he=this.__data__,Ne=Ha(he,V);return Ne<0?(++this.size,he.push([V,ee])):he[Ne][1]=ee,this}ei.prototype.clear=Jc,ei.prototype.delete=ja,ei.prototype.get=Vn,ei.prototype.has=ti,ei.prototype.set=Hi;function ho(V){var ee=-1,he=V==null?0:V.length;for(this.clear();++ee1?he[ft-1]:void 0,zt=ft>2?he[2]:void 0;for(wt=V.length>3&&typeof wt=="function"?(ft--,wt):void 0,zt&&uf(he[0],he[1],zt)&&(wt=ft<3?void 0:wt,ft=1),ee=Object(ee);++Ne-1&&V%1==0&&V0){if(++ee>=i)return arguments[0]}else ee=0;return V.apply(void 0,arguments)}}function pf(V){if(V!=null){try{return ln.call(V)}catch(ee){}try{return V+""}catch(ee){}}return""}function Ml(V,ee){return V===ee||V!==V&&ee!==ee}var au=Ll(function(){return arguments}())?Ll:function(V){return po(V)&&tn.call(V,"callee")&&!We.call(V,"callee")},Tl=Array.isArray;function ou(V){return V!=null&&Ah(V.length)&&!lu(V)}function gf(V){return po(V)&&ou(V)}var su=br||uu;function lu(V){if(!Ga(V))return!1;var ee=ni(V);return ee==g||ee==y||ee==d||ee==p}function Ah(V){return typeof V=="number"&&V>-1&&V%1==0&&V<=o}function Ga(V){var ee=typeof V;return V!=null&&(ee=="object"||ee=="function")}function po(V){return V!=null&&typeof V=="object"}function mf(V){if(!po(V)||ni(V)!=E)return!1;var ee=ze(V);if(ee===null)return!0;var he=tn.call(ee,"constructor")&&ee.constructor;return typeof he=="function"&&he instanceof he&&ln.call(he)==yr}var Ih=ge?Me(ge):Ph;function t5(V){return af(V,vf(V))}function vf(V){return ou(V)?_h(V):Q1(V)}var yf=of(function(V,ee,he){kh(V,ee,he)});function Al(V){return function(){return V}}function cu(V){return V}function uu(){return!1}e.exports=yf}(U2,U2.exports);var Jz=U2.exports;const eB=mh(Jz);function G6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,r=n||1e6,i=+e;return Math.min(Math.max(t,i),r)}function ev(e,t,n,r,i){return(e-t)*(i-r)/(n-t)+r}var C7=function(e){return e.replaceAll(/[^\d,]/gi,"").split(",").map(function(t){return+t})},W2=function(e){return e?[Number.parseInt(e.slice(1,3),16),Number.parseInt(e.slice(3,5),16),Number.parseInt(e.slice(5,7),16)]:[0,0,0]},IM=function(e){return e.toString(16).padStart(2,"0")},FM=function(){for(var e=arguments.length,t=new Array(e),n=0;n.5?w/(2-c-o):w/(c+o),c){case r:u=(i-a)/w+(i0&&arguments[0]!==void 0?arguments[0]:{};return e={},A(A(A(A(A(A(A(A(A(A(e,Oe.LabelExtraSmall,ye(ye({},Be),{},{fontSize:"10px",lineHeight:"12px"},t)),Oe.LabelExtraSmallEmphasis,ye(ye({},Be),{},{fontWeight:"Bold",fontSize:"10px",lineHeight:"12px"},t)),Oe.LabelExtraSmallUp,ye(ye({},Be),{},{fontSize:"11px",lineHeight:"12px"},t)),Oe.LabelSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},t)),Oe.LabelSmallEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},t)),Oe.LabelSmallUp,ye(ye({fontSize:"13px",lineHeight:"16px"},Be),t)),Oe.LabelSmallUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},t)),Oe.LabelMedium,ye(ye({fontSize:"14px",lineHeight:"16px"},Be),t)),Oe.LabelMediumEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},t)),Oe.LabelLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},t)),A(A(A(A(A(A(A(A(A(e,Oe.LabelLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},t)),Oe.LabelLargeUp,ye(ye({},Be),{},{fontWeight:on.Regular,fontSize:"18px",lineHeight:"20px"},t)),Oe.LabelExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"24px",lineHeight:"28px"},t)),Oe.LabelExtraLarge,ye(ye({},Be),{},{fontWeight:on.Regular,fontSize:"24px",lineHeight:"28px"},t)),Oe.LabelXExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"32px",lineHeight:"36px"},t)),Oe.LabelXExtraLarge,ye(ye({},Be),{},{fontSize:"32px",lineHeight:"36px"},t)),Oe.LabelXXExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"48px",lineHeight:"54px"},t)),Oe.LabelXXExtraLarge,ye(ye({},Be),{},{fontSize:"48px",lineHeight:"54px"},t)),Oe.LabelXXXExtraLarge,ye(ye({},Be),{},{fontSize:"60px",lineHeight:"68px"},t))},fB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A({},Oe.TextExtraSmall,ye(ye({},Be),{},{fontSize:"11px",lineHeight:"14px"},e)),Oe.TextSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"18px"},e)),Oe.TextSmallUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"18px"},e)),Oe.TextMedium,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"20px"},e)),Oe.TextLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"22px"},e)),Oe.TextExtraLarge,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"26px"},e)),Oe.TextXExtraLarge,ye(ye({},Be),{},{fontSize:"28px",lineHeight:"40px"},e))},pB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A(A(A(A({},Oe.ButtonSmEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},e)),Oe.ButtonSm,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.ButtonSmUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},e)),Oe.ButtonSmUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.ButtonMdEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},e)),Oe.ButtonMd,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.ButtonLgEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},e)),Oe.ButtonLg,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e)),Oe.ButtonLgUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"20px"},e)),Oe.ButtonLgUp,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"20px"},e))},gB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A(A(A(A({},Oe.LinkSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.LinkSmallEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},e)),Oe.LinkSmallUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.LinkSmallUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},e)),Oe.LinkMedium,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.LinkMediumEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},e)),Oe.LinkLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e)),Oe.LinkLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},e)),Oe.LinkLargeUp,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"20px"},e)),Oe.LinkLargeUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"20px"},e))},mB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A({},Oe.InputSm,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.InputSmUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.InputMd,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.InputLg,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e))},vB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A({},Oe.TitleH6,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"18px"},e)),Oe.TitleH5,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"21px"},e)),Oe.TitleH4,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"24px"},e)),Oe.TitleH3,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"27px"},e)),Oe.TitleH2,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"20px",lineHeight:"30px"},e)),Oe.TitleH1,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"28px",lineHeight:"42px"},e))},yB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ye(ye({fontFamily:Be.fontFamily,baseLineHeight:1.375},e),{},{font:ye(ye(ye(ye(ye(ye({},hB(e)),fB(e)),pB(e)),gB(e)),mB(e)),vB(e))})},bB=M3(["@keyframes spinner{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.Menu-open{overflow:hidden;}.Modal-open{overflow:hidden;}"]),av,Cp,ov,sv,lv,cv;function EC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function $i(e){for(var t=1;t=n.xs&&m=n.sm&&m=n.md&&m=n.lg&&m=n.xl&&m=n.xxl&&m=n.xxxl?g?y(i.xxxl):i.xxxl:g?y(i.md):i.md};return{keys:o,values:n,classes:i,getBreakpointClass:w,up:c,down:u,between:d,only:f}};function kC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ql(e){for(var t=1;t{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(lt);var Pn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=lt;class n{constructor(x=[1,0,0,1,0,0]){this.dirty=!1,this.m=x&&x.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(x){x.m[0]=this.m[0],x.m[1]=this.m[1],x.m[2]=this.m[2],x.m[3]=this.m[3],x.m[4]=this.m[4],x.m[5]=this.m[5]}point(x){const O=this.m;return{x:O[0]*x.x+O[2]*x.y+O[4],y:O[1]*x.x+O[3]*x.y+O[5]}}translate(x,O){return this.m[4]+=this.m[0]*x+this.m[2]*O,this.m[5]+=this.m[1]*x+this.m[3]*O,this}scale(x,O){return this.m[0]*=x,this.m[1]*=x,this.m[2]*=O,this.m[3]*=O,this}rotate(x){const O=Math.cos(x),k=Math.sin(x),I=this.m[0]*O+this.m[2]*k,L=this.m[1]*O+this.m[3]*k,D=this.m[0]*-k+this.m[2]*O,M=this.m[1]*-k+this.m[3]*O;return this.m[0]=I,this.m[1]=L,this.m[2]=D,this.m[3]=M,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(x,O){const k=this.m[0]+this.m[2]*O,I=this.m[1]+this.m[3]*O,L=this.m[2]+this.m[0]*x,D=this.m[3]+this.m[1]*x;return this.m[0]=k,this.m[1]=I,this.m[2]=L,this.m[3]=D,this}multiply(x){const O=this.m[0]*x.m[0]+this.m[2]*x.m[1],k=this.m[1]*x.m[0]+this.m[3]*x.m[1],I=this.m[0]*x.m[2]+this.m[2]*x.m[3],L=this.m[1]*x.m[2]+this.m[3]*x.m[3],D=this.m[0]*x.m[4]+this.m[2]*x.m[5]+this.m[4],M=this.m[1]*x.m[4]+this.m[3]*x.m[5]+this.m[5];return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}invert(){const x=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),O=this.m[3]*x,k=-this.m[1]*x,I=-this.m[2]*x,L=this.m[0]*x,D=x*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),M=x*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}getMatrix(){return this.m}decompose(){const x=this.m[0],O=this.m[1],k=this.m[2],I=this.m[3],L=this.m[4],D=this.m[5],M=x*I-O*k,N={x:L,y:D,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(x!=0||O!=0){const z=Math.sqrt(x*x+O*O);N.rotation=O>0?Math.acos(x/z):-Math.acos(x/z),N.scaleX=z,N.scaleY=M/z,N.skewX=(x*k+O*I)/M,N.skewY=0}else if(k!=0||I!=0){const z=Math.sqrt(k*k+I*I);N.rotation=Math.PI/2-(I>0?Math.acos(-k/z):-Math.acos(k/z)),N.scaleX=M/z,N.scaleY=z,N.skewX=0,N.skewY=(x*k+O*I)/M}return N.rotation=e.Util._getRotation(N.rotation),N}}e.Transform=n;const r="[object Array]",i="[object Number]",a="[object String]",o="[object Boolean]",c=Math.PI/180,u=180/Math.PI,d="#",f="",w="0",m="Konva warning: ",g="Konva error: ",y="rgb(",C={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},P=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/;let S=[];const E=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(p){setTimeout(p,60)};e.Util={_isElement(p){return!!(p&&p.nodeType==1)},_isFunction(p){return!!(p&&p.constructor&&p.call&&p.apply)},_isPlainObject(p){return!!p&&p.constructor===Object},_isArray(p){return Object.prototype.toString.call(p)===r},_isNumber(p){return Object.prototype.toString.call(p)===i&&!isNaN(p)&&isFinite(p)},_isString(p){return Object.prototype.toString.call(p)===a},_isBoolean(p){return Object.prototype.toString.call(p)===o},isObject(p){return p instanceof Object},isValidSelector(p){if(typeof p!="string")return!1;const x=p[0];return x==="#"||x==="."||x===x.toUpperCase()},_sign(p){return p===0||p>0?1:-1},requestAnimFrame(p){S.push(p),S.length===1&&E(function(){const x=S;S=[],x.forEach(function(O){O()})})},createCanvasElement(){const p=document.createElement("canvas");try{p.style=p.style||{}}catch(x){}return p},createImageElement(){return document.createElement("img")},_isInDocument(p){for(;p=p.parentNode;)if(p==document)return!0;return!1},_urlToImage(p,x){const O=e.Util.createImageElement();O.onload=function(){x(O)},O.src=p},_rgbToHex(p,x,O){return((1<<24)+(p<<16)+(x<<8)+O).toString(16).slice(1)},_hexToRgb(p){p=p.replace(d,f);const x=parseInt(p,16);return{r:x>>16&255,g:x>>8&255,b:x&255}},getRandomColor(){let p=(Math.random()*16777215<<0).toString(16);for(;p.length<6;)p=w+p;return d+p},getRGB(p){let x;return p in C?(x=C[p],{r:x[0],g:x[1],b:x[2]}):p[0]===d?this._hexToRgb(p.substring(1)):p.substr(0,4)===y?(x=P.exec(p.replace(/ /g,"")),{r:parseInt(x[1],10),g:parseInt(x[2],10),b:parseInt(x[3],10)}):{r:0,g:0,b:0}},colorToRGBA(p){return p=p||"black",e.Util._namedColorToRBA(p)||e.Util._hex3ColorToRGBA(p)||e.Util._hex4ColorToRGBA(p)||e.Util._hex6ColorToRGBA(p)||e.Util._hex8ColorToRGBA(p)||e.Util._rgbColorToRGBA(p)||e.Util._rgbaColorToRGBA(p)||e.Util._hslColorToRGBA(p)},_namedColorToRBA(p){const x=C[p.toLowerCase()];return x?{r:x[0],g:x[1],b:x[2],a:1}:null},_rgbColorToRGBA(p){if(p.indexOf("rgb(")===0){p=p.match(/rgb\(([^)]+)\)/)[1];const x=p.split(/ *, */).map(Number);return{r:x[0],g:x[1],b:x[2],a:1}}},_rgbaColorToRGBA(p){if(p.indexOf("rgba(")===0){p=p.match(/rgba\(([^)]+)\)/)[1];const x=p.split(/ *, */).map((O,k)=>O.slice(-1)==="%"?k===3?parseInt(O)/100:parseInt(O)/100*255:Number(O));return{r:x[0],g:x[1],b:x[2],a:x[3]}}},_hex8ColorToRGBA(p){if(p[0]==="#"&&p.length===9)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:parseInt(p.slice(7,9),16)/255}},_hex6ColorToRGBA(p){if(p[0]==="#"&&p.length===7)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:1}},_hex4ColorToRGBA(p){if(p[0]==="#"&&p.length===5)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:parseInt(p[4]+p[4],16)/255}},_hex3ColorToRGBA(p){if(p[0]==="#"&&p.length===4)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:1}},_hslColorToRGBA(p){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(p)){const[x,...O]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(p),k=Number(O[0])/360,I=Number(O[1])/100,L=Number(O[2])/100;let D,M,N;if(I===0)return N=L*255,{r:Math.round(N),g:Math.round(N),b:Math.round(N),a:1};L<.5?D=L*(1+I):D=L+I-L*I;const z=2*L-D,H=[0,0,0];for(let W=0;W<3;W++)M=k+1/3*-(W-1),M<0&&M++,M>1&&M--,6*M<1?N=z+(D-z)*6*M:2*M<1?N=D:3*M<2?N=z+(D-z)*(2/3-M)*6:N=z,H[W]=N*255;return{r:Math.round(H[0]),g:Math.round(H[1]),b:Math.round(H[2]),a:1}}},haveIntersection(p,x){return!(x.x>p.x+p.width||x.x+x.widthp.y+p.height||x.y+x.height1?(D=O,M=k,N=(O-I)*(O-I)+(k-L)*(k-L)):(D=p+H*(O-p),M=x+H*(k-x),N=(D-I)*(D-I)+(M-L)*(M-L))}return[D,M,N]},_getProjectionToLine(p,x,O){const k=e.Util.cloneObject(p);let I=Number.MAX_VALUE;return x.forEach(function(L,D){if(!O&&D===x.length-1)return;const M=x[(D+1)%x.length],N=e.Util._getProjectionToSegment(L.x,L.y,M.x,M.y,p.x,p.y),z=N[0],H=N[1],W=N[2];Wx.length){const D=x;x=p,p=D}for(let D=0;D{x.width=0,x.height=0})},drawRoundedRectPath(p,x,O,k){let I=0,L=0,D=0,M=0;typeof k=="number"?I=L=D=M=Math.min(k,x/2,O/2):(I=Math.min(k[0]||0,x/2,O/2),L=Math.min(k[1]||0,x/2,O/2),M=Math.min(k[2]||0,x/2,O/2),D=Math.min(k[3]||0,x/2,O/2)),p.moveTo(I,0),p.lineTo(x-L,0),p.arc(x-L,L,L,Math.PI*3/2,0,!1),p.lineTo(x,O-M),p.arc(x-M,O-M,M,0,Math.PI/2,!1),p.lineTo(D,O),p.arc(D,O-D,D,Math.PI/2,Math.PI,!1),p.lineTo(0,I),p.arc(I,I,I,Math.PI,Math.PI*3/2,!1)}}})(Pn);var mn={},dt={},Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.RGBComponent=PB,Ue.alphaComponent=kB,Ue.getNumberValidator=LB,Ue.getNumberOrArrayOfNumbersValidator=MB,Ue.getNumberOrAutoValidator=TB,Ue.getStringValidator=AB,Ue.getStringOrGradientValidator=IB,Ue.getFunctionValidator=FB,Ue.getNumberArrayValidator=DB,Ue.getBooleanValidator=NB,Ue.getComponentValidator=RB;const ns=lt,Nn=Pn;function rs(e){return Nn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function PB(e){return e>255?255:e<0?0:Math.round(e)}function kB(e){return e>1?1:e<1e-4?1e-4:e}function LB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isNumber(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function MB(e){if(ns.Konva.isUnminified)return function(t,n){let r=Nn.Util._isNumber(t),i=Nn.Util._isArray(t)&&t.length==e;return!r&&!i&&Nn.Util.warn(rs(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function TB(){if(ns.Konva.isUnminified)return function(e,t){var n=Nn.Util._isNumber(e),r=e==="auto";return n||r||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function AB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isString(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function IB(){if(ns.Konva.isUnminified)return function(e,t){const n=Nn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function FB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isFunction(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}function DB(){if(ns.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nn.Util._isArray(e)?e.forEach(function(r){Nn.Util._isNumber(r)||Nn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function NB(){if(ns.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function RB(e){if(ns.Konva.isUnminified)return function(t,n){return t==null||Nn.Util.isObject(t)||Nn.Util.warn(rs(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Pn,n=Ue,r="get",i="set";e.Factory={addGetterSetter(a,o,c,u,d){e.Factory.addGetter(a,o,c),e.Factory.addSetter(a,o,u,d),e.Factory.addOverloadedGetterSetter(a,o)},addGetter(a,o,c){var u=r+t.Util._capitalize(o);a.prototype[u]=a.prototype[u]||function(){const d=this.attrs[o];return d===void 0?c:d}},addSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]||e.Factory.overWriteSetter(a,o,c,u)},overWriteSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]=function(f){return c&&f!==void 0&&f!==null&&(f=c.call(this,f,o)),this._setAttr(o,f),u&&u.call(this),this}},addComponentsGetterSetter(a,o,c,u,d){const f=c.length,w=t.Util._capitalize,m=r+w(o),g=i+w(o);a.prototype[m]=function(){const C={};for(let P=0;P{this._setAttr(o+w(S),void 0)}),this._fireChangeEvent(o,P,C),d&&d.call(this),this},e.Factory.addOverloadedGetterSetter(a,o)},addOverloadedGetterSetter(a,o){var c=t.Util._capitalize(o),u=i+c,d=r+c;a.prototype[o]=function(){return arguments.length?(this[u](arguments[0]),this):this[d]()}},addDeprecatedGetterSetter(a,o,c,u){t.Util.error("Adding deprecated "+o);const d=r+t.Util._capitalize(o),f=o+" property is deprecated and will be removed soon. Look at Konva change log for more information.";a.prototype[d]=function(){t.Util.error(f);const w=this.attrs[o];return w===void 0?c:w},e.Factory.addSetter(a,o,u,function(){t.Util.error(f)}),e.Factory.addOverloadedGetterSetter(a,o)},backCompat(a,o){t.Util.each(o,function(c,u){const d=a.prototype[u],f=r+t.Util._capitalize(c),w=i+t.Util._capitalize(c);function m(){d.apply(this,arguments),t.Util.error('"'+c+'" method is deprecated and will be removed soon. Use ""'+u+'" instead.')}a.prototype[c]=m,a.prototype[f]=m,a.prototype[w]=m})},afterSetFilter(){this._filterUpToDate=!1}}})(dt);var ka={},Uo={};Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.HitContext=Uo.SceneContext=Uo.Context=void 0;const GM=Pn,jB=lt;function zB(e){const t=[],n=e.length,r=GM.Util;for(let i=0;itypeof d=="number"?Math.floor(d):d)),i+=BB+u.join(LC)+HB)):(i+=o.property,e||(i+=XB+o.val)),i+=UB;return i}clearTrace(){this.traceArr=[]}_trace(e){let t=this.traceArr,n;t.push(e),n=t.length,n>=KB&&t.shift()}reset(){const e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){const t=this.getCanvas();e?this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0):this.clearRect(0,0,t.getWidth()/t.pixelRatio,t.getHeight()/t.pixelRatio)}_applyLineCap(e){const t=e.attrs.lineCap;t&&this.setAttr("lineCap",t)}_applyOpacity(e){const t=e.getAbsoluteOpacity();t!==1&&this.setAttr("globalAlpha",t)}_applyLineJoin(e){const t=e.attrs.lineJoin;t&&this.setAttr("lineJoin",t)}setAttr(e,t){this._context[e]=t}arc(e,t,n,r,i,a){this._context.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,t){const n=arguments;if(n.length===2)return this._context.createImageData(e,t);if(n.length===1)return this._context.createImageData(e)}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(e,t,n,r,i,a,o,c,u){const d=arguments,f=this._context;d.length===3?f.drawImage(e,t,n):d.length===5?f.drawImage(e,t,n,r,i):d.length===9&&f.drawImage(e,t,n,r,i,a,o,c,u)}ellipse(e,t,n,r,i,a,o,c){this._context.ellipse(e,t,n,r,i,a,o,c)}isPointInPath(e,t,n,r){return n?this._context.isPointInPath(n,e,t,r):this._context.isPointInPath(e,t,r)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}rect(e,t,n,r){this._context.rect(e,t,n,r)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):"mozDash"in this._context?this._context.mozDash=e:"webkitLineDash"in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(e,t,n,r,i,a){this._context.setTransform(e,t,n,r,i,a)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._context.transform(e,t,n,r,i,a)}translate(e,t){this._context.translate(e,t)}_enableTrace(){let e=this,t=MC.length,n=this.setAttr,r,i;const a=function(o){let c=e[o],u;e[o]=function(){return i=zB(Array.prototype.slice.call(arguments,0)),u=c.apply(e,arguments),e._trace({method:o,args:i}),u}};for(r=0;r{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){let r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((a,o)=>{const{node:c}=a,u=c.getStage();u.setPointersPositions(r),a.pointerId===void 0&&(a.pointerId=n.Util._getFirstPointerId(r));const d=u._changedPointerPositions.find(f=>f.id===a.pointerId);if(d){if(a.dragStatus!=="dragging"){const f=c.dragDistance();if(Math.max(Math.abs(d.x-a.startPointerPos.x),Math.abs(d.y-a.startPointerPos.y)){a.fire("dragmove",{type:"dragmove",target:a,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(a=>{const{node:o}=a,c=o.getStage();if(r&&c.setPointersPositions(r),!c._changedPointerPositions.find(d=>d.id===a.pointerId))return;(a.dragStatus==="dragging"||a.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,a.dragStatus="stopped");const u=a.node.getLayer()||a.node instanceof t.Konva.Stage&&a.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(a=>{a.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,a)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(a)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("touchcancel",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1),window.addEventListener("touchcancel",e.DD._endDragAfter,!1))})(T3),Object.defineProperty(mn,"__esModule",{value:!0}),mn.Node=void 0;const yt=Pn,B0=dt,d0=ka,Es=lt,qi=T3,Bn=Ue,Y2="absoluteOpacity",_p="allEventListeners",Ro="absoluteTransform",TC="absoluteScale",Jl="canvas",nH="Change",rH="children",iH="konva",V6="listening",AC="mouseenter",IC="mouseleave",FC="set",DC="Shape",K2=" ",NC="stage",Ws="transform",aH="Stage",U6="visible",oH=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(K2);let sH=1,Qe=class W6{constructor(t){this._id=sH++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Ws||t===Ro)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){let r=this._cache.get(t);return(r===void 0||(t===Ws||t===Ro)&&r.dirty===!0)&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(a=>a+"Change.konva").join(K2);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(Jl)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Ro&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(Jl)){const{scene:t,filter:n,hit:r}=this._cache.get(Jl);yt.Util.releaseCanvas(t,n,r),this._cache.delete(Jl)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){const n=t||{};let r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0}));let i=Math.ceil(n.width||r.width),a=Math.ceil(n.height||r.height),o=n.pixelRatio,c=n.x===void 0?Math.floor(r.x):n.x,u=n.y===void 0?Math.floor(r.y):n.y,d=n.offset||0,f=n.drawBorder||!1,w=n.hitCanvasPixelRatio||1;if(!i||!a){yt.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}const m=Math.abs(Math.round(r.x)-c)>.5?1:0,g=Math.abs(Math.round(r.y)-u)>.5?1:0;i+=d*2+m,a+=d*2+g,c-=d,u-=d;const y=new d0.SceneCanvas({pixelRatio:o,width:i,height:a}),C=new d0.SceneCanvas({pixelRatio:o,width:0,height:0,willReadFrequently:!0}),P=new d0.HitCanvas({pixelRatio:w,width:i,height:a}),S=y.getContext(),E=P.getContext();return P.isCache=!0,y.isCache=!0,this._cache.delete(Jl),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(y.getContext()._context.imageSmoothingEnabled=!1,C.getContext()._context.imageSmoothingEnabled=!1),S.save(),E.save(),S.translate(-c,-u),E.translate(-c,-u),this._isUnderCache=!0,this._clearSelfAndDescendantCache(Y2),this._clearSelfAndDescendantCache(TC),this.drawScene(y,this),this.drawHit(P,this),this._isUnderCache=!1,S.restore(),E.restore(),f&&(S.save(),S.beginPath(),S.rect(0,0,i,a),S.closePath(),S.setAttr("strokeStyle","red"),S.setAttr("lineWidth",5),S.stroke(),S.restore()),this._cache.set(Jl,{scene:y,filter:C,hit:P,x:c,y:u}),this._requestDraw(),this}isCached(){return this._cache.has(Jl)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){const r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}];let i=1/0,a=1/0,o=-1/0,c=-1/0;const u=this.getAbsoluteTransform(n);return r.forEach(function(d){const f=u.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),{x:i,y:a,width:o-i,height:c-a}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);const r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){const n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){let t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,a=i.getContext(),o,c,u,d;if(t){if(!this._filterUpToDate){const f=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(o=t.length,a.clear(),a.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),c=a.getImageData(0,0,i.getWidth(),i.getHeight()),u=0;u{let n,r;if(!t)return this;for(n in t)n!==rH&&(r=FC+yt.Util._capitalize(n),yt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(V6,this._isListening)}_isListening(t){if(!this.listening())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isListening(t):!0}isVisible(){return this._getCache(U6,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);const r=this.getLayer();let i=!1;qi.DD._dragElements.forEach(o=>{o.dragStatus==="dragging"&&(o.node.nodeType==="Stage"||o.node.getLayer()===r)&&(i=!0)});const a=!n&&!Es.Konva.hitOnDragEnabled&&(i||Es.Konva.isTransforming());return this.isListening()&&this.isVisible()&&!a}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let t=this.getDepth(),n=this,r=0,i,a,o,c;function u(f){for(i=[],a=f.length,o=0;o0&&i[0].getDepth()<=t&&u(i)}const d=this.getStage();return n.nodeType!==aH&&d&&u(d.getChildren()),r}getDepth(){let t=0,n=this.parent;for(;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Ws),this._clearSelfAndDescendantCache(Ro)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){const t=this.getStage();if(!t)return null;const n=t.getPointerPosition();if(!n)return null;const r=this.getAbsoluteTransform().copy();return r.invert(),r.point(n)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);const i=this.getAbsoluteTransform(t).getMatrix(),a=new yt.Transform,o=this.offset();return a.m=i.slice(),a.translate(o.x,o.y),a.getTranslation()}setAbsolutePosition(t){const o=this._clearTransform(),{x:n,y:r}=o,i=m4(o,["x","y"]);this.attrs.x=n,this.attrs.y=r,this._clearCache(Ws);const a=this._getAbsoluteTransform().copy();return a.invert(),a.translate(t.x,t.y),t={x:this.attrs.x+a.getTranslation().x,y:this.attrs.y+a.getTranslation().y},this._setTransform(i),this.setPosition({x:t.x,y:t.y}),this._clearCache(Ws),this._clearSelfAndDescendantCache(Ro),this}_setTransform(t){let n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){const t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){let n=t.x,r=t.y,i=this.x(),a=this.y();return n!==void 0&&(i+=n),r!==void 0&&(a+=r),this.setPosition({x:i,y:a}),this}_eachAncestorReverse(t,n){let r=[],i=this.getParent(),a,o;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(a=r.length,o=0;o0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return yt.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;const t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return yt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&yt.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");const n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(Y2,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let t=this.opacity();const n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){let t=this.getAttrs(),n,r,i,a,o;const c={attrs:{},className:this.getClassName()};for(n in t)r=t[n],o=yt.Util.isObject(r)&&!yt.Util._isPlainObject(r)&&!yt.Util._isArray(r),!o&&(i=typeof this[n]=="function"&&this[n],delete t[n],a=i?i.call(this):null,t[n]=r,a!==r&&(c.attrs[n]=r));return yt.Util._prepareToStringify(c)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){const i=[];n&&this._isMatch(t)&&i.push(this);let a=this.parent;for(;a;){if(a===r)return i;a._isMatch(t)&&i.push(a),a=a.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);let n=t.replace(/ /g,"").split(","),r=n.length,i,a;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,yt.Util._urlToImage(this.toDataURL(t),function(a){n(a),i==null||i(a)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(a=>{n(a),i==null||i(a)},t==null?void 0:t.mimeType,t==null?void 0:t.quality)}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Es.Konva.dragDistance}_off(t,n,r){let i=this.eventListeners[t],a,o,c;for(a=0;a=0)||this.isDragging())return;let n=!1;qi.DD._dragElements.forEach(r=>{this.isAncestorOf(r.node)&&(n=!0)}),n||this._createDragElement(t)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;const t=qi.DD._dragElements.get(this._id),n=t&&t.dragStatus==="dragging",r=t&&t.dragStatus==="ready";n?this.stopDrag():r&&qi.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return yt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return yt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){let r=W6.prototype.getClassName.call(t),i=t.children,a,o,c;n&&(t.attrs.container=n),Es.Konva[r]||(yt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const u=Es.Konva[r];if(a=new u(t.attrs),i)for(o=i.length,c=0;c0}removeChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let n=0;n0?t[0]:void 0}_generalFind(e,t){const n=[];return this._descendants(r=>{const i=r._isMatch(e);return i&&n.push(r),!!(i&&t)}),n}_descendants(e){let t=!1;const n=this.getChildren();for(const r of n)if(t=e(r),t||r.hasChildren()&&(t=r._descendants(e),t))return!0;return!1}toObject(){const e=dv.Node.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){let t=e.getParent();for(;t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){const t=dv.Node.prototype.clone.call(this,e);return this.getChildren().forEach(function(n){t.add(n.clone())}),t}getAllIntersections(e){const t=[];return this.find("Shape").forEach(n=>{n.isVisible()&&n.intersects(e)&&t.push(n)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(n){n._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,n){t.index=n}),this._requestDraw()}drawScene(e,t,n){const r=this.getLayer(),i=e||r&&r.getCanvas(),a=i&&i.getContext(),o=this._getCanvasCache(),c=o&&o.scene,u=i&&i.isCache;if(!this.isVisible()&&!u)return this;if(c){a.save();const d=this.getAbsoluteTransform(t).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",i,t,n);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;const n=this.getLayer(),r=e||n&&n.hitCanvas,i=r&&r.getContext(),a=this._getCanvasCache();if(a&&a.hit){i.save();const o=this.getAbsoluteTransform(t).getMatrix();i.transform(o[0],o[1],o[2],o[3],o[4],o[5]),this._drawCachedHitCanvas(i),i.restore()}else this._drawChildren("drawHit",r,t);return this}_drawChildren(e,t,n,r){var i;const a=t&&t.getContext(),o=this.clipWidth(),c=this.clipHeight(),u=this.clipFunc(),d=typeof o=="number"&&typeof c=="number"||u,f=n===this;if(d){a.save();const m=this.getAbsoluteTransform(n);let g=m.getMatrix();a.transform(g[0],g[1],g[2],g[3],g[4],g[5]),a.beginPath();let y;if(u)y=u.call(this,a,this);else{const C=this.clipX(),P=this.clipY();a.rect(C||0,P||0,o,c)}a.clip.apply(a,y),g=m.copy().invert().getMatrix(),a.transform(g[0],g[1],g[2],g[3],g[4],g[5])}const w=!f&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";w&&(a.save(),a._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(m){m[e](t,n,r)}),w&&a.restore(),d&&a.restore()}getClientRect(e={}){var t;const n=e.skipTransform,r=e.relativeTo;let i,a,o,c,u={x:1/0,y:1/0,width:0,height:0};const d=this;(t=this.children)===null||t===void 0||t.forEach(function(m){if(!m.visible())return;const g=m.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});g.width===0&&g.height===0||(i===void 0?(i=g.x,a=g.y,o=g.x+g.width,c=g.y+g.height):(i=Math.min(i,g.x),a=Math.min(a,g.y),o=Math.max(o,g.x+g.width),c=Math.max(c,g.y+g.height)))});const f=this.find("Shape");let w=!1;for(let m=0;mpe.indexOf("pointer")>=0?"pointer":pe.indexOf("touch")>=0?"touch":"mouse",ie=pe=>{const R=ae(pe);if(R==="pointer")return i.Konva.pointerEventsEnabled&&Q.pointer;if(R==="touch")return Q.touch;if(R==="mouse")return Q.mouse};function oe(pe={}){return(pe.clipFunc||pe.clipWidth||pe.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),pe}const ue="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class Ce extends r.Container{constructor(R){super(oe(R)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{oe(this.attrs)}),this._checkVisibility()}_validateAdd(R){const Y=R.getType()==="Layer",re=R.getType()==="FastLayer";Y||re||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const R=this.visible()?"":"none";this.content.style.display=R}setContainer(R){if(typeof R===f){if(R.charAt(0)==="."){const re=R.slice(1);R=document.getElementsByClassName(re)[0]}else{var Y;R.charAt(0)!=="#"?Y=R:Y=R.slice(1),R=document.getElementById(Y)}if(!R)throw"Can not find container in document with id "+Y}return this._setAttr("container",R),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),R.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){const R=this.children,Y=R.length;for(let re=0;re-1&&e.stages.splice(Y,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const R=this._pointerPositions[0]||this._changedPointerPositions[0];return R?{x:R.x,y:R.y}:(t.Util.warn(ue),null)}_getPointerById(R){return this._pointerPositions.find(Y=>Y.id===R)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(R){R=R||{},R.x=R.x||0,R.y=R.y||0,R.width=R.width||this.width(),R.height=R.height||this.height();const Y=new a.SceneCanvas({width:R.width,height:R.height,pixelRatio:R.pixelRatio||1}),re=Y.getContext()._context,be=this.children;return(R.x||R.y)&&re.translate(-1*R.x,-1*R.y),be.forEach(function(xe){if(!xe.isVisible())return;const ge=xe._toKonvaCanvas(R);re.drawImage(ge._canvas,R.x,R.y,ge.getWidth()/ge.getPixelRatio(),ge.getHeight()/ge.getPixelRatio())}),Y}getIntersection(R){if(!R)return null;const Y=this.children,re=Y.length,be=re-1;for(let xe=be;xe>=0;xe--){const ge=Y[xe].getIntersection(R);if(ge)return ge}return null}_resizeDOM(){const R=this.width(),Y=this.height();this.content&&(this.content.style.width=R+w,this.content.style.height=Y+w),this.bufferCanvas.setSize(R,Y),this.bufferHitCanvas.setSize(R,Y),this.children.forEach(re=>{re.setSize({width:R,height:Y}),re.draw()})}add(R,...Y){if(arguments.length>1){for(let be=0;beU&&t.Util.warn("The stage has "+re+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),R.setSize({width:this.width(),height:this.height()}),R.draw(),i.Konva.isBrowser&&this.content.appendChild(R.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(R){return u.hasPointerCapture(R,this)}setPointerCapture(R){u.setPointerCapture(R,this)}releaseCapture(R){u.releaseCapture(R,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&J.forEach(([R,Y])=>{this.content.addEventListener(R,re=>{this[Y](re)},{passive:!1})})}_pointerenter(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerenter,{evt:R,target:this,currentTarget:this})}_pointerover(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this})}_getTargetShape(R){let Y=this[R+"targetShape"];return Y&&!Y.getStage()&&(Y=null),Y}_pointerleave(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this._getTargetShape(re),xe=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;be&&xe?(be._fireAndBubble(Y.pointerout,{evt:R}),be._fireAndBubble(Y.pointerleave,{evt:R}),this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this[re+"targetShape"]=null):xe&&(this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this._fire(Y.pointerout,{evt:R,target:this,currentTarget:this})),this.pointerPos=null,this._pointerPositions=[]}_pointerdown(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);let be=!1;this._changedPointerPositions.forEach(xe=>{const ge=this.getIntersection(xe);if(o.DD.justDragged=!1,i.Konva["_"+re+"ListenClick"]=!0,!ge||!ge.isListening()){this[re+"ClickStartShape"]=void 0;return}i.Konva.capturePointerEventsEnabled&&ge.setPointerCapture(xe.id),this[re+"ClickStartShape"]=ge,ge._fireAndBubble(Y.pointerdown,{evt:R,pointerId:xe.id}),be=!0;const Ae=R.type.indexOf("touch")>=0;ge.preventDefault()&&R.cancelable&&Ae&&R.preventDefault()}),be||this._fire(Y.pointerdown,{evt:R,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(R){const Y=ie(R.type),re=ae(R.type);if(!Y||(i.Konva.isDragging()&&o.DD.node.preventDefault()&&R.cancelable&&R.preventDefault(),this.setPointersPositions(R),!(!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled)))return;const be={};let xe=!1;const ge=this._getTargetShape(re);this._changedPointerPositions.forEach(Ae=>{const Ie=u.getCapturedShape(Ae.id)||this.getIntersection(Ae),Me=Ae.id,et={evt:R,pointerId:Me},Re=ge!==Ie;if(Re&&ge&&(ge._fireAndBubble(Y.pointerout,Xn({},et),Ie),ge._fireAndBubble(Y.pointerleave,Xn({},et),Ie)),Ie){if(be[Ie._id])return;be[Ie._id]=!0}Ie&&Ie.isListening()?(xe=!0,Re&&(Ie._fireAndBubble(Y.pointerover,Xn({},et),ge),Ie._fireAndBubble(Y.pointerenter,Xn({},et),ge),this[re+"targetShape"]=Ie),Ie._fireAndBubble(Y.pointermove,Xn({},et))):ge&&(this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this,pointerId:Me}),this[re+"targetShape"]=null)}),xe||this._fire(Y.pointermove,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this[re+"ClickStartShape"],xe=this[re+"ClickEndShape"],ge={};let Ae=!1;this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie);if(Me){if(Me.releaseCapture(Ie.id),ge[Me._id])return;ge[Me._id]=!0}const et=Ie.id,Re={evt:R,pointerId:et};let rt=!1;i.Konva["_"+re+"InDblClickWindow"]?(rt=!0,clearTimeout(this[re+"DblTimeout"])):o.DD.justDragged||(i.Konva["_"+re+"InDblClickWindow"]=!0,clearTimeout(this[re+"DblTimeout"])),this[re+"DblTimeout"]=setTimeout(function(){i.Konva["_"+re+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Me&&Me.isListening()?(Ae=!0,this[re+"ClickEndShape"]=Me,Me._fireAndBubble(Y.pointerup,Xn({},Re)),i.Konva["_"+re+"ListenClick"]&&be&&be===Me&&(Me._fireAndBubble(Y.pointerclick,Xn({},Re)),rt&&xe&&xe===Me&&Me._fireAndBubble(Y.pointerdblclick,Xn({},Re)))):(this[re+"ClickEndShape"]=null,i.Konva["_"+re+"ListenClick"]&&this._fire(Y.pointerclick,{evt:R,target:this,currentTarget:this,pointerId:et}),rt&&this._fire(Y.pointerdblclick,{evt:R,target:this,currentTarget:this,pointerId:et}))}),Ae||this._fire(Y.pointerup,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+re+"ListenClick"]=!1,R.cancelable&&re!=="touch"&&re!=="pointer"&&R.preventDefault()}_contextmenu(R){this.setPointersPositions(R);const Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(z,{evt:R}):this._fire(z,{evt:R,target:this,currentTarget:this})}_wheel(R){this.setPointersPositions(R);const Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(q,{evt:R}):this._fire(q,{evt:R,target:this,currentTarget:this})}_pointercancel(R){this.setPointersPositions(R);const Y=u.getCapturedShape(R.pointerId)||this.getIntersection(this.getPointerPosition());Y&&Y._fireAndBubble(O,u.createEvent(R)),u.releaseCapture(R.pointerId)}_lostpointercapture(R){u.releaseCapture(R.pointerId)}setPointersPositions(R){const Y=this._getContentPosition();let re=null,be=null;R=R||window.event,R.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(R.touches,xe=>{this._pointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})}),Array.prototype.forEach.call(R.changedTouches||R.touches,xe=>{this._changedPointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})})):(re=(R.clientX-Y.left)/Y.scaleX,be=(R.clientY-Y.top)/Y.scaleY,this.pointerPos={x:re,y:be},this._pointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}],this._changedPointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}])}_setPointerPosition(R){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(R)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};const R=this.content.getBoundingClientRect();return{top:R.top,left:R.left,scaleX:R.width/this.content.clientWidth||1,scaleY:R.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new a.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new a.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!i.Konva.isBrowser)return;const R=this.container();if(!R)throw"Stage has no container. A container is required.";R.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),R.appendChild(this.content),this._resizeDOM()}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(R){R.batchDraw()}),this}}e.Stage=Ce,Ce.prototype.nodeType=d,(0,c._registerNode)(Ce),n.Factory.addGetterSetter(Ce,"container"),i.Konva.isBrowser&&document.addEventListener("visibilitychange",()=>{e.stages.forEach(pe=>{pe.batchDraw()})})})(WM);var E1={},sr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=lt,n=Pn,r=dt,i=mn,a=Ue,o=lt,c=$s,u="hasShadow",d="shadowRGBA",f="patternImage",w="linearGradient",m="radialGradient";let g;function y(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function C(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function P(D){D.stroke()}function S(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function E(D){D.stroke()}function p(){this._clearCache(u)}function x(){this._clearCache(d)}function O(){this._clearCache(f)}function k(){this._clearCache(w)}function I(){this._clearCache(m)}class L extends i.Node{constructor(M){super(M);let N;for(;N=n.Util.getRandomColor(),!(N&&!(N in e.shapes)););this.colorKey=N,e.shapes[N]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(u,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(f,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){const M=y().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const N=new n.Transform;N.translate(this.fillPatternX(),this.fillPatternY()),N.rotate(t.Konva.getAngle(this.fillPatternRotation())),N.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),N.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const z=N.getMatrix(),H=typeof DOMMatrix>"u"?{a:z[0],b:z[1],c:z[2],d:z[3],e:z[4],f:z[5]}:new DOMMatrix(z);M.setTransform(H)}return M}}_getLinearGradient(){return this._getCache(w,this.__getLinearGradient)}__getLinearGradient(){const M=this.fillLinearGradientColorStops();if(M){const N=y(),z=this.fillLinearGradientStartPoint(),H=this.fillLinearGradientEndPoint(),W=N.createLinearGradient(z.x,z.y,H.x,H.y);for(let K=0;Kthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const M=this.hitStrokeWidth();return M==="auto"?this.hasStroke():this.strokeEnabled()&&!!M}intersects(M){const N=this.getStage();if(!N)return!1;const z=N.bufferHitCanvas;return z.getContext().clear(),this.drawHit(z,void 0,!0),z.context.getImageData(Math.round(M.x),Math.round(M.y),1,1).data[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(M){var N;if(!(!((N=this.attrs.perfectDrawEnabled)!==null&&N!==void 0)||N))return!1;const z=M||this.hasFill(),H=this.hasStroke(),W=this.getAbsoluteOpacity()!==1;if(z&&H&&W)return!0;const K=this.hasShadow(),G=this.shadowForStrokeEnabled();return!!(z&&H&&K&&G)}setStrokeHitEnabled(M){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),M?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){const M=this.size();return{x:this._centroid?-M.width/2:0,y:this._centroid?-M.height/2:0,width:M.width,height:M.height}}getClientRect(M={}){let N=!1,z=this.getParent();for(;z;){if(z.isCached()){N=!0;break}z=z.getParent()}const H=M.skipTransform,W=M.relativeTo||N&&this.getStage()||void 0,K=this.getSelfRect(),G=!M.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,q=K.width+G,U=K.height+G,J=!M.skipShadow&&this.hasShadow(),Q=J?this.shadowOffsetX():0,ae=J?this.shadowOffsetY():0,ie=q+Math.abs(Q),oe=U+Math.abs(ae),ue=J&&this.shadowBlur()||0,Ce=ie+ue*2,pe=oe+ue*2,R={width:Ce,height:pe,x:-(G/2+ue)+Math.min(Q,0)+K.x,y:-(G/2+ue)+Math.min(ae,0)+K.y};return H?R:this._transformedRect(R,W)}drawScene(M,N,z){const H=this.getLayer();let W=M||H.getCanvas(),K=W.getContext(),G=this._getCanvasCache(),q=this.getSceneFunc(),U=this.hasShadow(),J,Q;const ae=W.isCache,ie=N===this;if(!this.isVisible()&&!ie)return this;if(G){K.save();const ue=this.getAbsoluteTransform(N).getMatrix();return K.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),this._drawCachedSceneCanvas(K),K.restore(),this}if(!q)return this;if(K.save(),this._useBufferCanvas()&&!ae){J=this.getStage();const ue=z||J.bufferCanvas;Q=ue.getContext(),Q.clear(),Q.save(),Q._applyLineJoin(this);var oe=this.getAbsoluteTransform(N).getMatrix();Q.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),q.call(this,Q,this),Q.restore();const Ce=ue.pixelRatio;U&&K._applyShadow(this),K._applyOpacity(this),K._applyGlobalCompositeOperation(this),K.drawImage(ue._canvas,0,0,ue.width/Ce,ue.height/Ce)}else{if(K._applyLineJoin(this),!ie){var oe=this.getAbsoluteTransform(N).getMatrix();K.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),K._applyOpacity(this),K._applyGlobalCompositeOperation(this)}U&&K._applyShadow(this),q.call(this,K,this)}return K.restore(),this}drawHit(M,N,z=!1){if(!this.shouldDrawHit(N,z))return this;const H=this.getLayer(),W=M||H.hitCanvas,K=W&&W.getContext(),G=this.hitFunc()||this.sceneFunc(),q=this._getCanvasCache(),U=q&&q.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),U){K.save();const J=this.getAbsoluteTransform(N).getMatrix();return K.transform(J[0],J[1],J[2],J[3],J[4],J[5]),this._drawCachedHitCanvas(K),K.restore(),this}if(!G)return this;if(K.save(),K._applyLineJoin(this),this!==N){const J=this.getAbsoluteTransform(N).getMatrix();K.transform(J[0],J[1],J[2],J[3],J[4],J[5])}return G.call(this,K,this),K.restore(),this}drawHitFromCache(M=0){const N=this._getCanvasCache(),z=this._getCachedSceneCanvas(),H=N.hit,W=H.getContext(),K=H.getWidth(),G=H.getHeight();W.clear(),W.drawImage(z._canvas,0,0,K,G);try{const q=W.getImageData(0,0,K,G),U=q.data,J=U.length,Q=n.Util._hexToRgb(this.colorKey);for(let ae=0;aeM?(U[ae]=Q.r,U[ae+1]=Q.g,U[ae+2]=Q.b,U[ae+3]=255):U[ae+3]=0;W.putImageData(q,0,0)}catch(q){n.Util.error("Unable to draw hit graph from cached scene canvas. "+q.message)}return this}hasPointerCapture(M){return c.hasPointerCapture(M,this)}setPointerCapture(M){c.setPointerCapture(M,this)}releaseCapture(M){c.releaseCapture(M,this)}}e.Shape=L,L.prototype._fillFunc=C,L.prototype._strokeFunc=P,L.prototype._fillFuncHit=S,L.prototype._strokeFuncHit=E,L.prototype._centroid=!1,L.prototype.nodeType="Shape",(0,o._registerNode)(L),L.prototype.eventListeners={},L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",p),L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",x),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",O),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",k),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",I),r.Factory.addGetterSetter(L,"stroke",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"strokeWidth",2,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(L,"hitStrokeWidth","auto",(0,a.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(L,"strokeHitEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"perfectDrawEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"shadowForStrokeEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"lineJoin"),r.Factory.addGetterSetter(L,"lineCap"),r.Factory.addGetterSetter(L,"sceneFunc"),r.Factory.addGetterSetter(L,"hitFunc"),r.Factory.addGetterSetter(L,"dash"),r.Factory.addGetterSetter(L,"dashOffset",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowColor",void 0,(0,a.getStringValidator)()),r.Factory.addGetterSetter(L,"shadowBlur",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOpacity",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(L,"shadowOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternImage"),r.Factory.addGetterSetter(L,"fill",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"fillPatternX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(L,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(L,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(L,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(L,"fillEnabled",!0),r.Factory.addGetterSetter(L,"strokeEnabled",!0),r.Factory.addGetterSetter(L,"shadowEnabled",!0),r.Factory.addGetterSetter(L,"dashEnabled",!0),r.Factory.addGetterSetter(L,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(L,"fillPriority","color"),r.Factory.addComponentsGetterSetter(L,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternScaleX",1,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternScaleY",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(L,"fillPatternRotation",0),r.Factory.addGetterSetter(L,"fillRule",void 0,(0,a.getStringValidator)()),r.Factory.backCompat(L,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sr),Object.defineProperty(E1,"__esModule",{value:!0}),E1.Layer=void 0;const Po=Pn,hv=Wc,Bu=mn,fv=dt,RC=ka,hH=Ue,fH=sr,pH=lt,gH="#",mH="beforeDraw",vH="draw",KM=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],yH=KM.length;let Hu=class extends hv.Container{constructor(e){super(e),this.canvas=new RC.SceneCanvas,this.hitCanvas=new RC.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);const t=this.getStage();return t&&t.content&&(t.content.removeChild(this.getNativeCanvasElement()),e{this.draw(),this._waitingForDraw=!1})),this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let t=1,n=!1;for(;;){for(let r=0;r0)return{antialiased:!0};return{}}drawScene(e,t){const n=this.getLayer(),r=e||n&&n.getCanvas();return this._fire(mH,{node:this}),this.clearBeforeDraw()&&r.getContext().clear(),hv.Container.prototype.drawScene.call(this,r,t),this._fire(vH,{node:this}),this}drawHit(e,t){const n=this.getLayer(),r=e||n&&n.hitCanvas;return n&&n.clearBeforeDraw()&&n.getHitCanvas().getContext().clear(),hv.Container.prototype.drawHit.call(this,r,t),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){Po.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return Po.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;const e=this.parent;this.hitCanvas._canvas.parentNode?e.content.removeChild(this.hitCanvas._canvas):e.content.appendChild(this.hitCanvas._canvas)}destroy(){return Po.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};E1.Layer=Hu,Hu.prototype.nodeType="Layer",(0,pH._registerNode)(Hu),fv.Factory.addGetterSetter(Hu,"imageSmoothingEnabled",!0),fv.Factory.addGetterSetter(Hu,"clearBeforeDraw",!0),fv.Factory.addGetterSetter(Hu,"hitGraphEnabled",!0,(0,hH.getBooleanValidator)());var Gg={};Object.defineProperty(Gg,"__esModule",{value:!0}),Gg.FastLayer=void 0;const bH=Pn,wH=E1,xH=lt;let pv=class extends wH.Layer{constructor(e){super(e),this.listening(!1),bH.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}};Gg.FastLayer=pv,pv.prototype.nodeType="FastLayer",(0,xH._registerNode)(pv);var th={};Object.defineProperty(th,"__esModule",{value:!0}),th.Group=void 0;const CH=Pn,SH=Wc,_H=lt;let gv=class extends SH.Container{_validateAdd(e){const t=e.getType();t!=="Group"&&t!=="Shape"&&CH.Util.throw("You may only add groups and shapes to groups.")}};th.Group=gv,gv.prototype.nodeType="Group",(0,_H._registerNode)(gv);var nh={};Object.defineProperty(nh,"__esModule",{value:!0}),nh.Animation=void 0;const mv=lt,jC=Pn,vv=function(){return mv.glob.performance&&mv.glob.performance.now?function(){return mv.glob.performance.now()}:function(){return new Date().getTime()}}();let Ep=class fd{constructor(t,n){this.id=fd.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:vv(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){let n=[];return t&&(n=Array.isArray(t)?t:[t]),this.layers=n,this}getLayers(){return this.layers}addLayer(t){const n=this.layers,r=n.length;for(let i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():y<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=y,this.update())}getTime(){return this._time}setPosition(y){this.prevPos=this._pos,this.propFunc(y),this._pos=y}getPosition(y){return y===void 0&&(y=this._time),this.func(y,this.begin,this._change,this.duration)}play(){this.state=c,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=u,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(y){this.pause(),this._time=y,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){const y=this.getTimer()-this._startTime;this.state===c?this.setTime(y):this.state===u&&this.setTime(this.duration-y)}pause(){this.state=o,this.fire("onPause")}getTimer(){return new Date().getTime()}}class m{constructor(y){const C=this,P=y.node,S=P._id,E=y.easing||e.Easings.Linear,p=!!y.yoyo;let x,O;typeof y.duration>"u"?x=.3:y.duration===0?x=.001:x=y.duration,this.node=P,this._id=f++;const k=P.getLayer()||(P instanceof i.Konva.Stage?P.getLayers():null);k||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){C.tween.onEnterFrame()},k),this.tween=new w(O,function(I){C._tweenFunc(I)},E,0,1,x*1e3,p),this._addListeners(),m.attrs[S]||(m.attrs[S]={}),m.attrs[S][this._id]||(m.attrs[S][this._id]={}),m.tweens[S]||(m.tweens[S]={});for(O in y)a[O]===void 0&&this._addAttr(O,y[O]);this.reset(),this.onFinish=y.onFinish,this.onReset=y.onReset,this.onUpdate=y.onUpdate}_addAttr(y,C){const P=this.node,S=P._id;let E,p,x,O,k;const I=m.tweens[S][y];I&&delete m.attrs[S][I][y];let L=P.getAttr(y);if(t.Util._isArray(C))if(E=[],p=Math.max(C.length,L.length),y==="points"&&C.length!==L.length&&(C.length>L.length?(O=L,L=t.Util._prepareArrayForTween(L,C,P.closed())):(x=C,C=t.Util._prepareArrayForTween(C,L,P.closed()))),y.indexOf("fill")===0)for(let D=0;D{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{const y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueEnd&&y.setAttr("points",C.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{const y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueStart&&y.points(C.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(y){return this.tween.seek(y*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){const y=this.node._id,C=this._id,P=m.tweens[y];this.pause();for(const S in P)delete m.tweens[y][S];delete m.attrs[y][C]}}e.Tween=m,m.attrs={},m.tweens={},r.Node.prototype.to=function(g){const y=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),y&&y()},new m(g).play()},e.Easings={BackEaseIn(g,y,C,P){return C*(g/=P)*g*((1.70158+1)*g-1.70158)+y},BackEaseOut(g,y,C,P){return C*((g=g/P-1)*g*((1.70158+1)*g+1.70158)+1)+y},BackEaseInOut(g,y,C,P){let S=1.70158;return(g/=P/2)<1?C/2*(g*g*(((S*=1.525)+1)*g-S))+y:C/2*((g-=2)*g*(((S*=1.525)+1)*g+S)+2)+y},ElasticEaseIn(g,y,C,P,S,E){let p=0;return g===0?y:(g/=P)===1?y+C:(E||(E=P*.3),!S||S0?e:t),d=a*t,f=o*(o>0?e:t),w=c*(c>0?t:e);return{x:u,y:n?-1*w:f,width:d-u,height:w-f}}};Vg.Arc=ko,ko.prototype._centroid=!0,ko.prototype.className="Arc",ko.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,EH._registerNode)(ko),Pp.Factory.addGetterSetter(ko,"innerRadius",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"outerRadius",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"angle",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"clockwise",!1,(0,kp.getBooleanValidator)());var Ug={},P1={};Object.defineProperty(P1,"__esModule",{value:!0}),P1.Line=void 0;const Lp=dt,PH=lt,kH=sr,HC=Ue;function X6(e,t,n,r,i,a,o){const c=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),u=Math.sqrt(Math.pow(i-n,2)+Math.pow(a-r,2)),d=o*c/(c+u),f=o*u/(c+u),w=n-d*(i-e),m=r-d*(a-t),g=n+f*(i-e),y=r+f*(a-t);return[w,m,g,y]}function GC(e,t){const n=e.length,r=[];for(let i=2;i4){for(o=this.getTensionPoints(),c=o.length,u=i?0:4,i||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);u{let d,f;const w=u/2;d=0;for(let m=0;m<20;m++)f=w*e.tValues[20][m]+w,d+=e.cValues[20][m]*r(o,c,f);return w*d};e.getCubicArcLength=t;const n=(o,c,u)=>{u===void 0&&(u=1);const d=o[0]-2*o[1]+o[2],f=c[0]-2*c[1]+c[2],w=2*o[1]-2*o[0],m=2*c[1]-2*c[0],g=4*(d*d+f*f),y=4*(d*w+f*m),C=w*w+m*m;if(g===0)return u*Math.sqrt(Math.pow(o[2]-o[0],2)+Math.pow(c[2]-c[0],2));const P=y/(2*g),S=C/g,E=u+P,p=S-P*P,x=E*E+p>0?Math.sqrt(E*E+p):0,O=P*P+p>0?Math.sqrt(P*P+p):0,k=P+Math.sqrt(P*P+p)!==0?p*Math.log(Math.abs((E+x)/(P+O))):0;return Math.sqrt(g)/2*(E*x-P*O+k)};e.getQuadraticArcLength=n;function r(o,c,u){const d=i(1,u,o),f=i(1,u,c),w=d*d+f*f;return Math.sqrt(w)}const i=(o,c,u)=>{const d=u.length-1;let f,w;if(d===0)return 0;if(o===0){w=0;for(let m=0;m<=d;m++)w+=e.binomialCoefficients[d][m]*Math.pow(1-c,d-m)*Math.pow(c,m)*u[m];return w}else{f=new Array(d);for(let m=0;m{let d=1,f=o/c,w=(o-u(f))/c,m=0;for(;d>.001;){const g=u(f+w),y=Math.abs(o-g)/c;if(y500)break}return f};e.t2length=a})(ZM),Object.defineProperty(rh,"__esModule",{value:!0}),rh.Path=void 0;const LH=dt,MH=sr,TH=lt,Gu=ZM;let h0=class si extends MH.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=si.parsePathData(this.data()),this.pathLength=si.getPathLength(this.dataArray)}_sceneFunc(t){const n=this.dataArray;t.beginPath();let r=!1;for(let C=0;Cc?o:c,g=o>c?1:o/c,y=o>c?c/o:1;t.translate(i,a),t.rotate(f),t.scale(g,y),t.arc(0,0,m,u,u+d,1-w),t.scale(1/g,1/y),t.rotate(-f),t.translate(-i,-a);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){let t=[];this.dataArray.forEach(function(u){if(u.command==="A"){const d=u.points[4],f=u.points[5],w=u.points[4]+f;let m=Math.PI/180;if(Math.abs(d-w)w;g-=m){const y=si.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],g,0);t.push(y.x,y.y)}else for(let g=d+m;gn[i].pathLength;)t-=n[i].pathLength,++i;if(i===a)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};const o=n[i],c=o.points;switch(o.command){case"L":return si.getPointOnLine(t,o.start.x,o.start.y,c[0],c[1]);case"C":return si.getPointOnCubicBezier((0,Gu.t2length)(t,si.getPathLength(n),C=>(0,Gu.getCubicArcLength)([o.start.x,c[0],c[2],c[4]],[o.start.y,c[1],c[3],c[5]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3],c[4],c[5]);case"Q":return si.getPointOnQuadraticBezier((0,Gu.t2length)(t,si.getPathLength(n),C=>(0,Gu.getQuadraticArcLength)([o.start.x,c[0],c[2]],[o.start.y,c[1],c[3]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3]);case"A":var u=c[0],d=c[1],f=c[2],w=c[3],m=c[4],g=c[5],y=c[6];return m+=g*t/o.pathLength,si.getPointOnEllipticalArc(u,d,f,w,m,y)}return null}static getPointOnLine(t,n,r,i,a,o,c){o=o!=null?o:n,c=c!=null?c:r;const u=this.getLineLength(n,r,i,a);if(u<1e-10)return{x:n,y:r};if(i===n)return{x:o,y:c+(a>r?t:-t)};const d=(a-r)/(i-n),f=Math.sqrt(t*t/(1+d*d))*(i0&&!isNaN(M[0]);){let N="",z=[];const H=u,W=d;var m,g,y,C,P,S,E,p,x,O;switch(D){case"l":u+=M.shift(),d+=M.shift(),N="L",z.push(u,d);break;case"L":u=M.shift(),d=M.shift(),z.push(u,d);break;case"m":var k=M.shift(),I=M.shift();if(u+=k,d+=I,N="M",o.length>2&&o[o.length-1].command==="z"){for(let K=o.length-2;K>=0;K--)if(o[K].command==="M"){u=o[K].points[0]+k,d=o[K].points[1]+I;break}}z.push(u,d),D="l";break;case"M":u=M.shift(),d=M.shift(),N="M",z.push(u,d),D="L";break;case"h":u+=M.shift(),N="L",z.push(u,d);break;case"H":u=M.shift(),N="L",z.push(u,d);break;case"v":d+=M.shift(),N="L",z.push(u,d);break;case"V":d=M.shift(),N="L",z.push(u,d);break;case"C":z.push(M.shift(),M.shift(),M.shift(),M.shift()),u=M.shift(),d=M.shift(),z.push(u,d);break;case"c":z.push(u+M.shift(),d+M.shift(),u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="C",z.push(u,d);break;case"S":g=u,y=d,m=o[o.length-1],m.command==="C"&&(g=u+(u-m.points[2]),y=d+(d-m.points[3])),z.push(g,y,M.shift(),M.shift()),u=M.shift(),d=M.shift(),N="C",z.push(u,d);break;case"s":g=u,y=d,m=o[o.length-1],m.command==="C"&&(g=u+(u-m.points[2]),y=d+(d-m.points[3])),z.push(g,y,u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="C",z.push(u,d);break;case"Q":z.push(M.shift(),M.shift()),u=M.shift(),d=M.shift(),z.push(u,d);break;case"q":z.push(u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="Q",z.push(u,d);break;case"T":g=u,y=d,m=o[o.length-1],m.command==="Q"&&(g=u+(u-m.points[0]),y=d+(d-m.points[1])),u=M.shift(),d=M.shift(),N="Q",z.push(g,y,u,d);break;case"t":g=u,y=d,m=o[o.length-1],m.command==="Q"&&(g=u+(u-m.points[0]),y=d+(d-m.points[1])),u+=M.shift(),d+=M.shift(),N="Q",z.push(g,y,u,d);break;case"A":C=M.shift(),P=M.shift(),S=M.shift(),E=M.shift(),p=M.shift(),x=u,O=d,u=M.shift(),d=M.shift(),N="A",z=this.convertEndpointToCenterParameterization(x,O,u,d,E,p,C,P,S);break;case"a":C=M.shift(),P=M.shift(),S=M.shift(),E=M.shift(),p=M.shift(),x=u,O=d,u+=M.shift(),d+=M.shift(),N="A",z=this.convertEndpointToCenterParameterization(x,O,u,d,E,p,C,P,S);break}o.push({command:N||D,points:z,start:{x:H,y:W},pathLength:this.calcLength(H,W,N||D,z)})}(D==="z"||D==="Z")&&o.push({command:"z",points:[],start:void 0,pathLength:0})}return o}static calcLength(t,n,r,i){let a,o,c,u;const d=si;switch(r){case"L":return d.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":a=0;var f=i[4],w=i[5],m=i[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;u-=g)c=d.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),a+=d.getLineLength(o.x,o.y,c.x,c.y),o=c;else for(u=f+g;u1&&(c*=Math.sqrt(g),u*=Math.sqrt(g));let y=Math.sqrt((c*c*(u*u)-c*c*(m*m)-u*u*(w*w))/(c*c*(m*m)+u*u*(w*w)));a===o&&(y*=-1),isNaN(y)&&(y=0);const C=y*c*m/u,P=y*-u*w/c,S=(t+r)/2+Math.cos(f)*C-Math.sin(f)*P,E=(n+i)/2+Math.sin(f)*C+Math.cos(f)*P,p=function(M){return Math.sqrt(M[0]*M[0]+M[1]*M[1])},x=function(M,N){return(M[0]*N[0]+M[1]*N[1])/(p(M)*p(N))},O=function(M,N){return(M[0]*N[1]=1&&(D=0),o===0&&D>0&&(D=D-2*Math.PI),o===1&&D<0&&(D=D+2*Math.PI),[S,E,c,u,k,D,f,o]}};rh.Path=h0,h0.prototype.className="Path",h0.prototype._attrsAffectingSize=["data"],(0,TH._registerNode)(h0),LH.Factory.addGetterSetter(h0,"data"),Object.defineProperty(Ug,"__esModule",{value:!0}),Ug.Arrow=void 0;const Mp=dt,AH=P1,VC=Ue,IH=lt,UC=rh;let tc=class extends AH.Line{_sceneFunc(e){super._sceneFunc(e);const t=Math.PI*2,n=this.points();let r=n;const i=this.tension()!==0&&n.length>4;i&&(r=this.getTensionPoints());const a=this.pointerLength(),o=n.length;let c,u;if(i){const w=[r[r.length-4],r[r.length-3],r[r.length-2],r[r.length-1],n[o-2],n[o-1]],m=UC.Path.calcLength(r[r.length-4],r[r.length-3],"C",w),g=UC.Path.getPointOnQuadraticBezier(Math.min(1,1-a/m),w[0],w[1],w[2],w[3],w[4],w[5]);c=n[o-2]-g.x,u=n[o-1]-g.y}else c=n[o-2]-n[o-4],u=n[o-1]-n[o-3];const d=(Math.atan2(u,c)+t)%t,f=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(n[o-2],n[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(n[0],n[1]),i?(c=(r[0]+r[2])/2-n[0],u=(r[1]+r[3])/2-n[1]):(c=n[2]-n[0],u=n[3]-n[1]),e.rotate((Math.atan2(-u,-c)+t)%t),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){const t=this.dashEnabled();t&&(this.attrs.dashEnabled=!1,e.setLineDash([])),e.fillStrokeShape(this),t&&(this.attrs.dashEnabled=!0)}getSelfRect(){const e=super.getSelfRect(),t=this.pointerWidth()/2;return{x:e.x,y:e.y-t,width:e.width,height:e.height+t*2}}};Ug.Arrow=tc,tc.prototype.className="Arrow",(0,IH._registerNode)(tc),Mp.Factory.addGetterSetter(tc,"pointerLength",10,(0,VC.getNumberValidator)()),Mp.Factory.addGetterSetter(tc,"pointerWidth",10,(0,VC.getNumberValidator)()),Mp.Factory.addGetterSetter(tc,"pointerAtBeginning",!1),Mp.Factory.addGetterSetter(tc,"pointerAtEnding",!0);var Wg={};Object.defineProperty(Wg,"__esModule",{value:!0}),Wg.Circle=void 0;const FH=dt,DH=sr,NH=Ue,RH=lt;let Vu=class extends DH.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius()!==e/2&&this.radius(e/2)}setHeight(e){this.radius()!==e/2&&this.radius(e/2)}};Wg.Circle=Vu,Vu.prototype._centroid=!0,Vu.prototype.className="Circle",Vu.prototype._attrsAffectingSize=["radius"],(0,RH._registerNode)(Vu),FH.Factory.addGetterSetter(Vu,"radius",0,(0,NH.getNumberValidator)());var Xg={};Object.defineProperty(Xg,"__esModule",{value:!0}),Xg.Ellipse=void 0;const yv=dt,jH=sr,WC=Ue,zH=lt;let ks=class extends jH.Shape{_sceneFunc(e){const t=this.radiusX(),n=this.radiusY();e.beginPath(),e.save(),t!==n&&e.scale(1,n/t),e.arc(0,0,t,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}};Xg.Ellipse=ks,ks.prototype.className="Ellipse",ks.prototype._centroid=!0,ks.prototype._attrsAffectingSize=["radiusX","radiusY"],(0,zH._registerNode)(ks),yv.Factory.addComponentsGetterSetter(ks,"radius",["x","y"]),yv.Factory.addGetterSetter(ks,"radiusX",0,(0,WC.getNumberValidator)()),yv.Factory.addGetterSetter(ks,"radiusY",0,(0,WC.getNumberValidator)());var Yg={};Object.defineProperty(Yg,"__esModule",{value:!0}),Yg.Image=void 0;const bv=Pn,nc=dt,BH=sr,HH=lt,f0=Ue;let Ya=class $M extends BH.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){const t=!!this.cornerRadius(),n=this.hasShadow();return t&&n?!0:super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),a=this.attrs.image;let o;if(a){const c=this.attrs.cropWidth,u=this.attrs.cropHeight;c&&u?o=[a,this.cropX(),this.cropY(),c,u,0,0,n,r]:o=[a,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?bv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),a&&(i&&t.clip(),t.drawImage.apply(t,o))}_hitFunc(t){const n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?bv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){const i=bv.Util.createImageElement();i.onload=function(){const a=new $M({image:i});n(a)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};Yg.Image=Ya,Ya.prototype.className="Image",(0,HH._registerNode)(Ya),nc.Factory.addGetterSetter(Ya,"cornerRadius",0,(0,f0.getNumberOrArrayOfNumbersValidator)(4)),nc.Factory.addGetterSetter(Ya,"image"),nc.Factory.addComponentsGetterSetter(Ya,"crop",["x","y","width","height"]),nc.Factory.addGetterSetter(Ya,"cropX",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropY",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropWidth",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropHeight",0,(0,f0.getNumberValidator)());var Rd={};Object.defineProperty(Rd,"__esModule",{value:!0}),Rd.Tag=Rd.Label=void 0;const Tp=dt,GH=sr,VH=th,wv=Ue,qM=lt,QM=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],UH="Change.konva",WH="none",Y6="up",K6="right",Z6="down",$6="left",XH=QM.length;let xv=class extends VH.Group{constructor(e){super(e),this.on("add.konva",function(t){this._addListeners(t.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let t=this,n;const r=function(){t._sync()};for(n=0;n{t=Math.min(t,a.x),n=Math.max(n,a.x),r=Math.min(r,a.y),i=Math.max(i,a.y)}),{x:t,y:r,width:n-t,height:i-r}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};Kg.RegularPolygon=ic,ic.prototype.className="RegularPolygon",ic.prototype._centroid=!0,ic.prototype._attrsAffectingSize=["radius"],(0,JH._registerNode)(ic),XC.Factory.addGetterSetter(ic,"radius",0,(0,YC.getNumberValidator)()),XC.Factory.addGetterSetter(ic,"sides",0,(0,YC.getNumberValidator)());var Zg={};Object.defineProperty(Zg,"__esModule",{value:!0}),Zg.Ring=void 0;const KC=dt,eG=sr,ZC=Ue,tG=lt,$C=Math.PI*2;let ac=class extends eG.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,$C,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),$C,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}};Zg.Ring=ac,ac.prototype.className="Ring",ac.prototype._centroid=!0,ac.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,tG._registerNode)(ac),KC.Factory.addGetterSetter(ac,"innerRadius",0,(0,ZC.getNumberValidator)()),KC.Factory.addGetterSetter(ac,"outerRadius",0,(0,ZC.getNumberValidator)());var $g={};Object.defineProperty($g,"__esModule",{value:!0}),$g.Sprite=void 0;const oc=dt,nG=sr,rG=nh,qC=Ue,iG=lt;let Ka=class extends nG.Shape{constructor(e){super(e),this._updated=!0,this.anim=new rG.Animation(()=>{const t=this._updated;return this._updated=!1,t}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,i=this.animations()[t],a=this.frameOffsets(),o=i[r+0],c=i[r+1],u=i[r+2],d=i[r+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,u,d),e.closePath(),e.fillStrokeShape(this)),f)if(a){const w=a[t],m=n*2;e.drawImage(f,o,c,u,d,w[m+0],w[m+1],u,d)}else e.drawImage(f,o,c,u,d,0,0,u,d)}_hitFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,i=this.animations()[t],a=this.frameOffsets(),o=i[r+2],c=i[r+3];if(e.beginPath(),a){const u=a[t],d=n*2;e.rect(u[d+0],u[d+1],o,c)}else e.rect(0,0,o,c);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){const e=this;this.interval=setInterval(function(){e._updateIndex()},1e3/this.frameRate())}start(){if(this.isRunning())return;const e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){const e=this.frameIndex(),t=this.animation(),n=this.animations(),r=n[t],i=r.length/4;e{if(new RegExp("\\p{Emoji}","u").test(n)){const a=i[r+1];a&&new RegExp("\\p{Emoji_Modifier}|\\u200D","u").test(a)?(t.push(n+a),i[r+1]=""):t.push(n)}else new RegExp("\\p{Regional_Indicator}{2}","u").test(n+(i[r+1]||""))?t.push(n+i[r+1]):r>0&&new RegExp("\\p{Mn}|\\p{Me}|\\p{Mc}","u").test(n)?t[t.length-1]+=n:n&&t.push(n);return t},[])}const Uu="auto",cG="center",JM="inherit",p0="justify",uG="Change.konva",dG="2d",QC="-",eT="left",hG="text",fG="Text",pG="top",gG="bottom",JC="middle",eS="normal",mG="px ",Ip=" ",vG="right",tS="rtl",yG="word",bG="char",nS="none",Ov="…",tT=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],wG=tT.length;function xG(e){return e.split(",").map(t=>{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t='"'.concat(t,'"')),t}).join(", ")}let Ev;function Pv(){return Ev||(Ev=q6.Util.createCanvasElement().getContext(dG),Ev)}function CG(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function SG(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function _G(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}let In=class extends sG.Shape{constructor(e){super(_G(e)),this._partialTextX=0,this._partialTextY=0;for(let t=0;t1&&(S+=a)}}_hitFunc(e){const t=this.getWidth(),n=this.getHeight();e.beginPath(),e.rect(0,0,t,n),e.closePath(),e.fillStrokeShape(this)}setText(e){const t=q6.Util._isString(e)?e:e==null?"":e+"";return this._setAttr(hG,t),this}getWidth(){return this.attrs.width===Uu||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===Uu||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return q6.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var t,n,r,i,a,o,c,u,d,f,w;let m=Pv(),g=this.fontSize(),y;m.save(),m.font=this._getContextFont(),y=m.measureText(e),m.restore();const C=g/100;return{actualBoundingBoxAscent:(t=y.actualBoundingBoxAscent)!==null&&t!==void 0?t:71.58203125*C,actualBoundingBoxDescent:(n=y.actualBoundingBoxDescent)!==null&&n!==void 0?n:0,actualBoundingBoxLeft:(r=y.actualBoundingBoxLeft)!==null&&r!==void 0?r:-7.421875*C,actualBoundingBoxRight:(i=y.actualBoundingBoxRight)!==null&&i!==void 0?i:75.732421875*C,alphabeticBaseline:(a=y.alphabeticBaseline)!==null&&a!==void 0?a:0,emHeightAscent:(o=y.emHeightAscent)!==null&&o!==void 0?o:100*C,emHeightDescent:(c=y.emHeightDescent)!==null&&c!==void 0?c:-20*C,fontBoundingBoxAscent:(u=y.fontBoundingBoxAscent)!==null&&u!==void 0?u:91*C,fontBoundingBoxDescent:(d=y.fontBoundingBoxDescent)!==null&&d!==void 0?d:21*C,hangingBaseline:(f=y.hangingBaseline)!==null&&f!==void 0?f:72.80000305175781*C,ideographicBaseline:(w=y.ideographicBaseline)!==null&&w!==void 0?w:-21*C,width:y.width,height:g}}_getContextFont(){return this.fontStyle()+Ip+this.fontVariant()+Ip+(this.fontSize()+mG)+xG(this.fontFamily())}_addTextLine(e){this.align()===p0&&(e=e.trim());const t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){const t=this.letterSpacing(),n=e.length;return Pv().measureText(e).width+t*n}_setTextData(){let e=this.text().split("\n"),t=+this.fontSize(),n=0,r=this.lineHeight()*t,i=this.attrs.width,a=this.attrs.height,o=i!==Uu&&i!==void 0,c=a!==Uu&&a!==void 0,u=this.padding(),d=i-u*2,f=a-u*2,w=0,m=this.wrap(),g=m!==nS,y=m!==bG&&g,C=this.ellipsis();this.textArr=[],Pv().font=this._getContextFont();const P=C?this._getTextWidth(Ov):0;for(let S=0,E=e.length;Sd)for(;p.length>0;){let O=0,k=Cc(p).length,I="",L=0;for(;O>>1,M=Cc(p),N=M.slice(0,D+1).join(""),z=this._getTextWidth(N)+P;z<=d?(O=D+1,I=N,L=z):k=D}if(I){if(y){const D=Cc(p),M=Cc(I),N=D[M.length],z=N===Ip||N===QC;let H;if(z&&L<=d)H=M.length;else{const W=M.lastIndexOf(Ip),K=M.lastIndexOf(QC);H=Math.max(W,K)+1}H>0&&(O=H,I=D.slice(0,O).join(""),L=this._getTextWidth(I))}if(I=I.trimRight(),this._addTextLine(I),n=Math.max(n,L),w+=r,this._shouldHandleEllipsis(w)){this._tryToAddEllipsisToLastLine();break}if(p=Cc(p).slice(O).join("").trimLeft(),p.length>0&&(x=this._getTextWidth(p),x<=d)){this._addTextLine(p),w+=r,n=Math.max(n,x);break}}else break}else this._addTextLine(p),w+=r,n=Math.max(n,x),this._shouldHandleEllipsis(w)&&Sf)break}this.textHeight=t,this.textWidth=n}_shouldHandleEllipsis(e){const t=+this.fontSize(),n=this.lineHeight()*t,r=this.attrs.height,i=r!==Uu&&r!==void 0,a=this.padding(),o=r-a*2;return this.wrap()===nS||i&&e+n>o}_tryToAddEllipsisToLastLine(){const e=this.attrs.width,t=e!==Uu&&e!==void 0,n=this.padding(),r=e-n*2,i=this.ellipsis(),a=this.textArr[this.textArr.length-1];!a||!i||(t&&(this._getTextWidth(a.text+Ov)t?null:g0.Path.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=g0.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();const t=this.textDecoration(),n=this.fill(),r=this.fontSize(),i=this.glyphInfo;t==="underline"&&e.beginPath();for(let a=0;a=1){const n=t[0].p0;e.moveTo(n.x,n.y)}for(let n=0;ne+".".concat(nT)).join(" "),cS="nodesRect",AG=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],IG={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},FG="ontouchstart"in Ca.Konva._global;function DG(e,t,n){if(e==="rotater")return n;t+=Xt.Util.degToRad(IG[e]||0);const r=(Xt.Util.radToDeg(t)%360+360)%360;return Xt.Util._inRange(r,315+22.5,360)||Xt.Util._inRange(r,0,22.5)?"ns-resize":Xt.Util._inRange(r,45-22.5,45+22.5)?"nesw-resize":Xt.Util._inRange(r,90-22.5,90+22.5)?"ew-resize":Xt.Util._inRange(r,135-22.5,135+22.5)?"nwse-resize":Xt.Util._inRange(r,180-22.5,180+22.5)?"ns-resize":Xt.Util._inRange(r,225-22.5,225+22.5)?"nesw-resize":Xt.Util._inRange(r,270-22.5,270+22.5)?"ew-resize":Xt.Util._inRange(r,315-22.5,315+22.5)?"nwse-resize":(Xt.Util.error("Transformer has unknown angle for cursor detection: "+r),"pointer")}const em=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];function NG(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function rT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return qf(Xn({},e),{rotation:e.rotation+t,x:r,y:i})}function RG(e,t){const n=NG(e);return rT(e,t,n)}function jG(e,t,n){let r=t;for(let i=0;in.isAncestorOf(this)?(Xt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);return this._nodes=e=t,e.length===1&&this.useSingleNodeRotation()?this.rotation(e[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(n=>{const r=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},i=n._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");n.on(i,r),n.on(AG.map(a=>a+".".concat(this._getEventNamespace())).join(" "),r),n.on("absoluteTransformChange.".concat(this._getEventNamespace()),r),this._proxyDrag(n)}),this._resetTransformCache(),this.findOne(".top-left")&&this.update(),this}_proxyDrag(e){let t;e.on("dragstart.".concat(this._getEventNamespace()),n=>{t=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back")&&this.startDrag(n,!1)}),e.on("dragmove.".concat(this._getEventNamespace()),n=>{if(!t)return;const r=e.getAbsolutePosition(),i=r.x-t.x,a=r.y-t.y;this.nodes().forEach(o=>{if(o===e||o.isDragging())return;const c=o.getAbsolutePosition();o.setAbsolutePosition({x:c.x+i,y:c.y+a}),o.startDrag(n)}),t=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(e=>{e.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(cS),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(cS,this.__getNodeRect)}__getNodeShape(e,t=this.rotation(),n){const r=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),i=e.getAbsoluteScale(n),a=e.getAbsolutePosition(n),o=r.x*i.x-e.offsetX()*i.x,c=r.y*i.y-e.offsetY()*i.y,u=(Ca.Konva.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+o*Math.cos(u)+c*Math.sin(-u),y:a.y+c*Math.cos(u)+o*Math.sin(u),width:r.width*i.x,height:r.height*i.y,rotation:u};return rT(d,-Ca.Konva.getAngle(t),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-1e8,y:-1e8,width:0,height:0,rotation:0};const e=[];this.nodes().map(c=>{const u=c.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),d=[{x:u.x,y:u.y},{x:u.x+u.width,y:u.y},{x:u.x+u.width,y:u.y+u.height},{x:u.x,y:u.y+u.height}],f=c.getAbsoluteTransform();d.forEach(function(w){const m=f.point(w);e.push(m)})});const t=new Xt.Transform;t.rotate(-Ca.Konva.getAngle(this.rotation()));let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(function(c){const u=t.point(c);n===void 0&&(n=i=u.x,r=a=u.y),n=Math.min(n,u.x),r=Math.min(r,u.y),i=Math.max(i,u.x),a=Math.max(a,u.y)}),t.invert();const o=t.point({x:n,y:r});return{x:o.x,y:o.y,width:i-n,height:a-r,rotation:Ca.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),em.forEach(e=>{this._createAnchor(e)}),this._createAnchor("rotater")}_createAnchor(e){const t=new LG.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:FG?10:"auto"}),n=this;t.on("mousedown touchstart",function(r){n._handleMouseDown(r)}),t.on("dragstart",r=>{t.stopDrag(),r.cancelBubble=!0}),t.on("dragend",r=>{r.cancelBubble=!0}),t.on("mouseenter",()=>{const r=Ca.Konva.getAngle(this.rotation()),i=this.rotateAnchorCursor(),a=DG(e,r,i);t.getStage().content&&(t.getStage().content.style.cursor=a),this._cursorChange=!0}),t.on("mouseout",()=>{t.getStage().content&&(t.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(t)}_createBack(){const e=new kG.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(t,n){const r=n.getParent(),i=r.padding();t.beginPath(),t.rect(-i,-i,n.width()+i*2,n.height()+i*2),t.moveTo(n.width()/2,-i),r.rotateEnabled()&&r.rotateLineVisible()&&t.lineTo(n.width()/2,-r.rotateAnchorOffset()*Xt.Util._sign(n.height())-i),t.fillStrokeShape(n)},hitFunc:(t,n)=>{if(!this.shouldOverdrawWholeArea())return;const r=this.padding();t.beginPath(),t.rect(-r,-r,n.width()+r*2,n.height()+r*2),t.fillStrokeShape(n)}});this.add(e),this._proxyDrag(e),e.on("dragstart",t=>{t.cancelBubble=!0}),e.on("dragmove",t=>{t.cancelBubble=!0}),e.on("dragend",t=>{t.cancelBubble=!0}),this.on("dragmove",t=>{this.update()})}_handleMouseDown(e){if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];const t=this._getNodeRect(),n=t.width,r=t.height,i=Math.sqrt(Math.pow(n,2)+Math.pow(r,2));this.sin=Math.abs(r/i),this.cos=Math.abs(n/i),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;const a=e.target.getAbsolutePosition(),o=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:o.x-a.x,y:o.y-a.y},Q6++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach(c=>{c._fire("transformstart",{evt:e.evt,target:c})})}_handleMouseMove(e){let t,n,r;const i=this.findOne("."+this._movingAnchorName),a=i.getStage();a.setPointersPositions(e);const o=a.getPointerPosition();let c={x:o.x-this._anchorDragOffset.x,y:o.y-this._anchorDragOffset.y};const u=i.getAbsolutePosition();this.anchorDragBoundFunc()&&(c=this.anchorDragBoundFunc()(u,c,e)),i.setAbsolutePosition(c);const d=i.getAbsolutePosition();if(u.x===d.x&&u.y===d.y)return;if(this._movingAnchorName==="rotater"){const x=this._getNodeRect();t=i.x()-x.width/2,n=-i.y()+x.height/2;let O=Math.atan2(-n,t)+Math.PI/2;x.height<0&&(O-=Math.PI);const k=Ca.Konva.getAngle(this.rotation())+O,I=Ca.Konva.getAngle(this.rotationSnapTolerance()),L=jG(this.rotationSnaps(),k,I)-x.rotation,D=RG(x,L);this._fitNodesInto(D,e);return}const f=this.shiftBehavior();let w;f==="inverted"?w=this.keepRatio()&&!e.shiftKey:f==="none"?w=this.keepRatio():w=this.keepRatio()||e.shiftKey;var P=this.centeredScaling()||e.altKey;if(this._movingAnchorName==="top-left"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};r=Math.sqrt(Math.pow(m.x-i.x(),2)+Math.pow(m.y-i.y(),2));var g=this.findOne(".top-left").x()>m.x?-1:1,y=this.findOne(".top-left").y()>m.y?-1:1;t=r*this.cos*g,n=r*this.sin*y,this.findOne(".top-left").x(m.x-t),this.findOne(".top-left").y(m.y-n)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(i.y());else if(this._movingAnchorName==="top-right"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};r=Math.sqrt(Math.pow(i.x()-m.x,2)+Math.pow(m.y-i.y(),2));var g=this.findOne(".top-right").x()m.y?-1:1;t=r*this.cos*g,n=r*this.sin*y,this.findOne(".top-right").x(m.x+t),this.findOne(".top-right").y(m.y-n)}var C=i.position();this.findOne(".top-left").y(C.y),this.findOne(".bottom-right").x(C.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(i.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(i.x());else if(this._movingAnchorName==="bottom-left"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};r=Math.sqrt(Math.pow(m.x-i.x(),2)+Math.pow(i.y()-m.y,2));var g=m.x{var i;r._fire("transformend",{evt:e,target:r}),(i=r.getLayer())===null||i===void 0||i.batchDraw()}),this._movingAnchorName=null}}_fitNodesInto(e,t){const n=this._getNodeRect(),r=1;if(Xt.Util._inRange(e.width,-this.padding()*2-r,r)){this.update();return}if(Xt.Util._inRange(e.height,-this.padding()*2-r,r)){this.update();return}const i=new Xt.Transform;if(i.rotate(Ca.Konva.getAngle(this.rotation())),this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){const w=i.point({x:-this.padding()*2,y:0});e.x+=w.x,e.y+=w.y,e.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){const w=i.point({x:this.padding()*2,y:0});this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.width+=this.padding()*2}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){const w=i.point({x:0,y:-this.padding()*2});e.x+=w.x,e.y+=w.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.height+=this.padding()*2}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const w=i.point({x:0,y:this.padding()*2});this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.height+=this.padding()*2}if(this.boundBoxFunc()){const w=this.boundBoxFunc()(n,e);w?e=w:Xt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,o=new Xt.Transform;o.translate(n.x,n.y),o.rotate(n.rotation),o.scale(n.width/a,n.height/a);const c=new Xt.Transform,u=e.width/a,d=e.height/a;this.flipEnabled()===!1?(c.translate(e.x,e.y),c.rotate(e.rotation),c.translate(e.width<0?e.width:0,e.height<0?e.height:0),c.scale(Math.abs(u),Math.abs(d))):(c.translate(e.x,e.y),c.rotate(e.rotation),c.scale(u,d));const f=c.multiply(o.invert());this._nodes.forEach(w=>{var m;const g=w.getParent().getAbsoluteTransform(),y=w.getTransform().copy();y.translate(w.offsetX(),w.offsetY());const C=new Xt.Transform;C.multiply(g.copy().invert()).multiply(f).multiply(g).multiply(y);const P=C.decompose();w.setAttrs(P),(m=w.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(Xt.Util._getRotation(e.rotation)),this._nodes.forEach(w=>{this._fire("transform",{evt:t,target:w}),w._fire("transform",{evt:t,target:w})}),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,t){this.findOne(e).setAttrs(t)}update(){var e;const t=this._getNodeRect();this.rotation(Xt.Util._getRotation(t.rotation));const n=t.width,r=t.height,i=this.enabledAnchors(),a=this.resizeEnabled(),o=this.padding(),c=this.anchorSize(),u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+o,offsetY:c/2+o,visible:a&&i.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:n/2,y:0,offsetY:c/2+o,visible:a&&i.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:n,y:0,offsetX:c/2-o,offsetY:c/2+o,visible:a&&i.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:r/2,offsetX:c/2+o,visible:a&&i.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:n,y:r/2,offsetX:c/2-o,visible:a&&i.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:r,offsetX:c/2+o,offsetY:c/2-o,visible:a&&i.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:n/2,y:r,offsetY:c/2-o,visible:a&&i.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:n,y:r,offsetX:c/2-o,offsetY:c/2-o,visible:a&&i.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:n/2,y:-this.rotateAnchorOffset()*Xt.Util._sign(r)-o,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:n,height:r,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();const e=this.findOne("."+this._movingAnchorName);e&&e.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),lS.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return sS.Node.prototype.toObject.call(this)}clone(e){return sS.Node.prototype.clone.call(this,e)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};Jg.Transformer=xt,xt.isTransforming=()=>Q6>0;function zG(e){return e instanceof Array||Xt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){em.indexOf(t)===-1&&Xt.Util.warn("Unknown anchor name: "+t+". Available names are: "+em.join(", "))}),e||[]}xt.prototype.className="Transformer",(0,MG._registerNode)(xt),Ft.Factory.addGetterSetter(xt,"enabledAnchors",em,zG),Ft.Factory.addGetterSetter(xt,"flipEnabled",!0,(0,Ts.getBooleanValidator)()),Ft.Factory.addGetterSetter(xt,"resizeEnabled",!0),Ft.Factory.addGetterSetter(xt,"anchorSize",10,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"rotateEnabled",!0),Ft.Factory.addGetterSetter(xt,"rotateLineVisible",!0),Ft.Factory.addGetterSetter(xt,"rotationSnaps",[]),Ft.Factory.addGetterSetter(xt,"rotateAnchorOffset",50,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"rotateAnchorCursor","crosshair"),Ft.Factory.addGetterSetter(xt,"rotationSnapTolerance",5,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderEnabled",!0),Ft.Factory.addGetterSetter(xt,"anchorStroke","rgb(0, 161, 255)"),Ft.Factory.addGetterSetter(xt,"anchorStrokeWidth",1,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"anchorFill","white"),Ft.Factory.addGetterSetter(xt,"anchorCornerRadius",0,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderStroke","rgb(0, 161, 255)"),Ft.Factory.addGetterSetter(xt,"borderStrokeWidth",1,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderDash"),Ft.Factory.addGetterSetter(xt,"keepRatio",!0),Ft.Factory.addGetterSetter(xt,"shiftBehavior","default"),Ft.Factory.addGetterSetter(xt,"centeredScaling",!1),Ft.Factory.addGetterSetter(xt,"ignoreStroke",!1),Ft.Factory.addGetterSetter(xt,"padding",0,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"nodes"),Ft.Factory.addGetterSetter(xt,"node"),Ft.Factory.addGetterSetter(xt,"boundBoxFunc"),Ft.Factory.addGetterSetter(xt,"anchorDragBoundFunc"),Ft.Factory.addGetterSetter(xt,"anchorStyleFunc"),Ft.Factory.addGetterSetter(xt,"shouldOverdrawWholeArea",!1),Ft.Factory.addGetterSetter(xt,"useSingleNodeRotation",!0),Ft.Factory.backCompat(xt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var tm={};Object.defineProperty(tm,"__esModule",{value:!0}),tm.Wedge=void 0;const Fp=dt,BG=sr,HG=lt,uS=Ue,GG=lt;let Lo=class extends BG.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,HG.Konva.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};tm.Wedge=Lo,Lo.prototype.className="Wedge",Lo.prototype._centroid=!0,Lo.prototype._attrsAffectingSize=["radius"],(0,GG._registerNode)(Lo),Fp.Factory.addGetterSetter(Lo,"radius",0,(0,uS.getNumberValidator)()),Fp.Factory.addGetterSetter(Lo,"angle",0,(0,uS.getNumberValidator)()),Fp.Factory.addGetterSetter(Lo,"clockwise",!1),Fp.Factory.backCompat(Lo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var nm={};Object.defineProperty(nm,"__esModule",{value:!0}),nm.Blur=void 0;const dS=dt,VG=mn,UG=Ue;function hS(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}const WG=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],XG=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function YG(e,t){const n=e.data,r=e.width,i=e.height;let a,o,c,u,d,f,w,m,g,y,C,P,S,E,p,x,O,k,I,L,D,M,N,z;const H=t+t+1,W=r-1,K=i-1,G=t+1,q=G*(G+1)/2,U=new hS,J=WG[t],Q=XG[t];let ae=null,ie=U,oe=null,ue=null;for(c=1;c>Q,N!==0?(N=255/N,n[f]=(m*J>>Q)*N,n[f+1]=(g*J>>Q)*N,n[f+2]=(y*J>>Q)*N):n[f]=n[f+1]=n[f+2]=0,m-=P,g-=S,y-=E,C-=p,P-=oe.r,S-=oe.g,E-=oe.b,p-=oe.a,u=w+((u=a+t+1)>Q,N>0?(N=255/N,n[u]=(m*J>>Q)*N,n[u+1]=(g*J>>Q)*N,n[u+2]=(y*J>>Q)*N):n[u]=n[u+1]=n[u+2]=0,m-=P,g-=S,y-=E,C-=p,P-=oe.r,S-=oe.g,E-=oe.b,p-=oe.a,u=a+((u=o+G)0&&YG(e,t)};nm.Blur=KG,dS.Factory.addGetterSetter(VG.Node,"blurRadius",0,(0,UG.getNumberValidator)(),dS.Factory.afterSetFilter);var rm={};Object.defineProperty(rm,"__esModule",{value:!0}),rm.Brighten=void 0;const fS=dt,ZG=mn,$G=Ue,qG=function(e){const t=this.brightness()*255,n=e.data,r=n.length;for(let i=0;i255?255:i,a=a<0?0:a>255?255:a,o=o<0?0:o>255?255:o,n[c]=i,n[c+1]=a,n[c+2]=o};im.Contrast=eV,pS.Factory.addGetterSetter(QG.Node,"contrast",0,(0,JG.getNumberValidator)(),pS.Factory.afterSetFilter);var am={};Object.defineProperty(am,"__esModule",{value:!0}),am.Emboss=void 0;const As=dt,Dp=mn,tV=Pn,gS=Ue,nV=function(e){const t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),a=e.data,o=e.width,c=e.height,u=o*4;let d=0,f=0,w=c;switch(r){case"top-left":d=-1,f=-1;break;case"top":d=-1,f=0;break;case"top-right":d=-1,f=1;break;case"right":d=0,f=1;break;case"bottom-right":d=1,f=1;break;case"bottom":d=1,f=0;break;case"bottom-left":d=1,f=-1;break;case"left":d=0,f=-1;break;default:tV.Util.error("Unknown emboss direction: "+r)}do{const m=(w-1)*u;let g=d;w+g<1&&(g=0),w+g>c&&(g=0);const y=(w-1+g)*o*4;let C=o;do{const P=m+(C-1)*4;let S=f;C+S<1&&(S=0),C+S>o&&(S=0);const E=y+(C-1+S)*4,p=a[P]-a[E],x=a[P+1]-a[E+1],O=a[P+2]-a[E+2];let k=p;const I=k>0?k:-k,L=x>0?x:-x,D=O>0?O:-O;if(L>I&&(k=x),D>I&&(k=O),k*=t,i){const M=a[P]+k,N=a[P+1]+k,z=a[P+2]+k;a[P]=M>255?255:M<0?0:M,a[P+1]=N>255?255:N<0?0:N,a[P+2]=z>255?255:z<0?0:z}else{let M=n-k;M<0?M=0:M>255&&(M=255),a[P]=a[P+1]=a[P+2]=M}}while(--C)}while(--w)};am.Emboss=nV,As.Factory.addGetterSetter(Dp.Node,"embossStrength",.5,(0,gS.getNumberValidator)(),As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossWhiteLevel",.5,(0,gS.getNumberValidator)(),As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossDirection","top-left",void 0,As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossBlend",!1,void 0,As.Factory.afterSetFilter);var om={};Object.defineProperty(om,"__esModule",{value:!0}),om.Enhance=void 0;const mS=dt,rV=mn,iV=Ue;function Mv(e,t,n,r,i){const a=n-t,o=i-r;if(a===0)return r+o/2;if(o===0)return r;let c=(e-t)/a;return c=o*c+r,c}const aV=function(e){const t=e.data,n=t.length;let r=t[0],i=r,a,o=t[1],c=o,u,d=t[2],f=d,w;const m=this.enhance();if(m===0)return;for(let k=0;ki&&(i=a),u=t[k+1],uc&&(c=u),w=t[k+2],wf&&(f=w);i===r&&(i=255,r=0),c===o&&(c=255,o=0),f===d&&(f=255,d=0);let g,y,C,P,S,E,p,x,O;m>0?(y=i+m*(255-i),C=r-m*(r-0),S=c+m*(255-c),E=o-m*(o-0),x=f+m*(255-f),O=d-m*(d-0)):(g=(i+r)*.5,y=i+m*(i-g),C=r+m*(r-g),P=(c+o)*.5,S=c+m*(c-P),E=o+m*(o-P),p=(f+d)*.5,x=f+m*(f-p),O=d+m*(d-p));for(let k=0;kd?m:d;const g=o,y=a,C=360/y*Math.PI/180;for(let P=0;Pd?m:d;const g=o,y=a,C=0;let P,S;for(f=0;ft&&(x=p,O=0,k=-1),i=0;i=0&&g=0&&y=0&&g=0&&y=255*4?255:0}return o}function wV(e,t,n){const r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),a=Math.floor(i/2),o=[];for(let c=0;c=0&&g=0&&y=n))for(a=C;a=r||(o=(n*a+i)*4,c+=x[o+0],u+=x[o+1],d+=x[o+2],f+=x[o+3],p+=1);for(c=c/p,u=u/p,d=d/p,f=f/p,i=g;i=n))for(a=C;a=r||(o=(n*a+i)*4,x[o+0]=c,x[o+1]=u,x[o+2]=d,x[o+3]=f)}};pm.Pixelate=kV,CS.Factory.addGetterSetter(EV.Node,"pixelSize",8,(0,PV.getNumberValidator)(),CS.Factory.afterSetFilter);var gm={};Object.defineProperty(gm,"__esModule",{value:!0}),gm.Posterize=void 0;const SS=dt,LV=mn,MV=Ue,TV=function(e){const t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t;for(let a=0;a255?255:e<0?0:Math.round(e)}),jp.Factory.addGetterSetter(Dv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),jp.Factory.addGetterSetter(Dv.Node,"blue",0,AV.RGBComponent,jp.Factory.afterSetFilter);var vm={};Object.defineProperty(vm,"__esModule",{value:!0}),vm.RGBA=void 0;const v0=dt,zp=mn,FV=Ue,DV=function(e){const t=e.data,n=t.length,r=this.red(),i=this.green(),a=this.blue(),o=this.alpha();for(let c=0;c255?255:e<0?0:Math.round(e)}),v0.Factory.addGetterSetter(zp.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),v0.Factory.addGetterSetter(zp.Node,"blue",0,FV.RGBComponent,v0.Factory.afterSetFilter),v0.Factory.addGetterSetter(zp.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var ym={};Object.defineProperty(ym,"__esModule",{value:!0}),ym.Sepia=void 0;const NV=function(e){const t=e.data,n=t.length;for(let r=0;r127&&(d=255-d),f>127&&(f=255-f),w>127&&(w=255-w),t[u]=d,t[u+1]=f,t[u+2]=w}while(--c)}while(--a)};bm.Solarize=RV;var wm={};Object.defineProperty(wm,"__esModule",{value:!0}),wm.Threshold=void 0;const _S=dt,jV=mn,zV=Ue,BV=function(e){const t=this.threshold()*255,n=e.data,r=n.length;for(let i=0;i>>1,Q=G[J];if(0>>1;Ji(oe,U))uei(Ce,oe)?(G[J]=Ce,G[ue]=U,J=ue):(G[J]=oe,G[ie]=U,J=ie);else if(uei(Ce,U))G[J]=Ce,G[ue]=U,J=ue;else break e}}return q}function i(G,q){var U=G.sortIndex-q.sortIndex;return U!==0?U:G.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var u=[],d=[],f=1,w=null,m=3,g=!1,y=!1,C=!1,P=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function p(G){for(var q=n(d);q!==null;){if(q.callback===null)r(d);else if(q.startTime<=G)r(d),q.sortIndex=q.expirationTime,t(u,q);else break;q=n(d)}}function x(G){if(C=!1,p(G),!y)if(n(u)!==null)y=!0,W();else{var q=n(d);q!==null&&K(x,q.startTime-G)}}var O=!1,k=-1,I=5,L=-1;function D(){return!(e.unstable_now()-LG&&D());){var J=w.callback;if(typeof J=="function"){w.callback=null,m=w.priorityLevel;var Q=J(w.expirationTime<=G);if(G=e.unstable_now(),typeof Q=="function"){w.callback=Q,p(G),q=!0;break t}w===n(u)&&r(u),p(G)}else r(u);w=n(u)}if(w!==null)q=!0;else{var ae=n(d);ae!==null&&K(x,ae.startTime-G),q=!1}}break e}finally{w=null,m=U,g=!1}q=void 0}}finally{q?N():O=!1}}}var N;if(typeof E=="function")N=function(){E(M)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,H=z.port2;z.port1.onmessage=M,N=function(){H.postMessage(null)}}else N=function(){P(M,0)};function W(){O||(O=!0,N())}function K(G,q){k=P(function(){G(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_continueExecution=function(){y||g||(y=!0,W())},e.unstable_forceFrameRate=function(G){0>G||125J?(G.sortIndex=U,t(d,G),n(u)===null&&G===n(d)&&(C?(S(k),k=-1):C=!0,K(x,U-J))):(G.sortIndex=Q,t(u,G),y||g||(y=!0,W())),G},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(G){var q=m;return function(){var U=m;m=q;try{return G.apply(this,arguments)}finally{m=U}}}})(PS),oT.exports=PS;var Z2=oT.exports;(function(e){e.exports=function(t){function n(s,l,h,v){return new kF(s,l,h,v)}function r(){}function i(s){var l="https://react.dev/errors/"+s;if(1)":-1_||ne[v]!==we[_]){var Ee="\n"+ne[v].replace(" at new "," at ");return s.displayName&&Ee.includes("")&&(Ee=Ee.replace("",s.displayName)),Ee}while(1<=v&&0<=_);break}}}finally{V5=!1,Error.prepareStackTrace=h}return(h=s?s.displayName||s.name:"")?c(h):""}function d(s){switch(s.tag){case 26:case 27:case 5:return c(s.type);case 16:return c("Lazy");case 13:return c("Suspense");case 19:return c("SuspenseList");case 0:case 15:return s=u(s.type,!1),s;case 11:return s=u(s.type.render,!1),s;case 1:return s=u(s.type,!0),s;default:return""}}function f(s){try{var l="";do l+=d(s),s=s.return;while(s);return l}catch(h){return"\nError generating stack: "+h.message+"\n"+h.stack}}function w(s){var l=s,h=s;if(s.alternate)for(;l.return;)l=l.return;else{s=l;do l=s,l.flags&4098&&(h=l.return),s=l.return;while(s)}return l.tag===3?h:null}function m(s){if(w(s)!==s)throw Error(i(188))}function g(s){var l=s.alternate;if(!l){if(l=w(s),l===null)throw Error(i(188));return l!==s?null:s}for(var h=s,v=l;;){var _=h.return;if(_===null)break;var T=_.alternate;if(T===null){if(v=_.return,v!==null){h=v;continue}break}if(_.child===T.child){for(T=_.child;T;){if(T===h)return m(_),s;if(T===v)return m(_),l;T=T.sibling}throw Error(i(188))}if(h.return!==v.return)h=_,v=T;else{for(var j=!1,Z=_.child;Z;){if(Z===h){j=!0,h=_,v=T;break}if(Z===v){j=!0,v=_,h=T;break}Z=Z.sibling}if(!j){for(Z=T.child;Z;){if(Z===h){j=!0,h=T,v=_;break}if(Z===v){j=!0,v=T,h=_;break}Z=Z.sibling}if(!j)throw Error(i(189))}}if(h.alternate!==v)throw Error(i(190))}if(h.tag!==3)throw Error(i(188));return h.stateNode.current===h?s:l}function y(s){var l=s.tag;if(l===5||l===26||l===27||l===6)return s;for(s=s.child;s!==null;){if(l=y(s),l!==null)return l;s=s.sibling}return null}function C(s){var l=s.tag;if(l===5||l===26||l===27||l===6)return s;for(s=s.child;s!==null;){if(s.tag!==4&&(l=C(s),l!==null))return l;s=s.sibling}return null}function P(s){return{current:s}}function S(s){0>bu||(s.current=Z5[bu],Z5[bu]=null,bu--)}function E(s,l){bu++,Z5[bu]=s.current,s.current=l}function p(s){return s>>>=0,s===0?32:31-(ZD(s)/$D|0)|0}function x(s){var l=s&42;if(l!==0)return l;switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function O(s,l){var h=s.pendingLanes;if(h===0)return 0;var v=0,_=s.suspendedLanes,T=s.pingedLanes,j=s.warmLanes;s=s.finishedLanes!==0;var Z=h&134217727;return Z!==0?(h=Z&~_,h!==0?v=x(h):(T&=Z,T!==0?v=x(T):s||(j=Z&~j,j!==0&&(v=x(j))))):(Z=h&~_,Z!==0?v=x(Z):T!==0?v=x(T):s||(j=h&~j,j!==0&&(v=x(j)))),v===0?0:l!==0&&l!==v&&!(l&_)&&(_=v&-v,j=l&-l,_>=j||_===32&&(j&4194176)!==0)?l:v}function k(s,l){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&l)===0}function I(s,l){switch(s){case 1:case 2:case 4:case 8:return l+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function L(){var s=Mf;return Mf<<=1,!(Mf&4194176)&&(Mf=128),s}function D(){var s=Tf;return Tf<<=1,!(Tf&62914560)&&(Tf=4194304),s}function M(s){for(var l=[],h=0;31>h;h++)l.push(s);return l}function N(s,l){s.pendingLanes|=l,l!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function z(s,l,h,v,_,T){var j=s.pendingLanes;s.pendingLanes=h,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=h,s.entangledLanes&=h,s.errorRecoveryDisabledLanes&=h,s.shellSuspendCounter=0;var Z=s.entanglements,ne=s.expirationTimes,we=s.hiddenUpdates;for(h=j&~h;0>=j,_-=j,wo=1<<32-xi(l)+_|h<<_|v,xo=T+s}else wo=1<Tt?(hr=Xe,Xe=null):hr=Xe.sibling;var At=Fe(ce,Xe,de[Tt],_e);if(At===null){Xe===null&&(Xe=hr);break}s&&Xe&&At.alternate===null&&l(ce,Xe),te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At,Xe=hr}if(Tt===de.length)return h(ce,Xe),Mt&&Q(ce,Tt),He;if(Xe===null){for(;TtTt?(hr=Xe,Xe=null):hr=Xe.sibling;var _s=Fe(ce,Xe,At.value,_e);if(_s===null){Xe===null&&(Xe=hr);break}s&&Xe&&_s.alternate===null&&l(ce,Xe),te=T(_s,te,Tt),cn===null?He=_s:cn.sibling=_s,cn=_s,Xe=hr}if(At.done)return h(ce,Xe),Mt&&Q(ce,Tt),He;if(Xe===null){for(;!At.done;Tt++,At=de.next())At=Te(ce,At.value,_e),At!==null&&(te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At);return Mt&&Q(ce,Tt),He}for(Xe=v(Xe);!At.done;Tt++,At=de.next())At=nt(Xe,ce,Tt,At.value,_e),At!==null&&(s&&At.alternate!==null&&Xe.delete(At.key===null?Tt:At.key),te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At);return s&&Xe.forEach(function(uN){return l(ce,uN)}),Mt&&Q(ce,Tt),He}function $l(ce,te,de,_e){if(typeof de=="object"&&de!==null&&de.type===vu&&de.key===null&&(de=de.props.children),typeof de=="object"&&de!==null){switch(de.$$typeof){case Pf:e:{for(var He=de.key;te!==null;){if(te.key===He){if(He=de.type,He===vu){if(te.tag===7){h(ce,te.sibling),_e=_(te,de.props.children),_e.return=ce,ce=_e;break e}}else if(te.elementType===He||typeof He=="object"&&He!==null&&He.$$typeof===ms&&ei(He)===te.type){h(ce,te.sibling),_e=_(te,de.props),uo(_e,de),_e.return=ce,ce=_e;break e}h(ce,te);break}else l(ce,te);te=te.sibling}de.type===vu?(_e=jl(de.props.children,ce.mode,_e,de.key),_e.return=ce,ce=_e):(_e=Ef(de.type,de.key,de.props,null,ce.mode,_e),uo(_e,de),_e.return=ce,ce=_e)}return j(ce);case mu:e:{for(He=de.key;te!==null;){if(te.key===He)if(te.tag===4&&te.stateNode.containerInfo===de.containerInfo&&te.stateNode.implementation===de.implementation){h(ce,te.sibling),_e=_(te,de.children||[]),_e.return=ce,ce=_e;break e}else{h(ce,te);break}else l(ce,te);te=te.sibling}_e=F5(de,ce.mode,_e),_e.return=ce,ce=_e}return j(ce);case ms:return He=de._init,de=He(de._payload),$l(ce,te,de,_e)}if(kf(de))return Zi(ce,te,de,_e);if(a(de)){if(He=a(de),typeof He!="function")throw Error(i(150));return de=He.call(de),n0(ce,te,de,_e)}if(typeof de.then=="function")return $l(ce,te,Jr(de),_e);if(de.$$typeof===gs)return $l(ce,te,wf(ce,de),_e);ss(ce,de)}return typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint"?(de=""+de,te!==null&&te.tag===6?(h(ce,te.sibling),_e=_(te,de),_e.return=ce,ce=_e):(h(ce,te),_e=I5(de,ce.mode,_e),_e.return=ce,ce=_e),j(ce)):h(ce,te)}return function(ce,te,de,_e){try{Zh=0;var He=$l(ce,te,de,_e);return Lu=null,He}catch(Xe){if(Xe===Kh)throw Xe;var cn=n(29,Xe,null,ce.mode);return cn.lanes=_e,cn.return=ce,cn}finally{}}}function ja(s,l){s=Eo,E(zf,s),E(Mu,l),Eo=s|l.baseLanes}function Vn(){E(zf,Eo),E(Mu,Mu.current)}function ti(){Eo=zf.current,S(Mu),S(zf)}function Hi(s){var l=s.alternate;E(qn,qn.current&1),E(Yi,s),Co===null&&(l===null||Mu.current!==null||l.memoizedState!==null)&&(Co=s)}function ho(s){if(s.tag===22){if(E(qn,qn.current),E(Yi,s),Co===null){var l=s.alternate;l!==null&&l.memoizedState!==null&&(Co=s)}}else za()}function za(){E(qn,qn.current),E(Yi,Yi.current)}function ha(s){S(Yi),Co===s&&(Co=null),S(qn)}function eu(s){for(var l=s;l!==null;){if(l.tag===13){var h=l.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||X5(h)||Y5(h)))return l}else if(l.tag===19&&l.memoizedProps.revealOrder!==void 0){if(l.flags&128)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===s)break;for(;l.sibling===null;){if(l.return===null||l.return===s)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}function yn(){throw Error(i(321))}function xh(s,l){if(l===null)return!1;for(var h=0;hT?T:8);var j=$e.T,Z={};$e.T=Z,cu(s,!1,l,h);try{var ne=_(),we=$e.S;if(we!==null&&we(Z,ne),ne!==null&&typeof ne=="object"&&typeof ne.then=="function"){var Ee=Pe(ne,v);Al(s,l,Ee,bi(s))}else Al(s,l,v,bi(s))}catch(Te){Al(s,l,{then:function(){},status:"rejected",reason:Te},bi())}finally{ai(T),$e.T=j}}function Ga(s){var l=s.memoizedState;if(l!==null)return l;l={memoizedState:yu,baseState:yu,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:yu},next:null};var h={};return l.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:h},next:null},s.memoizedState=l,s=s.alternate,s!==null&&(s.memoizedState=l),l}function po(){return Pr(Bl)}function mf(){return Ln().memoizedState}function Ih(){return Ln().memoizedState}function t5(s){for(var l=s.return;l!==null;){switch(l.tag){case 24:case 3:var h=bi();s=We(h);var v=Ge(l,s,h);v!==null&&(Hr(v,l,h),at(v,l,h)),l={cache:h5()},s.payload=l;return}l=l.return}}function vf(s,l,h){var v=bi();h={lane:v,revertLane:0,action:h,hasEagerState:!1,eagerState:null,next:null},uu(s)?V(l,h):(h=et(s,l,h,v),h!==null&&(Hr(h,s,v),ee(h,l,v)))}function yf(s,l,h){var v=bi();Al(s,l,h,v)}function Al(s,l,h,v){var _={lane:v,revertLane:0,action:h,hasEagerState:!1,eagerState:null,next:null};if(uu(s))V(l,_);else{var T=s.alternate;if(s.lanes===0&&(T===null||T.lanes===0)&&(T=l.lastRenderedReducer,T!==null))try{var j=l.lastRenderedState,Z=T(j,h);if(_.hasEagerState=!0,_.eagerState=Z,Si(Z,j))return Me(s,l,_,0),rn===null&&Ie(),!1}catch(ne){}finally{}if(h=et(s,l,_,v),h!==null)return Hr(h,s,v),ee(h,l,v),!0}return!1}function cu(s,l,h,v){if(v={lane:2,revertLane:nn(),action:v,hasEagerState:!1,eagerState:null,next:null},uu(s)){if(l)throw Error(i(479))}else l=et(s,h,v,2),l!==null&&Hr(l,s,2)}function uu(s){var l=s.alternate;return s===ut||l!==null&&l===ut}function V(s,l){Tu=Bf=!0;var h=s.pending;h===null?l.next=l:(l.next=h.next,h.next=l),s.pending=l}function ee(s,l,h){if(h&4194176){var v=l.lanes;v&=s.pendingLanes,h|=v,l.lanes=h,W(s,h)}}function he(s,l,h,v){l=s.memoizedState,h=h(v,l),h=h==null?l:N5({},l,h),s.memoizedState=h,s.lanes===0&&(s.updateQueue.baseState=h)}function Ne(s,l,h,v,_,T,j){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(v,T,j):l.prototype&&l.prototype.isPureReactComponent?!Ke(h,v)||!Ke(_,T):!0}function ft(s,l,h,v){s=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(h,v),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(h,v),l.state!==s&&o4.enqueueReplaceState(l,l.state,null)}function wt(s,l){var h=l;if("ref"in l){h={};for(var v in l)v!=="ref"&&(h[v]=l[v])}if(s=s.defaultProps){h===l&&(h=N5({},h));for(var _ in s)h[_]===void 0&&(h[_]=s[_])}return h}function zt(s,l){try{var h=s.onUncaughtError;h(l.value,{componentStack:l.stack})}catch(v){setTimeout(function(){throw v})}}function St(s,l,h){try{var v=s.onCaughtError;v(h.value,{componentStack:h.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(_){setTimeout(function(){throw _})}}function Vt(s,l,h){return h=We(h),h.tag=3,h.payload={element:null},h.callback=function(){zt(s,l)},h}function ri(s){return s=We(s),s.tag=3,s}function Er(s,l,h,v){var _=h.type.getDerivedStateFromError;if(typeof _=="function"){var T=v.value;s.payload=function(){return _(T)},s.callback=function(){St(l,h,v)}}var j=h.stateNode;j!==null&&typeof j.componentDidCatch=="function"&&(s.callback=function(){St(l,h,v),typeof _!="function"&&(Ss===null?Ss=new Set([this]):Ss.add(this));var Z=v.stack;this.componentDidCatch(v.value,{componentStack:Z!==null?Z:""})})}function Il(s,l,h,v,_){if(h.flags|=32768,v!==null&&typeof v=="object"&&typeof v.then=="function"){if(l=h.alternate,l!==null&&Nh(l,h,_,!0),h=Yi.current,h!==null){switch(h.tag){case 13:return Co===null?L5():h.alternate===null&&An===0&&(An=3),h.flags&=-257,h.flags|=65536,h.lanes=_,v===jf?h.flags|=16384:(l=h.updateQueue,l===null?h.updateQueue=new Set([v]):l.add(v),T5(s,v,_)),!1;case 22:return h.flags|=65536,v===jf?h.flags|=16384:(l=h.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([v])},h.updateQueue=l):(h=l.retryQueue,h===null?l.retryQueue=new Set([v]):h.add(v)),T5(s,v,_)),!1}throw Error(i(435,h.tag))}return T5(s,v,_),L5(),!1}if(Mt)return l=Yi.current,l!==null?(!(l.flags&65536)&&(l.flags|=256),l.flags|=65536,l.lanes=_,v!==Q5&&(s=Error(i(422),{cause:v}),Ae(J(s,h)))):(v!==Q5&&(l=Error(i(423),{cause:v}),Ae(J(l,h))),s=s.current.alternate,s.flags|=65536,_&=-_,s.lanes|=_,v=J(v,h),_=Vt(s.stateNode,v,_),$t(s,_),An!==4&&(An=2)),!1;var T=Error(i(520),{cause:v});if(T=J(T,h),Qh===null?Qh=[T]:Qh.push(T),An!==4&&(An=2),l===null)return!0;v=J(v,h),h=l;do{switch(h.tag){case 3:return h.flags|=65536,s=_&-_,h.lanes|=s,s=Vt(h.stateNode,v,s),$t(h,s),!1;case 1:if(l=h.type,T=h.stateNode,(h.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||T!==null&&typeof T.componentDidCatch=="function"&&(Ss===null||!Ss.has(T))))return h.flags|=65536,_&=-_,h.lanes|=_,_=ri(_),Er(_,s,h,v),$t(h,_),!1}h=h.return}while(h!==null);return!1}function zn(s,l,h,v){l.child=s===null?Aw(l,null,h,v):Gl(l,s.child,h,v)}function du(s,l,h,v,_){h=h.render;var T=l.ref;if("ref"in v){var j={};for(var Z in v)Z!=="ref"&&(j[Z]=v[Z])}else j=v;return Fl(l),v=Ba(s,l,h,j,T,_),Z=Ch(),s!==null&&!ur?(Sh(s,l,_),go(s,l,_)):(Mt&&Z&&ie(l),l.flags|=1,zn(s,l,v,_),l.child)}function Fh(s,l,h,v,_){if(s===null){var T=h.type;return typeof T=="function"&&!A5(T)&&T.defaultProps===void 0&&h.compare===null?(l.tag=15,l.type=T,J9(s,l,T,v,_)):(s=Ef(h.type,null,v,l,l.mode,_),s.ref=l.ref,s.return=l,l.child=s)}if(T=s.child,!c5(s,_)){var j=T.memoizedProps;if(h=h.compare,h=h!==null?h:Ke,h(j,v)&&s.ref===l.ref)return go(s,l,_)}return l.flags|=1,s=ps(T,v),s.ref=l.ref,s.return=l,l.child=s}function J9(s,l,h,v,_){if(s!==null){var T=s.memoizedProps;if(Ke(T,v)&&s.ref===l.ref)if(ur=!1,l.pendingProps=v=T,c5(s,_))s.flags&131072&&(ur=!0);else return l.lanes=s.lanes,go(s,l,_)}return n5(s,l,h,v,_)}function eb(s,l,h){var v=l.pendingProps,_=v.children,T=(l.stateNode._pendingVisibility&2)!==0,j=s!==null?s.memoizedState:null;if(Dh(s,l),v.mode==="hidden"||T){if(l.flags&128){if(v=j!==null?j.baseLanes|h:h,s!==null){for(_=l.child=s.child,T=0;_!==null;)T=T|_.lanes|_.childLanes,_=_.sibling;l.childLanes=T&~v}else l.childLanes=0,l.child=null;return tb(s,l,v,h)}if(h&536870912)l.memoizedState={baseLanes:0,cachePool:null},s!==null&&xf(l,j!==null?j.cachePool:null),j!==null?ja(l,j):Vn(),ho(l);else return l.lanes=l.childLanes=536870912,tb(s,l,j!==null?j.baseLanes|h:h,h)}else j!==null?(xf(l,j.cachePool),ja(l,j),za(),l.memoizedState=null):(s!==null&&xf(l,null),Vn(),za());return zn(s,l,_,h),l.child}function tb(s,l,h,v){var _=f5();return _=_===null?null:{parent:bo?Mn._currentValue:Mn._currentValue2,pool:_},l.memoizedState={baseLanes:h,cachePool:_},s!==null&&xf(l,null),Vn(),ho(l),s!==null&&Nh(s,l,v,!0),null}function Dh(s,l){var h=l.ref;if(h===null)s!==null&&s.ref!==null&&(l.flags|=2097664);else{if(typeof h!="function"&&typeof h!="object")throw Error(i(284));(s===null||s.ref!==h)&&(l.flags|=2097664)}}function n5(s,l,h,v,_){return Fl(l),h=Ba(s,l,h,v,void 0,_),v=Ch(),s!==null&&!ur?(Sh(s,l,_),go(s,l,_)):(Mt&&v&&ie(l),l.flags|=1,zn(s,l,h,_),l.child)}function nb(s,l,h,v,_,T){return Fl(l),l.updateQueue=null,h=q1(l,v,h,_),$1(s),v=Ch(),s!==null&&!ur?(Sh(s,l,T),go(s,l,T)):(Mt&&v&&ie(l),l.flags|=1,zn(s,l,h,T),l.child)}function rb(s,l,h,v,_){if(Fl(l),l.stateNode===null){var T=wu,j=h.contextType;typeof j=="object"&&j!==null&&(T=Pr(j)),T=new h(v,T),l.memoizedState=T.state!==null&&T.state!==void 0?T.state:null,T.updater=o4,l.stateNode=T,T._reactInternals=l,T=l.stateNode,T.props=v,T.state=l.memoizedState,T.refs={},ze(l),j=h.contextType,T.context=typeof j=="object"&&j!==null?Pr(j):wu,T.state=l.memoizedState,j=h.getDerivedStateFromProps,typeof j=="function"&&(he(l,h,j,v),T.state=l.memoizedState),typeof h.getDerivedStateFromProps=="function"||typeof T.getSnapshotBeforeUpdate=="function"||typeof T.UNSAFE_componentWillMount!="function"&&typeof T.componentWillMount!="function"||(j=T.state,typeof T.componentWillMount=="function"&&T.componentWillMount(),typeof T.UNSAFE_componentWillMount=="function"&&T.UNSAFE_componentWillMount(),j!==T.state&&o4.enqueueReplaceState(T,T.state,null),Or(l,v,T,_),br(),T.state=l.memoizedState),typeof T.componentDidMount=="function"&&(l.flags|=4194308),v=!0}else if(s===null){T=l.stateNode;var Z=l.memoizedProps,ne=wt(h,Z);T.props=ne;var we=T.context,Ee=h.contextType;j=wu,typeof Ee=="object"&&Ee!==null&&(j=Pr(Ee));var Te=h.getDerivedStateFromProps;Ee=typeof Te=="function"||typeof T.getSnapshotBeforeUpdate=="function",Z=l.pendingProps!==Z,Ee||typeof T.UNSAFE_componentWillReceiveProps!="function"&&typeof T.componentWillReceiveProps!="function"||(Z||we!==j)&&ft(l,T,v,j),bs=!1;var Fe=l.memoizedState;T.state=Fe,Or(l,v,T,_),br(),we=l.memoizedState,Z||Fe!==we||bs?(typeof Te=="function"&&(he(l,h,Te,v),we=l.memoizedState),(ne=bs||Ne(l,h,ne,v,Fe,we,j))?(Ee||typeof T.UNSAFE_componentWillMount!="function"&&typeof T.componentWillMount!="function"||(typeof T.componentWillMount=="function"&&T.componentWillMount(),typeof T.UNSAFE_componentWillMount=="function"&&T.UNSAFE_componentWillMount()),typeof T.componentDidMount=="function"&&(l.flags|=4194308)):(typeof T.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=v,l.memoizedState=we),T.props=v,T.state=we,T.context=j,v=ne):(typeof T.componentDidMount=="function"&&(l.flags|=4194308),v=!1)}else{T=l.stateNode,vt(s,l),j=l.memoizedProps,Ee=wt(h,j),T.props=Ee,Te=l.pendingProps,Fe=T.context,we=h.contextType,ne=wu,typeof we=="object"&&we!==null&&(ne=Pr(we)),Z=h.getDerivedStateFromProps,(we=typeof Z=="function"||typeof T.getSnapshotBeforeUpdate=="function")||typeof T.UNSAFE_componentWillReceiveProps!="function"&&typeof T.componentWillReceiveProps!="function"||(j!==Te||Fe!==ne)&&ft(l,T,v,ne),bs=!1,Fe=l.memoizedState,T.state=Fe,Or(l,v,T,_),br();var nt=l.memoizedState;j!==Te||Fe!==nt||bs||s!==null&&s.dependencies!==null&&bf(s.dependencies)?(typeof Z=="function"&&(he(l,h,Z,v),nt=l.memoizedState),(Ee=bs||Ne(l,h,Ee,v,Fe,nt,ne)||s!==null&&s.dependencies!==null&&bf(s.dependencies))?(we||typeof T.UNSAFE_componentWillUpdate!="function"&&typeof T.componentWillUpdate!="function"||(typeof T.componentWillUpdate=="function"&&T.componentWillUpdate(v,nt,ne),typeof T.UNSAFE_componentWillUpdate=="function"&&T.UNSAFE_componentWillUpdate(v,nt,ne)),typeof T.componentDidUpdate=="function"&&(l.flags|=4),typeof T.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof T.componentDidUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=4),typeof T.getSnapshotBeforeUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=1024),l.memoizedProps=v,l.memoizedState=nt),T.props=v,T.state=nt,T.context=ne,v=Ee):(typeof T.componentDidUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=4),typeof T.getSnapshotBeforeUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=1024),v=!1)}return T=v,Dh(s,l),v=(l.flags&128)!==0,T||v?(T=l.stateNode,h=v&&typeof h.getDerivedStateFromError!="function"?null:T.render(),l.flags|=1,s!==null&&v?(l.child=Gl(l,s.child,null,_),l.child=Gl(l,null,h,_)):zn(s,l,h,_),l.memoizedState=T.state,s=l.child):s=go(s,l,_),s}function ib(s,l,h,v){return ge(),l.flags|=256,zn(s,l,h,v),l.child}function r5(s){return{baseLanes:s,cachePool:ub()}}function i5(s,l,h){return s=s!==null?s.childLanes&~h:0,l&&(s|=Ki),s}function ab(s,l,h){var v=l.pendingProps,_=!1,T=(l.flags&128)!==0,j;if((j=T)||(j=s!==null&&s.memoizedState===null?!1:(qn.current&2)!==0),j&&(_=!0,l.flags&=-129),j=(l.flags&32)!==0,l.flags&=-33,s===null){if(Mt){if(_?Hi(l):za(),Mt){var Z=Mr,ne;(ne=Z)&&(Z=MD(Z,Va),Z!==null?(l.memoizedState={dehydrated:Z,treeContext:Hl!==null?{id:wo,overflow:xo}:null,retryLane:536870912},ne=n(18,null,null,0),ne.stateNode=Z,ne.return=l,l.child=ne,Gr=l,Mr=null,ne=!0):ne=!1),ne||Y(l)}if(Z=l.memoizedState,Z!==null&&(Z=Z.dehydrated,Z!==null))return Y5(Z)?l.lanes=16:l.lanes=536870912,null;ha(l)}return Z=v.children,v=v.fallback,_?(za(),_=l.mode,Z=o5({mode:"hidden",children:Z},_),v=jl(v,_,h,null),Z.return=l,v.return=l,Z.sibling=v,l.child=Z,_=l.child,_.memoizedState=r5(h),_.childLanes=i5(s,j,h),l.memoizedState=s4,v):(Hi(l),a5(l,Z))}if(ne=s.memoizedState,ne!==null&&(Z=ne.dehydrated,Z!==null)){if(T)l.flags&256?(Hi(l),l.flags&=-257,l=s5(s,l,h)):l.memoizedState!==null?(za(),l.child=s.child,l.flags|=128,l=null):(za(),_=v.fallback,Z=l.mode,v=o5({mode:"visible",children:v.children},Z),_=jl(_,Z,h,null),_.flags|=2,v.return=l,_.return=l,v.sibling=_,l.child=v,Gl(l,s.child,null,h),v=l.child,v.memoizedState=r5(h),v.childLanes=i5(s,j,h),l.memoizedState=s4,l=_);else if(Hi(l),Y5(Z))j=CD(Z).digest,v=Error(i(419)),v.stack="",v.digest=j,Ae({value:v,source:null,stack:null}),l=s5(s,l,h);else if(ur||Nh(s,l,h,!1),j=(h&s.childLanes)!==0,ur||j){if(j=rn,j!==null){if(v=h&-h,v&42)v=1;else switch(v){case 2:v=1;break;case 8:v=4;break;case 32:v=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:v=64;break;case 268435456:v=134217728;break;default:v=0}if(v=v&(j.suspendedLanes|h)?0:v,v!==0&&v!==ne.retryLane)throw ne.retryLane=v,Re(s,v),Hr(j,s,v),Fw}X5(Z)||L5(),l=s5(s,l,h)}else X5(Z)?(l.flags|=128,l.child=s.child,l=OF.bind(null,s),SD(Z,l),l=null):(s=ne.treeContext,Gi&&(Mr=PD(Z),Gr=l,Mt=!0,ga=null,Va=!1,s!==null&&(Ui[Wi++]=wo,Ui[Wi++]=xo,Ui[Wi++]=Hl,wo=s.id,xo=s.overflow,Hl=l)),l=a5(l,v.children),l.flags|=4096);return l}return _?(za(),_=v.fallback,Z=l.mode,ne=s.child,T=ne.sibling,v=ps(ne,{mode:"hidden",children:v.children}),v.subtreeFlags=ne.subtreeFlags&31457280,T!==null?_=ps(T,_):(_=jl(_,Z,h,null),_.flags|=2),_.return=l,v.return=l,v.sibling=_,l.child=v,v=_,_=l.child,Z=s.child.memoizedState,Z===null?Z=r5(h):(ne=Z.cachePool,ne!==null?(T=bo?Mn._currentValue:Mn._currentValue2,ne=ne.parent!==T?{parent:T,pool:T}:ne):ne=ub(),Z={baseLanes:Z.baseLanes|h,cachePool:ne}),_.memoizedState=Z,_.childLanes=i5(s,j,h),l.memoizedState=s4,v):(Hi(l),h=s.child,s=h.sibling,h=ps(h,{mode:"visible",children:v.children}),h.return=l,h.sibling=null,s!==null&&(j=l.deletions,j===null?(l.deletions=[s],l.flags|=16):j.push(s)),l.child=h,l.memoizedState=null,h)}function a5(s,l){return l=o5({mode:"visible",children:l},s.mode),l.return=s,s.child=l}function o5(s,l){return Zb(s,l,0,null)}function s5(s,l,h){return Gl(l,s.child,null,h),s=a5(l,l.pendingProps.children),s.flags|=2,l.memoizedState=null,s}function ob(s,l,h){s.lanes|=l;var v=s.alternate;v!==null&&(v.lanes|=l),u5(s.return,l,h)}function l5(s,l,h,v,_){var T=s.memoizedState;T===null?s.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:v,tail:h,tailMode:_}:(T.isBackwards=l,T.rendering=null,T.renderingStartTime=0,T.last=v,T.tail=h,T.tailMode=_)}function sb(s,l,h){var v=l.pendingProps,_=v.revealOrder,T=v.tail;if(zn(s,l,v.children,h),v=qn.current,v&2)v=v&1|2,l.flags|=128;else{if(s!==null&&s.flags&128)e:for(s=l.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&ob(s,h,l);else if(s.tag===19)ob(s,h,l);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===l)break e;for(;s.sibling===null;){if(s.return===null||s.return===l)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}v&=1}switch(E(qn,v),_){case"forwards":for(h=l.child,_=null;h!==null;)s=h.alternate,s!==null&&eu(s)===null&&(_=h),h=h.sibling;h=_,h===null?(_=l.child,l.child=null):(_=h.sibling,h.sibling=null),l5(l,!1,_,h,T);break;case"backwards":for(h=null,_=l.child,l.child=null;_!==null;){if(s=_.alternate,s!==null&&eu(s)===null){l.child=_;break}s=_.sibling,_.sibling=h,h=_,_=s}l5(l,!0,h,null,T);break;case"together":l5(l,!1,null,null,void 0);break;default:l.memoizedState=null}return l.child}function go(s,l,h){if(s!==null&&(l.dependencies=s.dependencies),Cs|=l.lanes,!(h&l.childLanes))if(s!==null){if(Nh(s,l,h,!1),(h&l.childLanes)===0)return null}else return null;if(s!==null&&l.child!==s.child)throw Error(i(153));if(l.child!==null){for(s=l.child,h=ps(s,s.pendingProps),l.child=h,h.return=l;s.sibling!==null;)s=s.sibling,h=h.sibling=ps(s,s.pendingProps),h.return=l;h.sibling=null}return l.child}function c5(s,l){return s.lanes&l?!0:(s=s.dependencies,!!(s!==null&&bf(s)))}function pF(s,l,h){switch(l.tag){case 3:ue(l,l.stateNode.containerInfo),us(l,Mn,s.memoizedState.cache),ge();break;case 27:case 5:pe(l);break;case 4:ue(l,l.stateNode.containerInfo);break;case 10:us(l,l.type,l.memoizedProps.value);break;case 13:var v=l.memoizedState;if(v!==null)return v.dehydrated!==null?(Hi(l),l.flags|=128,null):h&l.child.childLanes?ab(s,l,h):(Hi(l),s=go(s,l,h),s!==null?s.sibling:null);Hi(l);break;case 19:var _=(s.flags&128)!==0;if(v=(h&l.childLanes)!==0,v||(Nh(s,l,h,!1),v=(h&l.childLanes)!==0),_){if(v)return sb(s,l,h);l.flags|=128}if(_=l.memoizedState,_!==null&&(_.rendering=null,_.tail=null,_.lastEffect=null),E(qn,qn.current),v)break;return null;case 22:case 23:return l.lanes=0,eb(s,l,h);case 24:us(l,Mn,s.memoizedState.cache)}return go(s,l,h)}function lb(s,l,h){if(s!==null)if(s.memoizedProps!==l.pendingProps)ur=!0;else{if(!c5(s,h)&&!(l.flags&128))return ur=!1,pF(s,l,h);ur=!!(s.flags&131072)}else ur=!1,Mt&&l.flags&1048576&&ae(l,Ff,l.index);switch(l.lanes=0,l.tag){case 16:e:{s=l.pendingProps;var v=l.elementType,_=v._init;if(v=_(v._payload),l.type=v,typeof v=="function")A5(v)?(s=wt(v,s),l.tag=1,l=rb(null,l,v,s,h)):(l.tag=0,l=n5(null,l,v,s,h));else{if(v!=null){if(_=v.$$typeof,_===j5){l.tag=11,l=du(null,l,v,s,h);break e}else if(_===H5){l.tag=14,l=Fh(null,l,v,s,h);break e}}throw l=o(v)||v,Error(i(306,l,""))}}return l;case 0:return n5(s,l,l.type,l.pendingProps,h);case 1:return v=l.type,_=wt(v,l.pendingProps),rb(s,l,v,_,h);case 3:e:{if(ue(l,l.stateNode.containerInfo),s===null)throw Error(i(387));var T=l.pendingProps;_=l.memoizedState,v=_.element,vt(s,l),Or(l,T,null,h);var j=l.memoizedState;if(T=j.cache,us(l,Mn,T),T!==_.cache&&d5(l,[Mn],h,!0),br(),T=j.element,Gi&&_.isDehydrated)if(_={element:T,isDehydrated:!1,cache:j.cache},l.updateQueue.baseState=_,l.memoizedState=_,l.flags&256){l=ib(s,l,T,h);break e}else if(T!==v){v=J(Error(i(424)),l),Ae(v),l=ib(s,l,T,h);break e}else for(Gi&&(Mr=ED(l.stateNode.containerInfo),Gr=l,Mt=!0,ga=null,Va=!0),h=Aw(l,null,T,h),l.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling;else{if(ge(),T===v){l=go(s,l,h);break e}zn(s,l,T,h)}l=l.child}return l;case 26:if(Vi)return Dh(s,l),s===null?(h=Cw(l.type,null,l.pendingProps,null))?l.memoizedState=h:Mt||(l.stateNode=GD(l.type,l.pendingProps,ys.current,l)):l.memoizedState=Cw(l.type,s.memoizedProps,l.pendingProps,s.memoizedState),null;case 27:if(Lr)return pe(l),s===null&&Lr&&Mt&&(v=l.stateNode=kw(l.type,l.pendingProps,ys.current,wr.current,!1),Gr=l,Va=!0,Mr=bw(v)),v=l.pendingProps.children,s!==null||Mt?zn(s,l,v,h):l.child=Gl(l,null,v,h),Dh(s,l),l.child;case 5:return s===null&&Mt&&(zD(l.type,l.pendingProps,wr.current),(_=v=Mr)&&(v=kD(v,l.type,l.pendingProps,Va),v!==null?(l.stateNode=v,Gr=l,Mr=bw(v),Va=!1,_=!0):_=!1),_||Y(l)),pe(l),_=l.type,T=l.pendingProps,j=s!==null?s.memoizedProps:null,v=T.children,Lf(_,T)?v=null:j!==null&&Lf(_,j)&&(l.flags|=32),l.memoizedState!==null&&(_=Ba(s,l,Q3,null,null,h),bo?Bl._currentValue=_:Bl._currentValue2=_),Dh(s,l),zn(s,l,v,h),l.child;case 6:return s===null&&Mt&&(BD(l.pendingProps,wr.current),(s=h=Mr)&&(h=LD(h,l.pendingProps,Va),h!==null?(l.stateNode=h,Gr=l,Mr=null,s=!0):s=!1),s||Y(l)),null;case 13:return ab(s,l,h);case 4:return ue(l,l.stateNode.containerInfo),v=l.pendingProps,s===null?l.child=Gl(l,null,v,h):zn(s,l,v,h),l.child;case 11:return du(s,l,l.type,l.pendingProps,h);case 7:return zn(s,l,l.pendingProps,h),l.child;case 8:return zn(s,l,l.pendingProps.children,h),l.child;case 12:return zn(s,l,l.pendingProps.children,h),l.child;case 10:return v=l.pendingProps,us(l,l.type,v.value),zn(s,l,v.children,h),l.child;case 9:return _=l.type._context,v=l.pendingProps.children,Fl(l),_=Pr(_),v=v(_),l.flags|=1,zn(s,l,v,h),l.child;case 14:return Fh(s,l,l.type,l.pendingProps,h);case 15:return J9(s,l,l.type,l.pendingProps,h);case 19:return sb(s,l,h);case 22:return eb(s,l,h);case 24:return Fl(l),v=Pr(Mn),s===null?(_=f5(),_===null&&(_=rn,T=h5(),_.pooledCache=T,T.refCount++,T!==null&&(_.pooledCacheLanes|=h),_=T),l.memoizedState={parent:v,cache:_},ze(l),us(l,Mn,_)):(s.lanes&h&&(vt(s,l),Or(l,null,null,h),br()),_=s.memoizedState,T=l.memoizedState,_.parent!==v?(_={parent:v,cache:v},l.memoizedState=_,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=_),us(l,Mn,v)):(v=T.cache,us(l,Mn,v),v!==_.cache&&d5(l,[Mn],h,!0))),zn(s,l,l.pendingProps.children,h),l.child;case 29:throw l.pendingProps}throw Error(i(156,l.tag))}function us(s,l,h){bo?(E(Gf,l._currentValue),l._currentValue=h):(E(Gf,l._currentValue2),l._currentValue2=h)}function mo(s){var l=Gf.current;bo?s._currentValue=l:s._currentValue2=l,S(Gf)}function u5(s,l,h){for(;s!==null;){var v=s.alternate;if((s.childLanes&l)!==l?(s.childLanes|=l,v!==null&&(v.childLanes|=l)):v!==null&&(v.childLanes&l)!==l&&(v.childLanes|=l),s===h)break;s=s.return}}function d5(s,l,h,v){var _=s.child;for(_!==null&&(_.return=s);_!==null;){var T=_.dependencies;if(T!==null){var j=_.child;T=T.firstContext;e:for(;T!==null;){var Z=T;T=_;for(var ne=0;neJh&&(l.flags|=128,v=!0,jh(_,!1),l.lanes=4194304)}else{if(!v)if(s=eu(T),s!==null){if(l.flags|=128,v=!0,s=s.updateQueue,l.updateQueue=s,Cf(l,s),jh(_,!0),_.tail===null&&_.tailMode==="hidden"&&!T.alternate&&!Mt)return bn(l),null}else 2*pa()-_.renderingStartTime>Jh&&h!==536870912&&(l.flags|=128,v=!0,jh(_,!1),l.lanes=4194304);_.isBackwards?(T.sibling=l.child,l.child=T):(s=_.last,s!==null?s.sibling=T:l.child=T,_.last=T)}return _.tail!==null?(l=_.tail,_.rendering=l,_.tail=l.sibling,_.renderingStartTime=pa(),l.sibling=null,s=qn.current,E(qn,v?s&1|2:s&1),l):(bn(l),null);case 22:case 23:return ha(l),ti(),v=l.memoizedState!==null,s!==null?s.memoizedState!==null!==v&&(l.flags|=8192):v&&(l.flags|=8192),v?h&536870912&&!(l.flags&128)&&(bn(l),l.subtreeFlags&6&&(l.flags|=8192)):bn(l),h=l.updateQueue,h!==null&&Cf(l,h.retryQueue),h=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),v=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(v=l.memoizedState.cachePool.pool),v!==h&&(l.flags|=2048),s!==null&&S(Yl),null;case 24:return h=null,s!==null&&(h=s.memoizedState.cache),l.memoizedState.cache!==h&&(l.flags|=2048),mo(Mn),bn(l),null;case 25:return null}throw Error(i(156,l.tag))}function mF(s,l){switch(oe(l),l.tag){case 1:return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 3:return mo(Mn),Ce(),s=l.flags,s&65536&&!(s&128)?(l.flags=s&-65537|128,l):null;case 26:case 27:case 5:return R(l),null;case 13:if(ha(l),s=l.memoizedState,s!==null&&s.dehydrated!==null){if(l.alternate===null)throw Error(i(340));ge()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 19:return S(qn),null;case 4:return Ce(),null;case 10:return mo(l.type),null;case 22:case 23:return ha(l),ti(),s!==null&&S(Yl),s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 24:return mo(Mn),null;case 25:return null;default:return null}}function gb(s,l){switch(oe(l),l.tag){case 3:mo(Mn),Ce();break;case 26:case 27:case 5:R(l);break;case 4:Ce();break;case 13:ha(l);break;case 19:S(qn);break;case 10:mo(l.type);break;case 22:case 23:ha(l),ti(),s!==null&&S(Yl);break;case 24:mo(Mn)}}function zh(s,l){try{var h=l.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var _=v.next;h=_;do{if((h.tag&s)===s){v=void 0;var T=h.create,j=h.inst;v=T(),j.destroy=v}h=h.next}while(h!==_)}}catch(Z){Bt(l,l.return,Z)}}function ds(s,l,h){try{var v=l.updateQueue,_=v!==null?v.lastEffect:null;if(_!==null){var T=_.next;v=T;do{if((v.tag&s)===s){var j=v.inst,Z=j.destroy;if(Z!==void 0){j.destroy=void 0,_=l;var ne=h;try{Z()}catch(we){Bt(_,ne,we)}}}v=v.next}while(v!==T)}}catch(we){Bt(l,l.return,we)}}function mb(s){var l=s.updateQueue;if(l!==null){var h=s.stateNode;try{Ve(l,h)}catch(v){Bt(s,s.return,v)}}}function vb(s,l,h){h.props=wt(s.type,s.memoizedProps),h.state=s.memoizedState;try{h.componentWillUnmount()}catch(v){Bt(s,l,v)}}function Dl(s,l){try{var h=s.ref;if(h!==null){var v=s.stateNode;switch(s.tag){case 26:case 27:case 5:var _=Gh(v);break;default:_=v}typeof h=="function"?s.refCleanup=h(_):h.current=_}}catch(T){Bt(s,l,T)}}function vi(s,l){var h=s.ref,v=s.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(_){Bt(s,l,_)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(_){Bt(s,l,_)}else h.current=null}function yb(s){var l=s.type,h=s.memoizedProps,v=s.stateNode;try{cD(v,l,h,s)}catch(_){Bt(s,s.return,_)}}function bb(s,l,h){try{uD(s.stateNode,s.type,h,l,s)}catch(v){Bt(s,s.return,v)}}function wb(s){return s.tag===5||s.tag===3||(Vi?s.tag===26:!1)||(Lr?s.tag===27:!1)||s.tag===4}function v5(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||wb(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&(!Lr||s.tag!==27)&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function y5(s,l,h){var v=s.tag;if(v===5||v===6)s=s.stateNode,l?hD(h,s,l):sD(h,s);else if(!(v===4||Lr&&v===27)&&(s=s.child,s!==null))for(y5(s,l,h),s=s.sibling;s!==null;)y5(s,l,h),s=s.sibling}function Sf(s,l,h){var v=s.tag;if(v===5||v===6)s=s.stateNode,l?dD(h,s,l):oD(h,s);else if(!(v===4||Lr&&v===27)&&(s=s.child,s!==null))for(Sf(s,l,h),s=s.sibling;s!==null;)Sf(s,l,h),s=s.sibling}function xb(s,l,h){s=s.containerInfo;try{gw(s,h)}catch(v){Bt(l,l.return,v)}}function vF(s,l){for(zF(s.containerInfo),dr=l;dr!==null;)if(s=dr,l=s.child,(s.subtreeFlags&1028)!==0&&l!==null)l.return=s,dr=l;else for(;dr!==null;){s=dr;var h=s.alternate;switch(l=s.flags,s.tag){case 0:break;case 11:case 15:break;case 1:if(l&1024&&h!==null){l=void 0;var v=s,_=h.memoizedProps;h=h.memoizedState;var T=v.stateNode;try{var j=wt(v.type,_,v.elementType===v.type);l=T.getSnapshotBeforeUpdate(j,h),T.__reactInternalSnapshotBeforeUpdate=l}catch(Z){Bt(v,v.return,Z)}}break;case 3:l&1024&&kr&&bD(s.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(l&1024)throw Error(i(163))}if(l=s.sibling,l!==null){l.return=s.return,dr=l;break}dr=s.return}return j=Rw,Rw=!1,j}function Cb(s,l,h){var v=h.flags;switch(h.tag){case 0:case 11:case 15:vo(s,h),v&4&&zh(5,h);break;case 1:if(vo(s,h),v&4)if(s=h.stateNode,l===null)try{s.componentDidMount()}catch(Z){Bt(h,h.return,Z)}else{var _=wt(h.type,l.memoizedProps);l=l.memoizedState;try{s.componentDidUpdate(_,l,s.__reactInternalSnapshotBeforeUpdate)}catch(Z){Bt(h,h.return,Z)}}v&64&&mb(h),v&512&&Dl(h,h.return);break;case 3:if(vo(s,h),v&64&&(v=h.updateQueue,v!==null)){if(s=null,h.child!==null)switch(h.child.tag){case 27:case 5:s=Gh(h.child.stateNode);break;case 1:s=h.child.stateNode}try{Ve(v,s)}catch(Z){Bt(h,h.return,Z)}}break;case 26:if(Vi){vo(s,h),v&512&&Dl(h,h.return);break}case 27:case 5:vo(s,h),l===null&&v&4&&yb(h),v&512&&Dl(h,h.return);break;case 12:vo(s,h);break;case 13:vo(s,h),v&4&&_b(s,h);break;case 22:if(_=h.memoizedState!==null||_o,!_){l=l!==null&&l.memoizedState!==null||Tn;var T=_o,j=Tn;_o=_,(Tn=l)&&!j?hs(s,h,(h.subtreeFlags&8772)!==0):vo(s,h),_o=T,Tn=j}v&512&&(h.memoizedProps.mode==="manual"?Dl(h,h.return):vi(h,h.return));break;default:vo(s,h)}}function Sb(s){var l=s.alternate;l!==null&&(s.alternate=null,Sb(l)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(l=s.stateNode,l!==null&&YF(l)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function fa(s,l,h){for(h=h.child;h!==null;)b5(s,l,h),h=h.sibling}function b5(s,l,h){if(Ci&&typeof Ci.onCommitFiberUnmount=="function")try{Ci.onCommitFiberUnmount(Wh,h)}catch(T){}switch(h.tag){case 26:if(Vi){Tn||vi(h,l),fa(s,l,h),h.memoizedState?_w(h.memoizedState):h.stateNode&&Ew(h.stateNode);break}case 27:if(Lr){Tn||vi(h,l);var v=Wn,_=_i;Wn=h.stateNode,fa(s,l,h),KD(h.stateNode),Wn=v,_i=_;break}case 5:Tn||vi(h,l);case 6:if(kr){if(v=Wn,_=_i,Wn=null,fa(s,l,h),Wn=v,_i=_,Wn!==null)if(_i)try{pD(Wn,h.stateNode)}catch(T){Bt(h,l,T)}else try{fD(Wn,h.stateNode)}catch(T){Bt(h,l,T)}}else fa(s,l,h);break;case 18:kr&&Wn!==null&&(_i?jD(Wn,h.stateNode):RD(Wn,h.stateNode));break;case 4:kr?(v=Wn,_=_i,Wn=h.stateNode.containerInfo,_i=!0,fa(s,l,h),Wn=v,_i=_):(vs&&xb(h.stateNode,h,fw()),fa(s,l,h));break;case 0:case 11:case 14:case 15:Tn||ds(2,h,l),Tn||ds(4,h,l),fa(s,l,h);break;case 1:Tn||(vi(h,l),v=h.stateNode,typeof v.componentWillUnmount=="function"&&vb(h,l,v)),fa(s,l,h);break;case 21:fa(s,l,h);break;case 22:Tn||vi(h,l),Tn=(v=Tn)||h.memoizedState!==null,fa(s,l,h),Tn=v;break;default:fa(s,l,h)}}function _b(s,l){if(Gi&&l.memoizedState===null&&(s=l.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null))))try{ND(s)}catch(h){Bt(l,l.return,h)}}function yF(s){switch(s.tag){case 13:case 19:var l=s.stateNode;return l===null&&(l=s.stateNode=new Nw),l;case 22:return s=s.stateNode,l=s._retryCache,l===null&&(l=s._retryCache=new Nw),l;default:throw Error(i(435,s.tag))}}function w5(s,l){var h=yF(s);l.forEach(function(v){var _=EF.bind(null,s,v);h.has(v)||(h.add(v),v.then(_,_))})}function ii(s,l){var h=l.deletions;if(h!==null)for(var v=0;v";case Uf:return":has("+(O5(s)||"")+")";case Wf:return'[role="'+s.value+'"]';case Yf:return'"'+s.value+'"';case Xf:return'[data-testname="'+s.value+'"]';default:throw Error(i(365))}}function Ab(s,l){var h=[];s=[s,0];for(var v=0;vh?32:h;h=$e.T;var _=zl();try{if(ai(v),$e.T=null,Zl===null)var T=!1;else{v=p4,p4=null;var j=Zl,Z=e0;if(Zl=null,e0=0,Wt&6)throw Error(i(331));var ne=Wt;if(Wt|=4,Mb(j.current),Pb(j,j.current,Z,v),Wt=ne,Ot(0,!1),Ci&&typeof Ci.onPostCommitFiberRoot=="function")try{Ci.onPostCommitFiberRoot(Wh,j)}catch(we){}T=!0}return T}finally{ai(_),$e.T=h,Wb(s,l)}}return!1}function Xb(s,l,h){l=J(h,l),l=Vt(s.stateNode,l,2),s=Ge(s,l,2),s!==null&&(N(s,2),tt(s))}function Bt(s,l,h){if(s.tag===3)Xb(s,s,h);else for(;l!==null;){if(l.tag===3){Xb(l,s,h);break}else if(l.tag===1){var v=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(Ss===null||!Ss.has(v))){s=J(h,s),h=ri(2),v=Ge(l,h,2),v!==null&&(Er(h,v,l,s),N(v,2),tt(v));break}}l=l.return}}function T5(s,l,h){var v=s.pingCache;if(v===null){v=s.pingCache=new cN;var _=new Set;v.set(l,_)}else _=v.get(l),_===void 0&&(_=new Set,v.set(l,_));_.has(h)||(c4=!0,_.add(h),s=_F.bind(null,s,l,h),l.then(s,s))}function _F(s,l,h){var v=s.pingCache;v!==null&&v.delete(l),s.pingedLanes|=s.suspendedLanes&h,s.warmLanes&=~h,rn===s&&(_t&h)===h&&(An===4||An===3&&(_t&62914560)===_t&&300>pa()-h4?!(Wt&2)&&pu(s,0):u4|=h,Du===_t&&(Du=0)),tt(s)}function Yb(s,l){l===0&&(l=D()),s=Re(s,l),s!==null&&(N(s,l),tt(s))}function OF(s){var l=s.memoizedState,h=0;l!==null&&(h=l.retryLane),Yb(s,h)}function EF(s,l){var h=0;switch(s.tag){case 13:var v=s.stateNode,_=s.memoizedState;_!==null&&(h=_.retryLane);break;case 19:v=s.stateNode;break;case 22:v=s.stateNode._retryCache;break;default:throw Error(i(314))}v!==null&&v.delete(l),Yb(s,h)}function PF(s,l){return Af(s,l)}function kF(s,l,h,v){this.tag=s,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function A5(s){return s=s.prototype,!(!s||!s.isReactComponent)}function ps(s,l){var h=s.alternate;return h===null?(h=n(s.tag,l,s.key,s.mode),h.elementType=s.elementType,h.type=s.type,h.stateNode=s.stateNode,h.alternate=s,s.alternate=h):(h.pendingProps=l,h.type=s.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=s.flags&31457280,h.childLanes=s.childLanes,h.lanes=s.lanes,h.child=s.child,h.memoizedProps=s.memoizedProps,h.memoizedState=s.memoizedState,h.updateQueue=s.updateQueue,l=s.dependencies,h.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},h.sibling=s.sibling,h.index=s.index,h.ref=s.ref,h.refCleanup=s.refCleanup,h}function Kb(s,l){s.flags&=31457282;var h=s.alternate;return h===null?(s.childLanes=0,s.lanes=l,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=h.childLanes,s.lanes=h.lanes,s.child=h.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=h.memoizedProps,s.memoizedState=h.memoizedState,s.updateQueue=h.updateQueue,s.type=h.type,l=h.dependencies,s.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),s}function Ef(s,l,h,v,_,T){var j=0;if(v=s,typeof s=="function")A5(s)&&(j=1);else if(typeof s=="string")j=Vi&&Lr?xw(s,h,wr.current)?26:Lw(s)?27:5:Vi?xw(s,h,wr.current)?26:5:Lr&&Lw(s)?27:5;else e:switch(s){case vu:return jl(h.children,_,T,l);case tw:j=8,_|=24;break;case R5:return s=n(12,h,l,_|2),s.elementType=R5,s.lanes=T,s;case z5:return s=n(13,h,l,_),s.elementType=z5,s.lanes=T,s;case B5:return s=n(19,h,l,_),s.elementType=B5,s.lanes=T,s;case rw:return Zb(h,_,T,l);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case AF:case gs:j=10;break e;case nw:j=9;break e;case j5:j=11;break e;case H5:j=14;break e;case ms:j=16,v=null;break e}j=29,h=Error(i(130,s===null?"null":typeof s,"")),v=null}return l=n(j,h,l,_),l.elementType=s,l.type=v,l.lanes=T,l}function jl(s,l,h,v){return s=n(7,s,v,l),s.lanes=h,s}function Zb(s,l,h,v){s=n(22,s,v,l),s.elementType=rw,s.lanes=h;var _={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var T=_._current;if(T===null)throw Error(i(456));if(!(_._pendingVisibility&2)){var j=Re(T,2);j!==null&&(_._pendingVisibility|=2,Hr(j,T,2))}},attach:function(){var T=_._current;if(T===null)throw Error(i(456));if(_._pendingVisibility&2){var j=Re(T,2);j!==null&&(_._pendingVisibility&=-3,Hr(j,T,2))}}};return s.stateNode=_,s}function I5(s,l,h){return s=n(6,s,null,l),s.lanes=h,s}function F5(s,l,h){return l=n(4,s.children!==null?s.children:[],s.key,l),l.lanes=h,l.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},l}function LF(s,l,h,v,_,T,j,Z){this.tag=1,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=W5,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=M(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=M(0),this.hiddenUpdates=M(null),this.identifierPrefix=v,this.onUncaughtError=_,this.onCaughtError=T,this.onRecoverableError=j,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Z,this.incompleteTransitions=new Map}function $b(s,l,h,v,_,T,j,Z,ne,we,Ee,Te){return s=new LF(s,l,h,j,Z,ne,we,Te),l=1,T===!0&&(l|=24),T=n(3,null,null,l),s.current=T,T.stateNode=s,l=h5(),l.refCount++,s.pooledCache=l,l.refCount++,T.memoizedState={element:v,isDehydrated:h,cache:l},ze(T),s}function qb(s){return s?(s=wu,s):wu}function Qb(s){var l=s._reactInternals;if(l===void 0)throw typeof s.render=="function"?Error(i(188)):(s=Object.keys(s).join(","),Error(i(268,s)));return s=g(l),s=s!==null?y(s):null,s===null?null:Gh(s.stateNode)}function Jb(s,l,h,v,_,T){_=qb(_),v.context===null?v.context=_:v.pendingContext=_,v=We(l),v.payload={element:h},T=T===void 0?null:T,T!==null&&(v.callback=T),h=Ge(s,v,l),h!==null&&(Hr(h,s,l),at(h,s,l))}function ew(s,l){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var h=s.retryLane;s.retryLane=h!==0&&h=we&&T>=Te&&_<=Ee&&j<=Fe){s.splice(l,1);break}else if(v!==we||h.width!==ne.width||Fej){if(!(T!==Te||h.height!==ne.height||Ee_)){we>v&&(ne.width+=we-v,ne.x=v),Ee<_&&(ne.width=_-we),s.splice(l,1);break}}else{Te>T&&(ne.height+=Te-T,ne.y=T),Feh&&(h=Z)),Z ")+"\n\nNo matching component was found for:\n ")+s.join(" > ")}return null},pt.getPublicRootInstance=function(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 27:case 5:return Gh(s.child.stateNode);default:return s.child.stateNode}},pt.injectIntoDevTools=function(){var s={bundleType:0,version:DF,rendererPackageName:NF,currentDispatcherRef:$e,findFiberByHostInstance:cw,reconcilerVersion:"19.0.0"};if(ow!==null&&(s.rendererConfig=ow),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")s=!1;else{var l=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(l.isDisabled||!l.supportsFiber)s=!0;else{try{Wh=l.inject(s),Ci=l}catch(h){}s=!!l.checkDCE}}return s},pt.isAlreadyRendering=function(){return!1},pt.observeVisibleRects=function(s,l,h,v){if(!Vh)throw Error(i(363));s=E5(s,l);var _=aD(s,h,v).disconnect;return{disconnect:function(){_()}}},pt.shouldError=function(){return null},pt.shouldSuspend=function(){return!1},pt.startHostTransition=function(s,l,h,v){if(s.tag!==5)throw Error(i(476));var _=Ga(s).queue;Ah(s,_,l,yu,h===null?r:function(){var T=Ga(s).next.queue;return Al(s,T,{},bi()),h(v)})},pt.updateContainer=function(s,l,h,v){var _=l.current,T=bi();return Jb(_,T,s,l,h,v),T},pt.updateContainerSync=function(s,l,h,v){return l.tag===0&&Rl(),Jb(l.current,2,s,l,h,v),2},pt},e.exports.default=e.exports,Object.defineProperty(e.exports,"__esModule",{value:!0})})(aT);var OU=aT.exports;iT.exports=OU;var EU=iT.exports;const PU=mh(EU);var sT={exports:{}},Is={};Is.ConcurrentRoot=1,Is.ContinuousEventPriority=8,Is.DefaultEventPriority=32,Is.DiscreteEventPriority=2,Is.IdleEventPriority=268435456,Is.LegacyRoot=0,Is.NoEventPriority=0,sT.exports=Is;var _7=sT.exports;const kS={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let LS=!1,MS=!1;const O7=".react-konva-event";let lT=!1;function kU(e){lT=e}const LU="ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.\nPosition of a node will be changed during drag&drop, so you should update state of the react app as well.\nConsider to add onDragMove or onDragEnd events.\nFor more info see: https://github.com/konvajs/react-konva/issues/256\n",MU='ReactKonva: You are using "zIndex" attribute for a Konva node.\nreact-konva may get confused with ordering. Just define correct order of elements in your render function of a component.\nFor more info see: https://github.com/konvajs/react-konva/issues/194\n',TU={};function A3(e,t,n=TU){if(!LS&&"zIndex"in t&&(console.warn(MU),LS=!0),!MS&&t.draggable){var r=t.x!==void 0||t.y!==void 0,i=t.onDragEnd||t.onDragMove;r&&!i&&(console.warn(LU),MS=!0)}for(var a in n)if(!kS[a]){var o=a.slice(0,2)==="on",c=n[a]!==t[a];if(o&&c){var u=a.substr(2).toLowerCase();u.substr(0,7)==="content"&&(u="content"+u.substr(7,1).toUpperCase()+u.substr(8)),e.off(u,n[a])}var d=!t.hasOwnProperty(a);d&&e.setAttr(a,void 0)}var f=lT||t._useStrictMode,w={},m=!1;const g={};for(var a in t)if(!kS[a]){var o=a.slice(0,2)==="on",y=n[a]!==t[a];if(o&&y){var u=a.substr(2).toLowerCase();u.substr(0,7)==="content"&&(u="content"+u.substr(7,1).toUpperCase()+u.substr(8)),t[a]&&(g[u]=t[a])}!o&&(t[a]!==n[a]||f&&t[a]!==e.getAttr(a))&&(m=!0,w[a]=t[a])}m&&(e.setAttrs(w),xl(e));for(var u in g)e.on(u+O7,g[u])}function xl(e){if(!lt.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const cT={},AU={};L1.Node.prototype._applyProps=A3;let I3=_7.DefaultEventPriority;function IU(e,t){if(typeof t=="string"){console.error("Do not use plain text as child of Konva.Node. You are using text: ".concat(t));return}e.add(t),xl(e)}function FU(e,t,n){let r=L1[e];r||(console.error("Konva has no node with the type ".concat(e,'. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/').concat(e,'" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html')),r=L1.Group);const i={},a={};for(var o in t){var c=o.slice(0,2)==="on";c?a[o]=t[o]:i[o]=t[o]}const u=new r(i);return A3(u,a),u}function DU(e,t,n){console.error('Text components are not supported for now in ReactKonva. Your text is: "'.concat(e,'"'))}function NU(e,t,n){return!1}function RU(e){return e}function jU(){return null}function zU(){return null}function BU(e,t,n,r){return AU}function HU(){}function GU(e){}function VU(e,t){return!1}function UU(){return cT}function WU(){return cT}const XU=setTimeout,YU=clearTimeout,KU=-1;function ZU(e,t){return!1}const $U=!1,qU=!0,QU=!0,JU=!1,eW=!1;function tW(e,t){t.parent===e?t.moveToTop():e.add(t),xl(e)}function nW(e,t){t.parent===e?t.moveToTop():e.add(t),xl(e)}function uT(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),xl(e)}function rW(e,t,n){uT(e,t,n)}function iW(e,t){t.destroy(),t.off(O7),xl(e)}function aW(e,t){t.destroy(),t.off(O7),xl(e)}function oW(e,t,n){console.error('Text components are not yet supported in ReactKonva. You text is: "'.concat(n,'"'))}function sW(e,t,n){}function lW(e,t,n,r){A3(e,r,n)}function cW(e){e.hide(),xl(e)}function uW(e){}function dW(e,t){(t.visible==null||t.visible)&&e.show()}function hW(e,t){}function fW(e){}function pW(){}function gW(){return I3}function mW(){}function vW(){return null}function yW(e){I3=e}function bW(){return I3}function wW(){return I3||_7.DefaultEventPriority}function xW(){return!1}function CW(){}function SW(){return!1}function _W(){return!0}function OW(){}function EW(){}function PW(){return null}const kW=null;function LW(){}const MW=Object.freeze(Object.defineProperty({__proto__:null,NotPendingTransition:kW,appendChild:tW,appendChildToContainer:nW,appendInitialChild:IU,cancelTimeout:YU,clearContainer:fW,commitMount:sW,commitTextUpdate:oW,commitUpdate:lW,createInstance:FU,createTextInstance:DU,detachDeletedInstance:pW,finalizeInitialChildren:NU,getChildHostContext:WU,getCurrentEventPriority:gW,getCurrentUpdatePriority:bW,getInstanceFromScope:vW,getPublicInstance:RU,getRootHostContext:UU,hideInstance:cW,hideTextInstance:uW,idlePriority:Z2.unstable_IdlePriority,insertBefore:uT,insertInContainerBefore:rW,isPrimaryRenderer:$U,maySuspendCommit:SW,noTimeout:KU,now:Z2.unstable_now,preloadInstance:_W,prepareForCommit:jU,preparePortalMount:zU,prepareScopeUpdate:mW,prepareUpdate:BU,removeChild:iW,removeChildFromContainer:aW,requestPostPaintCallback:CW,resetAfterCommit:HU,resetFormInstance:LW,resetTextContent:GU,resolveUpdatePriority:wW,run:Z2.unstable_runWithPriority,scheduleTimeout:XU,setCurrentUpdatePriority:yW,shouldAttemptEagerTransition:xW,shouldDeprioritizeSubtree:VU,shouldSetTextContent:ZU,startSuspendingCommit:OW,supportsHydration:eW,supportsMutation:QU,supportsPersistence:JU,suspendInstance:EW,unhideInstance:dW,unhideTextInstance:hW,waitForCommitToBeReady:PW,warnsIfNotActing:qU},Symbol.toStringTag,{value:"Module"}));var TW=Object.defineProperty,AW=Object.defineProperties,IW=Object.getOwnPropertyDescriptors,TS=Object.getOwnPropertySymbols,FW=Object.prototype.hasOwnProperty,DW=Object.prototype.propertyIsEnumerable,AS=(e,t,n)=>t in e?TW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IS=(e,t)=>{for(var n in t||(t={}))FW.call(t,n)&&AS(e,n,t[n]);if(TS)for(var n of TS(t))DW.call(t,n)&&AS(e,n,t[n]);return e},NW=(e,t)=>AW(e,IW(t)),FS,DS;typeof window<"u"&&((FS=window.document)!=null&&FS.createElement||((DS=window.navigator)==null?void 0:DS.product)==="ReactNative")?B.useLayoutEffect:B.useEffect;function dT(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=e.child;for(;r;){const i=dT(r,t,n);if(i)return i;r=r.sibling}}function hT(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(t){return e}}const NS=console.error;console.error=function(){const e=[...arguments].join("");if(e!=null&&e.startsWith("Warning:")&&e.includes("useContext")){console.error=NS;return}return NS.apply(this,arguments)};const E7=hT(B.createContext(null));class fT extends B.Component{render(){return B.createElement(E7.Provider,{value:this._reactInternals},this.props.children)}}function RW(){const e=B.useContext(E7);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=B.useId();return B.useMemo(()=>{for(const n of[e,e==null?void 0:e.alternate]){if(!n)continue;const r=dT(n,!1,i=>{let a=i.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(r)return r}},[e,t])}function jW(){const e=RW(),[t]=B.useState(()=>new Map);t.clear();let n=e;for(;n;){if(n.type&&typeof n.type=="object"){const r=n.type._context===void 0&&n.type.Provider===n.type?n.type:n.type._context;r&&r!==E7&&!t.has(r)&&t.set(r,B.useContext(hT(r)))}n=n.return}return t}function zW(){const e=jW();return B.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>B.createElement(t,null,B.createElement(n.Provider,NW(IS({},r),{value:e.get(n)}))),t=>B.createElement(fT,IS({},t))),[e])}function BW(e){const t=b.useRef({});return b.useLayoutEffect(()=>{t.current=e}),b.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const HW=e=>{const t=b.useRef(null),n=b.useRef(null),r=b.useRef(null),i=BW(e),a=zW(),o=c=>{const{forwardedRef:u}=e;u&&(typeof u=="function"?u(c):u.current=c)};return b.useLayoutEffect(()=>(n.current=new L1.Stage({width:e.width,height:e.height,container:t.current}),o(n.current),r.current=H0.createContainer(n.current,_7.ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,null),H0.updateContainer(b.createElement(a,{},e.children),r.current,null,()=>{}),()=>{L1.isBrowser&&(o(null),H0.updateContainer(null,r.current,null),n.current.destroy())}),[]),b.useLayoutEffect(()=>{o(n.current),A3(n.current,e,i),H0.updateContainer(b.createElement(a,{},e.children),r.current,null)}),b.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},P7="Layer",GW="Group",k7="Rect",pT="Ellipse",VW="Line",F3="Image",UW="Text",WW="RegularPolygon",XW="Arrow",gT="Transformer",H0=PU(MW);H0.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:b.version,rendererPackageName:"react-konva"});const mT=b.forwardRef((e,t)=>b.createElement(fT,{},b.createElement(HW,qf(Xn({},e),{forwardedRef:t})))),YW=kU;var e8=function(e,t,n,r){return Math.min(e/n,t/r)||1},xm="FIE_root",KW="FIE_design-layer",vT="FIE_transformers-layer",yT="FIE_original-image",bT="FIE_nodes-transformer",ml="watermark",t8="353297d2-40b4-4684-a875-45a2178a8157",wT=.92,en={FINETUNE:"Finetune",FILTERS:"Filters",ADJUST:"Adjust",WATERMARK:"Watermark",ANNOTATE:"Annotate",RESIZE:"Resize"},se={CROP:"Crop",ROTATE:"Rotate",FLIP_X:"Flip_X",FLIP_Y:"Flip_Y",BRIGHTNESS:"Brightness",CONTRAST:"Contrast",HSV:"HueSaturationValue",WARMTH:"Warmth",BLUR:"Blur",THRESHOLD:"Threshold",POSTERIZE:"Posterize",PIXELATE:"Pixelate",NOISE:"Noise",FILTERS:"Filters",RECT:"Rect",ELLIPSE:"Ellipse",POLYGON:"Polygon",TEXT:"Text",LINE:"Line",IMAGE:"Image",ARROW:"Arrow",WATERMARK:"Watermark",PEN:"Pen",RESIZE:"Resize"},L7={X:"X",Y:"Y"},Fa=1,ih=["png","jpeg","jpg","webp"],ZW=[].concat(ih,["svg","gif","avif","apng"]),RS=ih[0],Wo={DEFAULT:"default",DRAW:"crosshair",SELECT:"pointer",MOVE:"move",DRAG:"GRAB"},M7="Crop",xT="custom",Zc="ellipse",Yn={TOP_LEFT:"top-left",TOP_CENTER:"top-center",TOP_RIGHT:"top-right",MIDDLE_LEFT:"middle-left",MIDDLE_CENTER:"middle-center",MIDDLE_RIGHT:"middle-right",BOTTOM_LEFT:"bottom-left",BOTTOM_CENTER:"bottom-center",BOTTOM_RIGHT:"bottom-right"},jS={WIDTH:14,HEIGHT:14},CT={AFTER_SAVE:"after-saving",CLOSE_BUTTON:"close-button-clicked",BACK_BUTTON:"back-button-clicked"},ah={WARNING:"warning",ERROR:"error"},zS={top:"north",bottom:"south",left:"west",center:"center",right:"east"},$W={northwest:"top-left",northcenter:"top-center",northeast:"top-right",centerwest:"center-left",centercenter:"center-center",centereast:"center-right",southwest:"bottom-left",southcenter:"bottom-center",southeast:"bottom-right"},qW=function(e,t){var n=2{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(ht);var kn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=ht;class n{constructor(x=[1,0,0,1,0,0]){this.dirty=!1,this.m=x&&x.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(x){x.m[0]=this.m[0],x.m[1]=this.m[1],x.m[2]=this.m[2],x.m[3]=this.m[3],x.m[4]=this.m[4],x.m[5]=this.m[5]}point(x){var O=this.m;return{x:O[0]*x.x+O[2]*x.y+O[4],y:O[1]*x.x+O[3]*x.y+O[5]}}translate(x,O){return this.m[4]+=this.m[0]*x+this.m[2]*O,this.m[5]+=this.m[1]*x+this.m[3]*O,this}scale(x,O){return this.m[0]*=x,this.m[1]*=x,this.m[2]*=O,this.m[3]*=O,this}rotate(x){var O=Math.cos(x),k=Math.sin(x),I=this.m[0]*O+this.m[2]*k,L=this.m[1]*O+this.m[3]*k,D=this.m[0]*-k+this.m[2]*O,M=this.m[1]*-k+this.m[3]*O;return this.m[0]=I,this.m[1]=L,this.m[2]=D,this.m[3]=M,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(x,O){var k=this.m[0]+this.m[2]*O,I=this.m[1]+this.m[3]*O,L=this.m[2]+this.m[0]*x,D=this.m[3]+this.m[1]*x;return this.m[0]=k,this.m[1]=I,this.m[2]=L,this.m[3]=D,this}multiply(x){var O=this.m[0]*x.m[0]+this.m[2]*x.m[1],k=this.m[1]*x.m[0]+this.m[3]*x.m[1],I=this.m[0]*x.m[2]+this.m[2]*x.m[3],L=this.m[1]*x.m[2]+this.m[3]*x.m[3],D=this.m[0]*x.m[4]+this.m[2]*x.m[5]+this.m[4],M=this.m[1]*x.m[4]+this.m[3]*x.m[5]+this.m[5];return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}invert(){var x=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),O=this.m[3]*x,k=-this.m[1]*x,I=-this.m[2]*x,L=this.m[0]*x,D=x*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),M=x*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}getMatrix(){return this.m}decompose(){var x=this.m[0],O=this.m[1],k=this.m[2],I=this.m[3],L=this.m[4],D=this.m[5],M=x*I-O*k;let N={x:L,y:D,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(x!=0||O!=0){var z=Math.sqrt(x*x+O*O);N.rotation=O>0?Math.acos(x/z):-Math.acos(x/z),N.scaleX=z,N.scaleY=M/z,N.skewX=(x*k+O*I)/M,N.skewY=0}else if(k!=0||I!=0){var H=Math.sqrt(k*k+I*I);N.rotation=Math.PI/2-(I>0?Math.acos(-k/H):-Math.acos(k/H)),N.scaleX=M/H,N.scaleY=H,N.skewX=0,N.skewY=(x*k+O*I)/M}return N.rotation=e.Util._getRotation(N.rotation),N}}e.Transform=n;var r="[object Array]",i="[object Number]",a="[object String]",o="[object Boolean]",c=Math.PI/180,u=180/Math.PI,d="#",f="",w="0",m="Konva warning: ",g="Konva error: ",y="rgb(",C={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},P=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,S=[];const E=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(p){setTimeout(p,60)};e.Util={_isElement(p){return!!(p&&p.nodeType==1)},_isFunction(p){return!!(p&&p.constructor&&p.call&&p.apply)},_isPlainObject(p){return!!p&&p.constructor===Object},_isArray(p){return Object.prototype.toString.call(p)===r},_isNumber(p){return Object.prototype.toString.call(p)===i&&!isNaN(p)&&isFinite(p)},_isString(p){return Object.prototype.toString.call(p)===a},_isBoolean(p){return Object.prototype.toString.call(p)===o},isObject(p){return p instanceof Object},isValidSelector(p){if(typeof p!="string")return!1;var x=p[0];return x==="#"||x==="."||x===x.toUpperCase()},_sign(p){return p===0||p>0?1:-1},requestAnimFrame(p){S.push(p),S.length===1&&E(function(){const x=S;S=[],x.forEach(function(O){O()})})},createCanvasElement(){var p=document.createElement("canvas");try{p.style=p.style||{}}catch(x){}return p},createImageElement(){return document.createElement("img")},_isInDocument(p){for(;p=p.parentNode;)if(p==document)return!0;return!1},_urlToImage(p,x){var O=e.Util.createImageElement();O.onload=function(){x(O)},O.src=p},_rgbToHex(p,x,O){return((1<<24)+(p<<16)+(x<<8)+O).toString(16).slice(1)},_hexToRgb(p){p=p.replace(d,f);var x=parseInt(p,16);return{r:x>>16&255,g:x>>8&255,b:x&255}},getRandomColor(){for(var p=(Math.random()*16777215<<0).toString(16);p.length<6;)p=w+p;return d+p},getRGB(p){var x;return p in C?(x=C[p],{r:x[0],g:x[1],b:x[2]}):p[0]===d?this._hexToRgb(p.substring(1)):p.substr(0,4)===y?(x=P.exec(p.replace(/ /g,"")),{r:parseInt(x[1],10),g:parseInt(x[2],10),b:parseInt(x[3],10)}):{r:0,g:0,b:0}},colorToRGBA(p){return p=p||"black",e.Util._namedColorToRBA(p)||e.Util._hex3ColorToRGBA(p)||e.Util._hex4ColorToRGBA(p)||e.Util._hex6ColorToRGBA(p)||e.Util._hex8ColorToRGBA(p)||e.Util._rgbColorToRGBA(p)||e.Util._rgbaColorToRGBA(p)||e.Util._hslColorToRGBA(p)},_namedColorToRBA(p){var x=C[p.toLowerCase()];return x?{r:x[0],g:x[1],b:x[2],a:1}:null},_rgbColorToRGBA(p){if(p.indexOf("rgb(")===0){p=p.match(/rgb\(([^)]+)\)/)[1];var x=p.split(/ *, */).map(Number);return{r:x[0],g:x[1],b:x[2],a:1}}},_rgbaColorToRGBA(p){if(p.indexOf("rgba(")===0){p=p.match(/rgba\(([^)]+)\)/)[1];var x=p.split(/ *, */).map((O,k)=>O.slice(-1)==="%"?k===3?parseInt(O)/100:parseInt(O)/100*255:Number(O));return{r:x[0],g:x[1],b:x[2],a:x[3]}}},_hex8ColorToRGBA(p){if(p[0]==="#"&&p.length===9)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:parseInt(p.slice(7,9),16)/255}},_hex6ColorToRGBA(p){if(p[0]==="#"&&p.length===7)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:1}},_hex4ColorToRGBA(p){if(p[0]==="#"&&p.length===5)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:parseInt(p[4]+p[4],16)/255}},_hex3ColorToRGBA(p){if(p[0]==="#"&&p.length===4)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:1}},_hslColorToRGBA(p){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(p)){const[x,...O]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(p),k=Number(O[0])/360,I=Number(O[1])/100,L=Number(O[2])/100;let D,M,N;if(I===0)return N=L*255,{r:Math.round(N),g:Math.round(N),b:Math.round(N),a:1};L<.5?D=L*(1+I):D=L+I-L*I;const z=2*L-D,H=[0,0,0];for(let W=0;W<3;W++)M=k+1/3*-(W-1),M<0&&M++,M>1&&M--,6*M<1?N=z+(D-z)*6*M:2*M<1?N=D:3*M<2?N=z+(D-z)*(2/3-M)*6:N=z,H[W]=N*255;return{r:Math.round(H[0]),g:Math.round(H[1]),b:Math.round(H[2]),a:1}}},haveIntersection(p,x){return!(x.x>p.x+p.width||x.x+x.widthp.y+p.height||x.y+x.height1?(D=O,M=k,N=(O-I)*(O-I)+(k-L)*(k-L)):(D=p+H*(O-p),M=x+H*(k-x),N=(D-I)*(D-I)+(M-L)*(M-L))}return[D,M,N]},_getProjectionToLine(p,x,O){var k=e.Util.cloneObject(p),I=Number.MAX_VALUE;return x.forEach(function(L,D){if(!(!O&&D===x.length-1)){var M=x[(D+1)%x.length],N=e.Util._getProjectionToSegment(L.x,L.y,M.x,M.y,p.x,p.y),z=N[0],H=N[1],W=N[2];Wx.length){var D=x;x=p,p=D}for(k=0;k{x.width=0,x.height=0})},drawRoundedRectPath(p,x,O,k){let I=0,L=0,D=0,M=0;typeof k=="number"?I=L=D=M=Math.min(k,x/2,O/2):(I=Math.min(k[0]||0,x/2,O/2),L=Math.min(k[1]||0,x/2,O/2),M=Math.min(k[2]||0,x/2,O/2),D=Math.min(k[3]||0,x/2,O/2)),p.moveTo(I,0),p.lineTo(x-L,0),p.arc(x-L,L,L,Math.PI*3/2,0,!1),p.lineTo(x,O-M),p.arc(x-M,O-M,M,0,Math.PI/2,!1),p.lineTo(D,O),p.arc(D,O-D,D,Math.PI/2,Math.PI,!1),p.lineTo(0,I),p.arc(I,I,I,Math.PI,Math.PI*3/2,!1)}}})(kn);var vn={},Je={},je={};Object.defineProperty(je,"__esModule",{value:!0}),je.getComponentValidator=je.getBooleanValidator=je.getNumberArrayValidator=je.getFunctionValidator=je.getStringOrGradientValidator=je.getStringValidator=je.getNumberOrAutoValidator=je.getNumberOrArrayOfNumbersValidator=I7=je.getNumberValidator=je.alphaComponent=je.RGBComponent=void 0;const is=ht,Rn=kn;function as(e){return Rn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Rn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function eX(e){return e>255?255:e<0?0:Math.round(e)}je.RGBComponent=eX;function tX(e){return e>1?1:e<1e-4?1e-4:e}je.alphaComponent=tX;function nX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isNumber(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}var I7=je.getNumberValidator=nX;function rX(e){if(is.Konva.isUnminified)return function(t,n){let r=Rn.Util._isNumber(t),i=Rn.Util._isArray(t)&&t.length==e;return!r&&!i&&Rn.Util.warn(as(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}je.getNumberOrArrayOfNumbersValidator=rX;function iX(){if(is.Konva.isUnminified)return function(e,t){var n=Rn.Util._isNumber(e),r=e==="auto";return n||r||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}je.getNumberOrAutoValidator=iX;function aX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isString(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}je.getStringValidator=aX;function oX(){if(is.Konva.isUnminified)return function(e,t){const n=Rn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}je.getStringOrGradientValidator=oX;function sX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isFunction(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}je.getFunctionValidator=sX;function lX(){if(is.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Rn.Util._isArray(e)?e.forEach(function(r){Rn.Util._isNumber(r)||Rn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}je.getNumberArrayValidator=lX;function cX(){if(is.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}je.getBooleanValidator=cX;function uX(e){if(is.Konva.isUnminified)return function(t,n){return t==null||Rn.Util.isObject(t)||Rn.Util.warn(as(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}je.getComponentValidator=uX,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=kn,n=je;var r="get",i="set";e.Factory={addGetterSetter(a,o,c,u,d){e.Factory.addGetter(a,o,c),e.Factory.addSetter(a,o,u,d),e.Factory.addOverloadedGetterSetter(a,o)},addGetter(a,o,c){var u=r+t.Util._capitalize(o);a.prototype[u]=a.prototype[u]||function(){var d=this.attrs[o];return d===void 0?c:d}},addSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]||e.Factory.overWriteSetter(a,o,c,u)},overWriteSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]=function(f){return c&&f!==void 0&&f!==null&&(f=c.call(this,f,o)),this._setAttr(o,f),u&&u.call(this),this}},addComponentsGetterSetter(a,o,c,u,d){var f=c.length,w=t.Util._capitalize,m=r+w(o),g=i+w(o),y,C;a.prototype[m]=function(){var S={};for(y=0;y{this._setAttr(o+w(x),void 0)}),this._fireChangeEvent(o,E,S),d&&d.call(this),this},e.Factory.addOverloadedGetterSetter(a,o)},addOverloadedGetterSetter(a,o){var c=t.Util._capitalize(o),u=i+c,d=r+c;a.prototype[o]=function(){return arguments.length?(this[u](arguments[0]),this):this[d]()}},addDeprecatedGetterSetter(a,o,c,u){t.Util.error("Adding deprecated "+o);var d=r+t.Util._capitalize(o),f=o+" property is deprecated and will be removed soon. Look at Konva change log for more information.";a.prototype[d]=function(){t.Util.error(f);var w=this.attrs[o];return w===void 0?c:w},e.Factory.addSetter(a,o,u,function(){t.Util.error(f)}),e.Factory.addOverloadedGetterSetter(a,o)},backCompat(a,o){t.Util.each(o,function(c,u){var d=a.prototype[u],f=r+t.Util._capitalize(c),w=i+t.Util._capitalize(c);function m(){d.apply(this,arguments),t.Util.error('"'+c+'" method is deprecated and will be removed soon. Use ""'+u+'" instead.')}a.prototype[c]=m,a.prototype[f]=m,a.prototype[w]=m})},afterSetFilter(){this._filterUpToDate=!1}}}(Je);var La={},Xo={};Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.HitContext=Xo.SceneContext=Xo.Context=void 0;const PT=kn,dX=ht;function hX(e){var t=[],n=e.length,r=PT.Util,i,a;for(i=0;itypeof f=="number"?Math.floor(f):f)),a+=fX+d.join(US)+pX)):(a+=c.property,t||(a+=bX+c.val)),a+=vX;return a}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=xX&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,a,o){this._context.arc(t,n,r,i,a,o)}arcTo(t,n,r,i,a){this._context.arcTo(t,n,r,i,a)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,a,o){this._context.bezierCurveTo(t,n,r,i,a,o)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,a,o){return this._context.createRadialGradient(t,n,r,i,a,o)}drawImage(t,n,r,i,a,o,c,u,d){var f=arguments,w=this._context;f.length===3?w.drawImage(t,n,r):f.length===5?w.drawImage(t,n,r,i,a):f.length===9&&w.drawImage(t,n,r,i,a,o,c,u,d)}ellipse(t,n,r,i,a,o,c,u){this._context.ellipse(t,n,r,i,a,o,c,u)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}roundRect(t,n,r,i,a){this._context.roundRect(t,n,r,i,a)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,a,o){this._context.setTransform(t,n,r,i,a,o)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,a,o){this._context.transform(t,n,r,i,a,o)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=WS.length,r=this.setAttr,i,a,o=function(c){var u=t[c],d;t[c]=function(){return a=hX(Array.prototype.slice.call(arguments,0)),d=u.apply(t,arguments),t._trace({method:c,args:a}),d}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((a,o)=>{const{node:c}=a,u=c.getStage();u.setPointersPositions(r),a.pointerId===void 0&&(a.pointerId=n.Util._getFirstPointerId(r));const d=u._changedPointerPositions.find(m=>m.id===a.pointerId);if(d){if(a.dragStatus!=="dragging"){var f=c.dragDistance(),w=Math.max(Math.abs(d.x-a.startPointerPos.x),Math.abs(d.y-a.startPointerPos.y));if(w{a.fire("dragmove",{type:"dragmove",target:a,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(a=>{const{node:o}=a,c=o.getStage();if(r&&c.setPointersPositions(r),!c._changedPointerPositions.find(d=>d.id===a.pointerId))return;(a.dragStatus==="dragging"||a.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,a.dragStatus="stopped");const u=a.node.getLayer()||a.node instanceof t.Konva.Stage&&a.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(a=>{a.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,a)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(a)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(D3),Object.defineProperty(vn,"__esModule",{value:!0}),vn.Node=void 0;const bt=kn,G0=Je,y0=La,Fs=ht,Qi=D3,Hn=je;var $2="absoluteOpacity",Hp="allEventListeners",jo="absoluteTransform",XS="absoluteScale",sc="canvas",LX="Change",MX="children",TX="konva",n8="listening",YS="mouseenter",KS="mouseleave",ZS="set",$S="Shape",q2=" ",qS="stage",Xs="transform",AX="Stage",r8="visible",IX=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(q2);let FX=1;class Ze{constructor(t){this._id=FX++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Xs||t===jo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===Xs||t===jo,a=r===void 0||i&&r.dirty===!0;return a&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(a=>a+"Change.konva").join(q2);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(sc)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===jo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(sc)){const{scene:t,filter:n,hit:r}=this._cache.get(sc);bt.Util.releaseCanvas(t,n,r),this._cache.delete(sc)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0}));var i=Math.ceil(n.width||r.width),a=Math.ceil(n.height||r.height),o=n.pixelRatio,c=n.x===void 0?Math.floor(r.x):n.x,u=n.y===void 0?Math.floor(r.y):n.y,d=n.offset||0,f=n.drawBorder||!1,w=n.hitCanvasPixelRatio||1;if(!i||!a){bt.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}const m=Math.abs(Math.round(r.x)-c)>.5?1:0,g=Math.abs(Math.round(r.y)-u)>.5?1:0;i+=d*2+m,a+=d*2+g,c-=d,u-=d;var y=new y0.SceneCanvas({pixelRatio:o,width:i,height:a}),C=new y0.SceneCanvas({pixelRatio:o,width:0,height:0,willReadFrequently:!0}),P=new y0.HitCanvas({pixelRatio:w,width:i,height:a}),S=y.getContext(),E=P.getContext();return P.isCache=!0,y.isCache=!0,this._cache.delete(sc),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(y.getContext()._context.imageSmoothingEnabled=!1,C.getContext()._context.imageSmoothingEnabled=!1),S.save(),E.save(),S.translate(-c,-u),E.translate(-c,-u),this._isUnderCache=!0,this._clearSelfAndDescendantCache($2),this._clearSelfAndDescendantCache(XS),this.drawScene(y,this),this.drawHit(P,this),this._isUnderCache=!1,S.restore(),E.restore(),f&&(S.save(),S.beginPath(),S.rect(0,0,i,a),S.closePath(),S.setAttr("strokeStyle","red"),S.setAttr("lineWidth",5),S.stroke(),S.restore()),this._cache.set(sc,{scene:y,filter:C,hit:P,x:c,y:u}),this._requestDraw(),this}isCached(){return this._cache.has(sc)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i=1/0,a=1/0,o=-1/0,c=-1/0,u=this.getAbsoluteTransform(n);return r.forEach(function(d){var f=u.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),{x:i,y:a,width:o-i,height:c-a}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,a=i.getContext(),o,c,u,d;if(t){if(!this._filterUpToDate){var f=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(o=t.length,a.clear(),a.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),c=a.getImageData(0,0,i.getWidth(),i.getHeight()),u=0;u{var n,r;if(!t)return this;for(n in t)n!==MX&&(r=ZS+bt.Util._capitalize(n),bt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(n8,this._isListening)}_isListening(t){if(!this.listening())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isListening(t):!0}isVisible(){return this._getCache(r8,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Qi.DD._dragElements.forEach(o=>{o.dragStatus==="dragging"&&(o.node.nodeType==="Stage"||o.node.getLayer()===r)&&(i=!0)});var a=!n&&!Fs.Konva.hitOnDragEnabled&&(i||Fs.Konva.isTransforming());return this.isListening()&&this.isVisible()&&!a}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,a,o,c;function u(f){for(i=[],a=f.length,o=0;o0&&i[0].getDepth()<=t&&u(i)}const d=this.getStage();return n.nodeType!==AX&&d&&u(d.getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Xs),this._clearSelfAndDescendantCache(jo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){const t=this.getStage();if(!t)return null;var n=t.getPointerPosition();if(!n)return null;var r=this.getAbsoluteTransform().copy();return r.invert(),r.point(n)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),a=new bt.Transform,o=this.offset();return a.m=i.slice(),a.translate(o.x,o.y),a.getTranslation()}setAbsolutePosition(t){const o=this._clearTransform(),{x:n,y:r}=o,i=m4(o,["x","y"]);this.attrs.x=n,this.attrs.y=r,this._clearCache(Xs);var a=this._getAbsoluteTransform().copy();return a.invert(),a.translate(t.x,t.y),t={x:this.attrs.x+a.getTranslation().x,y:this.attrs.y+a.getTranslation().y},this._setTransform(i),this.setPosition({x:t.x,y:t.y}),this._clearCache(Xs),this._clearSelfAndDescendantCache(jo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),a=this.y();return n!==void 0&&(i+=n),r!==void 0&&(a+=r),this.setPosition({x:i,y:a}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),a,o;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(a=r.length,o=0;o0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return bt.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return bt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&bt.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache($2,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t=this.getAttrs(),n,r,i,a,o;const c={attrs:{},className:this.getClassName()};for(n in t)r=t[n],o=bt.Util.isObject(r)&&!bt.Util._isPlainObject(r)&&!bt.Util._isArray(r),!o&&(i=typeof this[n]=="function"&&this[n],delete t[n],a=i?i.call(this):null,t[n]=r,a!==r&&(c.attrs[n]=r));return bt.Util._prepareToStringify(c)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var a=this.parent;a;){if(a===r)return i;a._isMatch(t)&&i.push(a),a=a.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,a;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,bt.Util._urlToImage(this.toDataURL(t),function(a){n(a),i==null||i(a)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(a=>{n(a),i==null||i(a)},t==null?void 0:t.mimeType,t==null?void 0:t.quality)}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Fs.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],a,o,c;for(a=0;a=0;if(r&&!this.isDragging()){var i=!1;Qi.DD._dragElements.forEach(a=>{this.isAncestorOf(a.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Qi.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Qi.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return bt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return bt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Ze.prototype.getClassName.call(t),i=t.children,a,o,c;n&&(t.attrs.container=n),Fs.Konva[r]||(bt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const u=Fs.Konva[r];if(a=new u(t.attrs),i)for(o=i.length,c=0;c0}removeChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(var t=0;t0?t[0]:void 0}_generalFind(e,t){var n=[];return this._descendants(r=>{const i=r._isMatch(e);return i&&n.push(r),!!(i&&t)}),n}_descendants(e){let t=!1;const n=this.getChildren();for(const r of n)if(t=e(r),t||r.hasChildren()&&(t=r._descendants(e),t))return!0;return!1}toObject(){var e=Nv.Node.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){for(var t=e.getParent();t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){var t=Nv.Node.prototype.clone.call(this,e);return this.getChildren().forEach(function(n){t.add(n.clone())}),t}getAllIntersections(e){var t=[];return this.find("Shape").forEach(n=>{n.isVisible()&&n.intersects(e)&&t.push(n)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(n){n._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,n){t.index=n}),this._requestDraw()}drawScene(e,t,n){var r=this.getLayer(),i=e||r&&r.getCanvas(),a=i&&i.getContext(),o=this._getCanvasCache(),c=o&&o.scene,u=i&&i.isCache;if(!this.isVisible()&&!u)return this;if(c){a.save();var d=this.getAbsoluteTransform(t).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",i,t,n);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;var n=this.getLayer(),r=e||n&&n.hitCanvas,i=r&&r.getContext(),a=this._getCanvasCache(),o=a&&a.hit;if(o){i.save();var c=this.getAbsoluteTransform(t).getMatrix();i.transform(c[0],c[1],c[2],c[3],c[4],c[5]),this._drawCachedHitCanvas(i),i.restore()}else this._drawChildren("drawHit",r,t);return this}_drawChildren(e,t,n,r){var i,a=t&&t.getContext(),o=this.clipWidth(),c=this.clipHeight(),u=this.clipFunc(),d=typeof o=="number"&&typeof c=="number"||u;const f=n===this;if(d){a.save();var w=this.getAbsoluteTransform(n),m=w.getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5]),a.beginPath();let P;if(u)P=u.call(this,a,this);else{var g=this.clipX(),y=this.clipY();a.rect(g||0,y||0,o,c)}a.clip.apply(a,P),m=w.copy().invert().getMatrix(),a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var C=!f&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";C&&(a.save(),a._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(P){P[e](t,n,r)}),C&&a.restore(),d&&a.restore()}getClientRect(e={}){var t,n=e.skipTransform,r=e.relativeTo,i,a,o,c,u={x:1/0,y:1/0,width:0,height:0},d=this;(t=this.children)===null||t===void 0||t.forEach(function(y){if(y.visible()){var C=y.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});C.width===0&&C.height===0||(i===void 0?(i=C.x,a=C.y,o=C.x+C.width,c=C.y+C.height):(i=Math.min(i,C.x),a=Math.min(a,C.y),o=Math.max(o,C.x+C.width),c=Math.max(c,C.y+C.height)))}});for(var f=this.find("Shape"),w=!1,m=0;mpe.indexOf("pointer")>=0?"pointer":pe.indexOf("touch")>=0?"touch":"mouse",ie=pe=>{const R=ae(pe);if(R==="pointer")return i.Konva.pointerEventsEnabled&&Q.pointer;if(R==="touch")return Q.touch;if(R==="mouse")return Q.mouse};function oe(pe={}){return(pe.clipFunc||pe.clipWidth||pe.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),pe}const ue="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class Ce extends r.Container{constructor(R){super(oe(R)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{oe(this.attrs)}),this._checkVisibility()}_validateAdd(R){const Y=R.getType()==="Layer",re=R.getType()==="FastLayer";Y||re||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const R=this.visible()?"":"none";this.content.style.display=R}setContainer(R){if(typeof R===f){if(R.charAt(0)==="."){var Y=R.slice(1);R=document.getElementsByClassName(Y)[0]}else{var re;R.charAt(0)!=="#"?re=R:re=R.slice(1),R=document.getElementById(re)}if(!R)throw"Can not find container in document with id "+re}return this._setAttr("container",R),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),R.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var R=this.children,Y=R.length,re;for(re=0;re-1&&e.stages.splice(Y,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const R=this._pointerPositions[0]||this._changedPointerPositions[0];return R?{x:R.x,y:R.y}:(t.Util.warn(ue),null)}_getPointerById(R){return this._pointerPositions.find(Y=>Y.id===R)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(R){R=R||{},R.x=R.x||0,R.y=R.y||0,R.width=R.width||this.width(),R.height=R.height||this.height();var Y=new a.SceneCanvas({width:R.width,height:R.height,pixelRatio:R.pixelRatio||1}),re=Y.getContext()._context,be=this.children;return(R.x||R.y)&&re.translate(-1*R.x,-1*R.y),be.forEach(function(xe){if(xe.isVisible()){var ge=xe._toKonvaCanvas(R);re.drawImage(ge._canvas,R.x,R.y,ge.getWidth()/ge.getPixelRatio(),ge.getHeight()/ge.getPixelRatio())}}),Y}getIntersection(R){if(!R)return null;var Y=this.children,re=Y.length,be=re-1,xe;for(xe=be;xe>=0;xe--){const ge=Y[xe].getIntersection(R);if(ge)return ge}return null}_resizeDOM(){var R=this.width(),Y=this.height();this.content&&(this.content.style.width=R+w,this.content.style.height=Y+w),this.bufferCanvas.setSize(R,Y),this.bufferHitCanvas.setSize(R,Y),this.children.forEach(re=>{re.setSize({width:R,height:Y}),re.draw()})}add(R,...Y){if(arguments.length>1){for(var re=0;reU&&t.Util.warn("The stage has "+be+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),R.setSize({width:this.width(),height:this.height()}),R.draw(),i.Konva.isBrowser&&this.content.appendChild(R.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(R){return u.hasPointerCapture(R,this)}setPointerCapture(R){u.setPointerCapture(R,this)}releaseCapture(R){u.releaseCapture(R,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&J.forEach(([R,Y])=>{this.content.addEventListener(R,re=>{this[Y](re)},{passive:!1})})}_pointerenter(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerenter,{evt:R,target:this,currentTarget:this})}_pointerover(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this})}_getTargetShape(R){let Y=this[R+"targetShape"];return Y&&!Y.getStage()&&(Y=null),Y}_pointerleave(R){const Y=ie(R.type),re=ae(R.type);if(Y){this.setPointersPositions(R);var be=this._getTargetShape(re),xe=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;be&&xe?(be._fireAndBubble(Y.pointerout,{evt:R}),be._fireAndBubble(Y.pointerleave,{evt:R}),this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this[re+"targetShape"]=null):xe&&(this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this._fire(Y.pointerout,{evt:R,target:this,currentTarget:this})),this.pointerPos=null,this._pointerPositions=[]}}_pointerdown(R){const Y=ie(R.type),re=ae(R.type);if(Y){this.setPointersPositions(R);var be=!1;this._changedPointerPositions.forEach(xe=>{var ge=this.getIntersection(xe);if(o.DD.justDragged=!1,i.Konva["_"+re+"ListenClick"]=!0,!ge||!ge.isListening())return;i.Konva.capturePointerEventsEnabled&&ge.setPointerCapture(xe.id),this[re+"ClickStartShape"]=ge,ge._fireAndBubble(Y.pointerdown,{evt:R,pointerId:xe.id}),be=!0;const Ae=R.type.indexOf("touch")>=0;ge.preventDefault()&&R.cancelable&&Ae&&R.preventDefault()}),be||this._fire(Y.pointerdown,{evt:R,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;i.Konva.isDragging()&&o.DD.node.preventDefault()&&R.cancelable&&R.preventDefault(),this.setPointersPositions(R);var be=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;if(!be)return;var xe={};let ge=!1;var Ae=this._getTargetShape(re);this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie),et=Ie.id,Re={evt:R,pointerId:et};var rt=Ae!==Me;if(rt&&Ae&&(Ae._fireAndBubble(Y.pointerout,Xn({},Re),Me),Ae._fireAndBubble(Y.pointerleave,Xn({},Re),Me)),Me){if(xe[Me._id])return;xe[Me._id]=!0}Me&&Me.isListening()?(ge=!0,rt&&(Me._fireAndBubble(Y.pointerover,Xn({},Re),Ae),Me._fireAndBubble(Y.pointerenter,Xn({},Re),Ae),this[re+"targetShape"]=Me),Me._fireAndBubble(Y.pointermove,Xn({},Re))):Ae&&(this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this,pointerId:et}),this[re+"targetShape"]=null)}),ge||this._fire(Y.pointermove,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this[re+"ClickStartShape"],xe=this[re+"ClickEndShape"];var ge={};let Ae=!1;this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie);if(Me){if(Me.releaseCapture(Ie.id),ge[Me._id])return;ge[Me._id]=!0}const et=Ie.id,Re={evt:R,pointerId:et};let rt=!1;i.Konva["_"+re+"InDblClickWindow"]?(rt=!0,clearTimeout(this[re+"DblTimeout"])):o.DD.justDragged||(i.Konva["_"+re+"InDblClickWindow"]=!0,clearTimeout(this[re+"DblTimeout"])),this[re+"DblTimeout"]=setTimeout(function(){i.Konva["_"+re+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Me&&Me.isListening()?(Ae=!0,this[re+"ClickEndShape"]=Me,Me._fireAndBubble(Y.pointerup,Xn({},Re)),i.Konva["_"+re+"ListenClick"]&&be&&be===Me&&(Me._fireAndBubble(Y.pointerclick,Xn({},Re)),rt&&xe&&xe===Me&&Me._fireAndBubble(Y.pointerdblclick,Xn({},Re)))):(this[re+"ClickEndShape"]=null,i.Konva["_"+re+"ListenClick"]&&this._fire(Y.pointerclick,{evt:R,target:this,currentTarget:this,pointerId:et}),rt&&this._fire(Y.pointerdblclick,{evt:R,target:this,currentTarget:this,pointerId:et}))}),Ae||this._fire(Y.pointerup,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+re+"ListenClick"]=!1,R.cancelable&&re!=="touch"&&R.preventDefault()}_contextmenu(R){this.setPointersPositions(R);var Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(z,{evt:R}):this._fire(z,{evt:R,target:this,currentTarget:this})}_wheel(R){this.setPointersPositions(R);var Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(q,{evt:R}):this._fire(q,{evt:R,target:this,currentTarget:this})}_pointercancel(R){this.setPointersPositions(R);const Y=u.getCapturedShape(R.pointerId)||this.getIntersection(this.getPointerPosition());Y&&Y._fireAndBubble(O,u.createEvent(R)),u.releaseCapture(R.pointerId)}_lostpointercapture(R){u.releaseCapture(R.pointerId)}setPointersPositions(R){var Y=this._getContentPosition(),re=null,be=null;R=R||window.event,R.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(R.touches,xe=>{this._pointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})}),Array.prototype.forEach.call(R.changedTouches||R.touches,xe=>{this._changedPointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})})):(re=(R.clientX-Y.left)/Y.scaleX,be=(R.clientY-Y.top)/Y.scaleY,this.pointerPos={x:re,y:be},this._pointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}],this._changedPointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}])}_setPointerPosition(R){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(R)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var R=this.content.getBoundingClientRect();return{top:R.top,left:R.left,scaleX:R.width/this.content.clientWidth||1,scaleY:R.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new a.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new a.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var R=this.container();if(!R)throw"Stage has no container. A container is required.";R.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),R.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(R){R.batchDraw()}),this}}e.Stage=Ce,Ce.prototype.nodeType=d,(0,c._registerNode)(Ce),n.Factory.addGetterSetter(Ce,"container")}(MT);var T1={},lr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=ht,n=kn,r=Je,i=vn,a=je,o=ht,c=Mi;var u="hasShadow",d="shadowRGBA",f="patternImage",w="linearGradient",m="radialGradient";let g;function y(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function C(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function P(D){D.stroke()}function S(D){D.fill()}function E(D){D.stroke()}function p(){this._clearCache(u)}function x(){this._clearCache(d)}function O(){this._clearCache(f)}function k(){this._clearCache(w)}function I(){this._clearCache(m)}class L extends i.Node{constructor(M){super(M);let N;for(;N=n.Util.getRandomColor(),!(N&&!(N in e.shapes)););this.colorKey=N,e.shapes[N]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(u,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(f,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var M=y();const N=M.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(N&&N.setTransform){const z=new n.Transform;z.translate(this.fillPatternX(),this.fillPatternY()),z.rotate(t.Konva.getAngle(this.fillPatternRotation())),z.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),z.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const H=z.getMatrix(),W=typeof DOMMatrix>"u"?{a:H[0],b:H[1],c:H[2],d:H[3],e:H[4],f:H[5]}:new DOMMatrix(H);N.setTransform(W)}return N}}_getLinearGradient(){return this._getCache(w,this.__getLinearGradient)}__getLinearGradient(){var M=this.fillLinearGradientColorStops();if(M){for(var N=y(),z=this.fillLinearGradientStartPoint(),H=this.fillLinearGradientEndPoint(),W=N.createLinearGradient(z.x,z.y,H.x,H.y),K=0;Kthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const M=this.hitStrokeWidth();return M==="auto"?this.hasStroke():this.strokeEnabled()&&!!M}intersects(M){var N=this.getStage();if(!N)return!1;const z=N.bufferHitCanvas;return z.getContext().clear(),this.drawHit(z,void 0,!0),z.context.getImageData(Math.round(M.x),Math.round(M.y),1,1).data[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(M){var N;if(!(!((N=this.attrs.perfectDrawEnabled)!==null&&N!==void 0)||N))return!1;const z=M||this.hasFill(),H=this.hasStroke(),W=this.getAbsoluteOpacity()!==1;if(z&&H&&W)return!0;const K=this.hasShadow(),G=this.shadowForStrokeEnabled();return!!(z&&H&&K&&G)}setStrokeHitEnabled(M){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),M?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var M=this.size();return{x:this._centroid?-M.width/2:0,y:this._centroid?-M.height/2:0,width:M.width,height:M.height}}getClientRect(M={}){const N=M.skipTransform,z=M.relativeTo,H=this.getSelfRect(),W=!M.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,K=H.width+W,G=H.height+W,q=!M.skipShadow&&this.hasShadow(),U=q?this.shadowOffsetX():0,J=q?this.shadowOffsetY():0,Q=K+Math.abs(U),ae=G+Math.abs(J),ie=q&&this.shadowBlur()||0,oe=Q+ie*2,ue=ae+ie*2,Ce={width:oe,height:ue,x:-(W/2+ie)+Math.min(U,0)+H.x,y:-(W/2+ie)+Math.min(J,0)+H.y};return N?Ce:this._transformedRect(Ce,z)}drawScene(M,N,z){var H=this.getLayer(),W=M||H.getCanvas(),K=W.getContext(),G=this._getCanvasCache(),q=this.getSceneFunc(),U=this.hasShadow(),J,Q,ae=W.isCache,ie=N===this;if(!this.isVisible()&&!ie)return this;if(G){K.save();var oe=this.getAbsoluteTransform(N).getMatrix();return K.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),this._drawCachedSceneCanvas(K),K.restore(),this}if(!q)return this;if(K.save(),this._useBufferCanvas()&&!ae){J=this.getStage();const pe=z||J.bufferCanvas;Q=pe.getContext(),Q.clear(),Q.save(),Q._applyLineJoin(this);var ue=this.getAbsoluteTransform(N).getMatrix();Q.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),q.call(this,Q,this),Q.restore();var Ce=pe.pixelRatio;U&&K._applyShadow(this),K._applyOpacity(this),K._applyGlobalCompositeOperation(this),K.drawImage(pe._canvas,0,0,pe.width/Ce,pe.height/Ce)}else{if(K._applyLineJoin(this),!ie){var ue=this.getAbsoluteTransform(N).getMatrix();K.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),K._applyOpacity(this),K._applyGlobalCompositeOperation(this)}U&&K._applyShadow(this),q.call(this,K,this)}return K.restore(),this}drawHit(M,N,z=!1){if(!this.shouldDrawHit(N,z))return this;var H=this.getLayer(),W=M||H.hitCanvas,K=W&&W.getContext(),G=this.hitFunc()||this.sceneFunc(),q=this._getCanvasCache(),U=q&&q.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),U){K.save();var J=this.getAbsoluteTransform(N).getMatrix();return K.transform(J[0],J[1],J[2],J[3],J[4],J[5]),this._drawCachedHitCanvas(K),K.restore(),this}if(!G)return this;if(K.save(),K._applyLineJoin(this),this!==N){var Q=this.getAbsoluteTransform(N).getMatrix();K.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}return G.call(this,K,this),K.restore(),this}drawHitFromCache(M=0){var N=this._getCanvasCache(),z=this._getCachedSceneCanvas(),H=N.hit,W=H.getContext(),K=H.getWidth(),G=H.getHeight(),q,U,J,Q,ae,ie;W.clear(),W.drawImage(z._canvas,0,0,K,G);try{for(q=W.getImageData(0,0,K,G),U=q.data,J=U.length,Q=n.Util._hexToRgb(this.colorKey),ae=0;aeM?(U[ae]=Q.r,U[ae+1]=Q.g,U[ae+2]=Q.b,U[ae+3]=255):U[ae+3]=0;W.putImageData(q,0,0)}catch(oe){n.Util.error("Unable to draw hit graph from cached scene canvas. "+oe.message)}return this}hasPointerCapture(M){return c.hasPointerCapture(M,this)}setPointerCapture(M){c.setPointerCapture(M,this)}releaseCapture(M){c.releaseCapture(M,this)}}e.Shape=L,L.prototype._fillFunc=C,L.prototype._strokeFunc=P,L.prototype._fillFuncHit=S,L.prototype._strokeFuncHit=E,L.prototype._centroid=!1,L.prototype.nodeType="Shape",(0,o._registerNode)(L),L.prototype.eventListeners={},L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",p),L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",x),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",O),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",k),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",I),r.Factory.addGetterSetter(L,"stroke",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"strokeWidth",2,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(L,"hitStrokeWidth","auto",(0,a.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(L,"strokeHitEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"perfectDrawEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"shadowForStrokeEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"lineJoin"),r.Factory.addGetterSetter(L,"lineCap"),r.Factory.addGetterSetter(L,"sceneFunc"),r.Factory.addGetterSetter(L,"hitFunc"),r.Factory.addGetterSetter(L,"dash"),r.Factory.addGetterSetter(L,"dashOffset",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowColor",void 0,(0,a.getStringValidator)()),r.Factory.addGetterSetter(L,"shadowBlur",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOpacity",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(L,"shadowOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternImage"),r.Factory.addGetterSetter(L,"fill",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"fillPatternX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(L,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(L,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(L,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(L,"fillEnabled",!0),r.Factory.addGetterSetter(L,"strokeEnabled",!0),r.Factory.addGetterSetter(L,"shadowEnabled",!0),r.Factory.addGetterSetter(L,"dashEnabled",!0),r.Factory.addGetterSetter(L,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(L,"fillPriority","color"),r.Factory.addComponentsGetterSetter(L,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternScaleX",1,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternScaleY",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(L,"fillPatternRotation",0),r.Factory.addGetterSetter(L,"fillRule",void 0,(0,a.getStringValidator)()),r.Factory.backCompat(L,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(lr),Object.defineProperty(T1,"__esModule",{value:!0}),T1.Layer=void 0;const Mo=kn,Rv=Xc,Zu=vn,jv=Je,QS=La,zX=je,BX=lr,HX=ht;var GX="#",VX="beforeDraw",UX="draw",IT=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],WX=IT.length;class $u extends Rv.Container{constructor(t){super(t),this.canvas=new QS.SceneCanvas,this.hitCanvas=new QS.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(VX,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Rv.Container.prototype.drawScene.call(this,i,n),this._fire(UX,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Rv.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){Mo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return Mo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return Mo.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}T1.Layer=$u,$u.prototype.nodeType="Layer",(0,HX._registerNode)($u),jv.Factory.addGetterSetter($u,"imageSmoothingEnabled",!0),jv.Factory.addGetterSetter($u,"clearBeforeDraw",!0),jv.Factory.addGetterSetter($u,"hitGraphEnabled",!0,(0,zX.getBooleanValidator)());var Em={};Object.defineProperty(Em,"__esModule",{value:!0}),Em.FastLayer=void 0;const XX=kn,YX=T1,KX=ht;class zv extends YX.Layer{constructor(t){super(t),this.listening(!1),XX.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}Em.FastLayer=zv,zv.prototype.nodeType="FastLayer",(0,KX._registerNode)(zv);var oh={};Object.defineProperty(oh,"__esModule",{value:!0}),oh.Group=void 0;const ZX=kn,$X=Xc,qX=ht;class Bv extends $X.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&ZX.Util.throw("You may only add groups and shapes to groups.")}}oh.Group=Bv,Bv.prototype.nodeType="Group",(0,qX._registerNode)(Bv);var sh={};Object.defineProperty(sh,"__esModule",{value:!0}),sh.Animation=void 0;const Hv=ht,JS=kn,Gv=function(){return Hv.glob.performance&&Hv.glob.performance.now?function(){return Hv.glob.performance.now()}:function(){return new Date().getTime()}}();class no{constructor(t,n){this.id=no.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Gv(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){let n=[];return t&&(n=Array.isArray(t)?t:[t]),this.layers=n,this}getLayers(){return this.layers}addLayer(t){const n=this.layers,r=n.length;for(let i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():y<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=y,this.update())}getTime(){return this._time}setPosition(y){this.prevPos=this._pos,this.propFunc(y),this._pos=y}getPosition(y){return y===void 0&&(y=this._time),this.func(y,this.begin,this._change,this.duration)}play(){this.state=c,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=u,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(y){this.pause(),this._time=y,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var y=this.getTimer()-this._startTime;this.state===c?this.setTime(y):this.state===u&&this.setTime(this.duration-y)}pause(){this.state=o,this.fire("onPause")}getTimer(){return new Date().getTime()}}class m{constructor(y){var C=this,P=y.node,S=P._id,E,p=y.easing||e.Easings.Linear,x=!!y.yoyo,O;typeof y.duration>"u"?E=.3:y.duration===0?E=.001:E=y.duration,this.node=P,this._id=d++;var k=P.getLayer()||(P instanceof i.Konva.Stage?P.getLayers():null);k||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){C.tween.onEnterFrame()},k),this.tween=new w(O,function(I){C._tweenFunc(I)},p,0,1,E*1e3,x),this._addListeners(),m.attrs[S]||(m.attrs[S]={}),m.attrs[S][this._id]||(m.attrs[S][this._id]={}),m.tweens[S]||(m.tweens[S]={});for(O in y)a[O]===void 0&&this._addAttr(O,y[O]);this.reset(),this.onFinish=y.onFinish,this.onReset=y.onReset,this.onUpdate=y.onUpdate}_addAttr(y,C){var P=this.node,S=P._id,E,p,x,O,k,I,L,D;if(x=m.tweens[S][y],x&&delete m.attrs[S][x][y],E=P.getAttr(y),t.Util._isArray(C))if(p=[],k=Math.max(C.length,E.length),y==="points"&&C.length!==E.length&&(C.length>E.length?(L=E,E=t.Util._prepareArrayForTween(E,C,P.closed())):(I=C,C=t.Util._prepareArrayForTween(C,E,P.closed()))),y.indexOf("fill")===0)for(O=0;O{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueEnd&&y.setAttr("points",C.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueStart&&y.points(C.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(y){return this.tween.seek(y*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var y=this.node._id,C=this._id,P=m.tweens[y],S;this.pause();for(S in P)delete m.tweens[y][S];delete m.attrs[y][C]}}e.Tween=m,m.attrs={},m.tweens={},r.Node.prototype.to=function(g){var y=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),y&&y()};var C=new m(g);C.play()},e.Easings={BackEaseIn(g,y,C,P){var S=1.70158;return C*(g/=P)*g*((S+1)*g-S)+y},BackEaseOut(g,y,C,P){var S=1.70158;return C*((g=g/P-1)*g*((S+1)*g+S)+1)+y},BackEaseInOut(g,y,C,P){var S=1.70158;return(g/=P/2)<1?C/2*(g*g*(((S*=1.525)+1)*g-S))+y:C/2*((g-=2)*g*(((S*=1.525)+1)*g+S)+2)+y},ElasticEaseIn(g,y,C,P,S,E){var p=0;return g===0?y:(g/=P)===1?y+C:(E||(E=P*.3),!S||S0?t:n),f=o*n,w=c*(c>0?t:n),m=u*(u>0?n:t);return{x:d,y:r?-1*m:w,width:f-d,height:m-w}}}Pm.Arc=To,To.prototype._centroid=!0,To.prototype.className="Arc",To.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,JX._registerNode)(To),Vp.Factory.addGetterSetter(To,"innerRadius",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"outerRadius",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"angle",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"clockwise",!1,(0,Up.getBooleanValidator)());var km={},A1={};Object.defineProperty(A1,"__esModule",{value:!0}),A1.Line=void 0;const Wp=Je,eY=lr,n_=je,tY=ht;function i8(e,t,n,r,i,a,o){var c=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),u=Math.sqrt(Math.pow(i-n,2)+Math.pow(a-r,2)),d=o*c/(c+u),f=o*u/(c+u),w=n-d*(i-e),m=r-d*(a-t),g=n+f*(i-e),y=r+f*(a-t);return[w,m,g,y]}function r_(e,t){var n=e.length,r=[],i,a;for(i=2;i4){for(o=this.getTensionPoints(),c=o.length,u=i?0:4,i||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);u{let d,f,w;d=u/2,f=0;for(let m=0;m<20;m++)w=d*e.tValues[20][m]+d,f+=e.cValues[20][m]*r(o,c,w);return d*f};e.getCubicArcLength=t;const n=(o,c,u)=>{u===void 0&&(u=1);const d=o[0]-2*o[1]+o[2],f=c[0]-2*c[1]+c[2],w=2*o[1]-2*o[0],m=2*c[1]-2*c[0],g=4*(d*d+f*f),y=4*(d*w+f*m),C=w*w+m*m;if(g===0)return u*Math.sqrt(Math.pow(o[2]-o[0],2)+Math.pow(c[2]-c[0],2));const P=y/(2*g),S=C/g,E=u+P,p=S-P*P,x=E*E+p>0?Math.sqrt(E*E+p):0,O=P*P+p>0?Math.sqrt(P*P+p):0,k=P+Math.sqrt(P*P+p)!==0?p*Math.log(Math.abs((E+x)/(P+O))):0;return Math.sqrt(g)/2*(E*x-P*O+k)};e.getQuadraticArcLength=n;function r(o,c,u){const d=i(1,u,o),f=i(1,u,c),w=d*d+f*f;return Math.sqrt(w)}const i=(o,c,u)=>{const d=u.length-1;let f,w;if(d===0)return 0;if(o===0){w=0;for(let m=0;m<=d;m++)w+=e.binomialCoefficients[d][m]*Math.pow(1-c,d-m)*Math.pow(c,m)*u[m];return w}else{f=new Array(d);for(let m=0;m{let d=1,f=o/c,w=(o-u(f))/c,m=0;for(;d>.001;){const g=u(f+w),y=Math.abs(o-g)/c;if(y500)break}return f};e.t2length=a})(FT),Object.defineProperty(lh,"__esModule",{value:!0}),lh.Path=void 0;const nY=Je,rY=lr,iY=ht,qu=FT;class tr extends rY.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=tr.parsePathData(this.data()),this.pathLength=tr.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;if?d:f,P=d>f?1:d/f,S=d>f?f/d:1;t.translate(c,u),t.rotate(g),t.scale(P,S),t.arc(0,0,C,w,w+m,1-y),t.scale(1/P,1/S),t.rotate(-g),t.translate(-c,-u);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(d){if(d.command==="A"){var f=d.points[4],w=d.points[5],m=d.points[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;y-=g){const C=tr.getPointOnEllipticalArc(d.points[0],d.points[1],d.points[2],d.points[3],y,0);t.push(C.x,C.y)}else for(let y=f+g;yn[i].pathLength;)t-=n[i].pathLength,++i;if(i===a)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var o=n[i],c=o.points;switch(o.command){case"L":return tr.getPointOnLine(t,o.start.x,o.start.y,c[0],c[1]);case"C":return tr.getPointOnCubicBezier((0,qu.t2length)(t,tr.getPathLength(n),C=>(0,qu.getCubicArcLength)([o.start.x,c[0],c[2],c[4]],[o.start.y,c[1],c[3],c[5]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3],c[4],c[5]);case"Q":return tr.getPointOnQuadraticBezier((0,qu.t2length)(t,tr.getPathLength(n),C=>(0,qu.getQuadraticArcLength)([o.start.x,c[0],c[2]],[o.start.y,c[1],c[3]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3]);case"A":var u=c[0],d=c[1],f=c[2],w=c[3],m=c[4],g=c[5],y=c[6];return m+=g*t/o.pathLength,tr.getPointOnEllipticalArc(u,d,f,w,m,y)}return null}static getPointOnLine(t,n,r,i,a,o,c){o===void 0&&(o=n),c===void 0&&(c=r);var u=(a-r)/(i-n+1e-8),d=Math.sqrt(t*t/(1+u*u));i0&&!isNaN(y[0]);){var E="",p=[],x=u,O=d,k,I,L,D,M,N,z,H,W,K;switch(g){case"l":u+=y.shift(),d+=y.shift(),E="L",p.push(u,d);break;case"L":u=y.shift(),d=y.shift(),p.push(u,d);break;case"m":var G=y.shift(),q=y.shift();if(u+=G,d+=q,E="M",o.length>2&&o[o.length-1].command==="z"){for(var U=o.length-2;U>=0;U--)if(o[U].command==="M"){u=o[U].points[0]+G,d=o[U].points[1]+q;break}}p.push(u,d),g="l";break;case"M":u=y.shift(),d=y.shift(),E="M",p.push(u,d),g="L";break;case"h":u+=y.shift(),E="L",p.push(u,d);break;case"H":u=y.shift(),E="L",p.push(u,d);break;case"v":d+=y.shift(),E="L",p.push(u,d);break;case"V":d=y.shift(),E="L",p.push(u,d);break;case"C":p.push(y.shift(),y.shift(),y.shift(),y.shift()),u=y.shift(),d=y.shift(),p.push(u,d);break;case"c":p.push(u+y.shift(),d+y.shift(),u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="C",p.push(u,d);break;case"S":I=u,L=d,k=o[o.length-1],k.command==="C"&&(I=u+(u-k.points[2]),L=d+(d-k.points[3])),p.push(I,L,y.shift(),y.shift()),u=y.shift(),d=y.shift(),E="C",p.push(u,d);break;case"s":I=u,L=d,k=o[o.length-1],k.command==="C"&&(I=u+(u-k.points[2]),L=d+(d-k.points[3])),p.push(I,L,u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="C",p.push(u,d);break;case"Q":p.push(y.shift(),y.shift()),u=y.shift(),d=y.shift(),p.push(u,d);break;case"q":p.push(u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="Q",p.push(u,d);break;case"T":I=u,L=d,k=o[o.length-1],k.command==="Q"&&(I=u+(u-k.points[0]),L=d+(d-k.points[1])),u=y.shift(),d=y.shift(),E="Q",p.push(I,L,u,d);break;case"t":I=u,L=d,k=o[o.length-1],k.command==="Q"&&(I=u+(u-k.points[0]),L=d+(d-k.points[1])),u+=y.shift(),d+=y.shift(),E="Q",p.push(I,L,u,d);break;case"A":D=y.shift(),M=y.shift(),N=y.shift(),z=y.shift(),H=y.shift(),W=u,K=d,u=y.shift(),d=y.shift(),E="A",p=this.convertEndpointToCenterParameterization(W,K,u,d,z,H,D,M,N);break;case"a":D=y.shift(),M=y.shift(),N=y.shift(),z=y.shift(),H=y.shift(),W=u,K=d,u+=y.shift(),d+=y.shift(),E="A",p=this.convertEndpointToCenterParameterization(W,K,u,d,z,H,D,M,N);break}o.push({command:E||g,points:p,start:{x,y:O},pathLength:this.calcLength(x,O,E||g,p)})}(g==="z"||g==="Z")&&o.push({command:"z",points:[],start:void 0,pathLength:0})}return o}static calcLength(t,n,r,i){var a,o,c,u,d=tr;switch(r){case"L":return d.getLineLength(t,n,i[0],i[1]);case"C":return(0,qu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,qu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":a=0;var f=i[4],w=i[5],m=i[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;u-=g)c=d.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),a+=d.getLineLength(o.x,o.y,c.x,c.y),o=c;else for(u=f+g;u1&&(c*=Math.sqrt(g),u*=Math.sqrt(g));var y=Math.sqrt((c*c*(u*u)-c*c*(m*m)-u*u*(w*w))/(c*c*(m*m)+u*u*(w*w)));a===o&&(y*=-1),isNaN(y)&&(y=0);var C=y*c*m/u,P=y*-u*w/c,S=(t+r)/2+Math.cos(f)*C-Math.sin(f)*P,E=(n+i)/2+Math.sin(f)*C+Math.cos(f)*P,p=function(M){return Math.sqrt(M[0]*M[0]+M[1]*M[1])},x=function(M,N){return(M[0]*N[0]+M[1]*N[1])/(p(M)*p(N))},O=function(M,N){return(M[0]*N[1]=1&&(D=0),o===0&&D>0&&(D=D-2*Math.PI),o===1&&D<0&&(D=D+2*Math.PI),[S,E,c,u,k,D,f,o]}}lh.Path=tr,tr.prototype.className="Path",tr.prototype._attrsAffectingSize=["data"],(0,iY._registerNode)(tr),nY.Factory.addGetterSetter(tr,"data"),Object.defineProperty(km,"__esModule",{value:!0}),km.Arrow=void 0;const Xp=Je,aY=A1,i_=je,oY=ht,a_=lh;let cc=class extends aY.Line{_sceneFunc(e){super._sceneFunc(e);var t=Math.PI*2,n=this.points(),r=n,i=this.tension()!==0&&n.length>4;i&&(r=this.getTensionPoints());var a=this.pointerLength(),o=n.length,c,u;if(i){const w=[r[r.length-4],r[r.length-3],r[r.length-2],r[r.length-1],n[o-2],n[o-1]],m=a_.Path.calcLength(r[r.length-4],r[r.length-3],"C",w),g=a_.Path.getPointOnQuadraticBezier(Math.min(1,1-a/m),w[0],w[1],w[2],w[3],w[4],w[5]);c=n[o-2]-g.x,u=n[o-1]-g.y}else c=n[o-2]-n[o-4],u=n[o-1]-n[o-3];var d=(Math.atan2(u,c)+t)%t,f=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(n[o-2],n[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(n[0],n[1]),i?(c=(r[0]+r[2])/2-n[0],u=(r[1]+r[3])/2-n[1]):(c=n[2]-n[0],u=n[3]-n[1]),e.rotate((Math.atan2(-u,-c)+t)%t),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){var t=this.dashEnabled();t&&(this.attrs.dashEnabled=!1,e.setLineDash([])),e.fillStrokeShape(this),t&&(this.attrs.dashEnabled=!0)}getSelfRect(){const e=super.getSelfRect(),t=this.pointerWidth()/2;return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}};km.Arrow=cc,cc.prototype.className="Arrow",(0,oY._registerNode)(cc),Xp.Factory.addGetterSetter(cc,"pointerLength",10,(0,i_.getNumberValidator)()),Xp.Factory.addGetterSetter(cc,"pointerWidth",10,(0,i_.getNumberValidator)()),Xp.Factory.addGetterSetter(cc,"pointerAtBeginning",!1),Xp.Factory.addGetterSetter(cc,"pointerAtEnding",!0);var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0}),Lm.Circle=void 0;const sY=Je,lY=lr,cY=je,uY=ht;class Qu extends lY.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}Lm.Circle=Qu,Qu.prototype._centroid=!0,Qu.prototype.className="Circle",Qu.prototype._attrsAffectingSize=["radius"],(0,uY._registerNode)(Qu),sY.Factory.addGetterSetter(Qu,"radius",0,(0,cY.getNumberValidator)());var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.Ellipse=void 0;const Vv=Je,dY=lr,o_=je,hY=ht;let Ns=class extends dY.Shape{_sceneFunc(e){var t=this.radiusX(),n=this.radiusY();e.beginPath(),e.save(),t!==n&&e.scale(1,n/t),e.arc(0,0,t,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}};Mm.Ellipse=Ns,Ns.prototype.className="Ellipse",Ns.prototype._centroid=!0,Ns.prototype._attrsAffectingSize=["radiusX","radiusY"],(0,hY._registerNode)(Ns),Vv.Factory.addComponentsGetterSetter(Ns,"radius",["x","y"]),Vv.Factory.addGetterSetter(Ns,"radiusX",0,(0,o_.getNumberValidator)()),Vv.Factory.addGetterSetter(Ns,"radiusY",0,(0,o_.getNumberValidator)());var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0}),Tm.Image=void 0;const Uv=kn,uc=Je,fY=lr,pY=ht,b0=je;let Za=class DT extends fY.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),a=this.attrs.image;let o;if(a){const c=this.attrs.cropWidth,u=this.attrs.cropHeight;c&&u?o=[a,this.cropX(),this.cropY(),c,u,0,0,n,r]:o=[a,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Uv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),a&&(i&&t.clip(),t.drawImage.apply(t,o))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Uv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Uv.Util.createImageElement();i.onload=function(){var a=new DT({image:i});n(a)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};Tm.Image=Za,Za.prototype.className="Image",(0,pY._registerNode)(Za),uc.Factory.addGetterSetter(Za,"cornerRadius",0,(0,b0.getNumberOrArrayOfNumbersValidator)(4)),uc.Factory.addGetterSetter(Za,"image"),uc.Factory.addComponentsGetterSetter(Za,"crop",["x","y","width","height"]),uc.Factory.addGetterSetter(Za,"cropX",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropY",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropWidth",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropHeight",0,(0,b0.getNumberValidator)());var zd={};Object.defineProperty(zd,"__esModule",{value:!0}),zd.Tag=zd.Label=void 0;const Yp=Je,gY=lr,mY=oh,Wv=je,NT=ht;var RT=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],vY="Change.konva",yY="none",a8="up",o8="right",s8="down",l8="left",bY=RT.length;let Xv=class extends mY.Group{constructor(e){super(e),this.on("add.konva",function(t){this._addListeners(t.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){var t=this,n,r=function(){t._sync()};for(n=0;n{n=Math.min(n,o.x),r=Math.max(r,o.x),i=Math.min(i,o.y),a=Math.max(a,o.y)}),{x:n,y:i,width:r-n,height:a-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Am.RegularPolygon=hc,hc.prototype.className="RegularPolygon",hc.prototype._centroid=!0,hc.prototype._attrsAffectingSize=["radius"],(0,EY._registerNode)(hc),s_.Factory.addGetterSetter(hc,"radius",0,(0,l_.getNumberValidator)()),s_.Factory.addGetterSetter(hc,"sides",0,(0,l_.getNumberValidator)());var Im={};Object.defineProperty(Im,"__esModule",{value:!0}),Im.Ring=void 0;const c_=Je,PY=lr,u_=je,kY=ht;var d_=Math.PI*2;class fc extends PY.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,d_,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),d_,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Im.Ring=fc,fc.prototype.className="Ring",fc.prototype._centroid=!0,fc.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,kY._registerNode)(fc),c_.Factory.addGetterSetter(fc,"innerRadius",0,(0,u_.getNumberValidator)()),c_.Factory.addGetterSetter(fc,"outerRadius",0,(0,u_.getNumberValidator)());var Fm={};Object.defineProperty(Fm,"__esModule",{value:!0}),Fm.Sprite=void 0;const pc=Je,LY=lr,MY=sh,h_=je,TY=ht;class $a extends LY.Shape{constructor(t){super(t),this._updated=!0,this.anim=new MY.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,a=this.animations()[n],o=this.frameOffsets(),c=a[i+0],u=a[i+1],d=a[i+2],f=a[i+3],w=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,d,f),t.closePath(),t.fillStrokeShape(this)),w)if(o){var m=o[n],g=r*2;t.drawImage(w,c,u,d,f,m[g+0],m[g+1],d,f)}else t.drawImage(w,c,u,d,f,0,0,d,f)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,a=this.animations()[n],o=this.frameOffsets(),c=a[i+2],u=a[i+3];if(t.beginPath(),o){var d=o[n],f=r*2;t.rect(d[f+0],d[f+1],c,u)}else t.rect(0,0,c,u);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],a=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t='"'.concat(t,'"')),t}).join(", ")}var $v;function qv(){return $v||($v=c8.Util.createCanvasElement().getContext(jY),$v)}function ZY(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function $Y(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function qY(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}let Fn=class extends FY.Shape{constructor(e){super(qY(e)),this._partialTextX=0,this._partialTextY=0;for(var t=0;t1&&(S+=a)}}}_hitFunc(e){var t=this.getWidth(),n=this.getHeight();e.beginPath(),e.rect(0,0,t,n),e.closePath(),e.fillStrokeShape(this)}setText(e){var t=c8.Util._isString(e)?e:e==null?"":e+"";return this._setAttr(zY,t),this}getWidth(){var e=this.attrs.width===Ju||this.attrs.width===void 0;return e?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var e=this.attrs.height===Ju||this.attrs.height===void 0;return e?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return c8.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var t=qv(),n=this.fontSize(),r;return t.save(),t.font=this._getContextFont(),r=t.measureText(e),t.restore(),{width:r.width,height:n}}_getContextFont(){return this.fontStyle()+Zp+this.fontVariant()+Zp+(this.fontSize()+VY)+KY(this.fontFamily())}_addTextLine(e){this.align()===w0&&(e=e.trim());var t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){var t=this.letterSpacing(),n=e.length;return qv().measureText(e).width+(n?t*(n-1):0)}_setTextData(){var e=this.text().split("\n"),t=+this.fontSize(),n=0,r=this.lineHeight()*t,i=this.attrs.width,a=this.attrs.height,o=i!==Ju&&i!==void 0,c=a!==Ju&&a!==void 0,u=this.padding(),d=i-u*2,f=a-u*2,w=0,m=this.wrap(),g=m!==v_,y=m!==XY&&g,C=this.ellipsis();this.textArr=[],qv().font=this._getContextFont();for(var P=C?this._getTextWidth(Zv):0,S=0,E=e.length;Sd)for(;p.length>0;){for(var O=0,k=p.length,I="",L=0;O>>1,M=p.slice(0,D+1),N=this._getTextWidth(M)+P;N<=d?(O=D+1,I=M,L=N):k=D}if(I){if(y){var z,H=p[I.length],W=H===Zp||H===f_;W&&L<=d?z=I.length:z=Math.max(I.lastIndexOf(Zp),I.lastIndexOf(f_))+1,z>0&&(O=z,I=I.slice(0,O),L=this._getTextWidth(I))}I=I.trimRight(),this._addTextLine(I),n=Math.max(n,L),w+=r;var K=this._shouldHandleEllipsis(w);if(K){this._tryToAddEllipsisToLastLine();break}if(p=p.slice(O),p=p.trimLeft(),p.length>0&&(x=this._getTextWidth(p),x<=d)){this._addTextLine(p),w+=r,n=Math.max(n,x);break}}else break}else this._addTextLine(p),w+=r,n=Math.max(n,x),this._shouldHandleEllipsis(w)&&Sf)break}this.textHeight=t,this.textWidth=n}_shouldHandleEllipsis(e){var t=+this.fontSize(),n=this.lineHeight()*t,r=this.attrs.height,i=r!==Ju&&r!==void 0,a=this.padding(),o=r-a*2,c=this.wrap(),u=c!==v_;return!u||i&&e+n>o}_tryToAddEllipsisToLastLine(){var e=this.attrs.width,t=e!==Ju&&e!==void 0,n=this.padding(),r=e-n*2,i=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!i)){if(t){var o=this._getTextWidth(a.text+Zv)n?null:x0.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=x0.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),a=this.glyphInfo;n==="underline"&&t.beginPath();for(var o=0;o=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+".".concat(GT)).join(" "),__="nodesRect",aK=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],oK={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const sK="ontouchstart"in Sa.Konva._global;function lK(e,t,n){if(e==="rotater")return n;t+=Yt.Util.degToRad(oK[e]||0);var r=(Yt.Util.radToDeg(t)%360+360)%360;return Yt.Util._inRange(r,315+22.5,360)||Yt.Util._inRange(r,0,22.5)?"ns-resize":Yt.Util._inRange(r,45-22.5,45+22.5)?"nesw-resize":Yt.Util._inRange(r,90-22.5,90+22.5)?"ew-resize":Yt.Util._inRange(r,135-22.5,135+22.5)?"nwse-resize":Yt.Util._inRange(r,180-22.5,180+22.5)?"ns-resize":Yt.Util._inRange(r,225-22.5,225+22.5)?"nesw-resize":Yt.Util._inRange(r,270-22.5,270+22.5)?"ew-resize":Yt.Util._inRange(r,315-22.5,315+22.5)?"nwse-resize":(Yt.Util.error("Transformer has unknown angle for cursor detection: "+r),"pointer")}var jm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];function cK(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function VT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return qf(Xn({},e),{rotation:e.rotation+t,x:r,y:i})}function uK(e,t){const n=cK(e);return VT(e,t,n)}function dK(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Yt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const a=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=i._attrsAffectingSize.map(c=>c+"Change."+this._getEventNamespace()).join(" ");i.on(o,a),i.on(aK.map(c=>c+".".concat(this._getEventNamespace())).join(" "),a),i.on("absoluteTransformChange.".concat(this._getEventNamespace()),a),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on("dragstart.".concat(this._getEventNamespace()),r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on("dragmove.".concat(this._getEventNamespace()),r=>{if(!n)return;const i=t.getAbsolutePosition(),a=i.x-n.x,o=i.y-n.y;this.nodes().forEach(c=>{if(c===t||c.isDragging())return;const u=c.getAbsolutePosition();c.setAbsolutePosition({x:u.x+a,y:u.y+o}),c.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(__),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(__,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),a=t.getAbsoluteScale(r),o=t.getAbsolutePosition(r),c=i.x*a.x-t.offsetX()*a.x,u=i.y*a.y-t.offsetY()*a.y;const d=(Sa.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),f={x:o.x+c*Math.cos(d)+u*Math.sin(-d),y:o.y+u*Math.cos(d)+c*Math.sin(d),width:i.width*a.x,height:i.height*a.y,rotation:d};return VT(f,-Sa.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-1e8,y:-1e8,width:0,height:0,rotation:0};const n=[];this.nodes().map(d=>{const f=d.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var w=[{x:f.x,y:f.y},{x:f.x+f.width,y:f.y},{x:f.x+f.width,y:f.y+f.height},{x:f.x,y:f.y+f.height}],m=d.getAbsoluteTransform();w.forEach(function(g){var y=m.point(g);n.push(y)})});const r=new Yt.Transform;r.rotate(-Sa.Konva.getAngle(this.rotation()));var i=1/0,a=1/0,o=-1/0,c=-1/0;n.forEach(function(d){var f=r.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),r.invert();const u=r.point({x:i,y:a});return{x:u.x,y:u.y,width:o-i,height:c-a,rotation:Sa.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),jm.forEach(t=>{this._createAnchor(t)}),this._createAnchor("rotater")}_createAnchor(t){var n=new nK.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:sK?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Sa.Konva.getAngle(this.rotation()),a=this.rotateAnchorCursor(),o=lK(t,i,a);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new tK.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n,r){var i=r.getParent(),a=i.padding();n.beginPath(),n.rect(-a,-a,r.width()+a*2,r.height()+a*2),n.moveTo(r.width()/2,-a),i.rotateEnabled()&&i.rotateLineVisible()&&n.lineTo(r.width()/2,-i.rotateAnchorOffset()*Yt.Util._sign(r.height())-a),n.fillStrokeShape(r)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,a=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/a),this.cos=Math.abs(r/a),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var o=t.target.getAbsolutePosition(),c=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:c.x-o.x,y:c.y-o.y},u8++,this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(u=>{u._fire("transformstart",{evt:t.evt,target:u})})}_handleMouseMove(t){var n,r,i,a=this.findOne("."+this._movingAnchorName),o=a.getStage();o.setPointersPositions(t);const c=o.getPointerPosition();let u={x:c.x-this._anchorDragOffset.x,y:c.y-this._anchorDragOffset.y};const d=a.getAbsolutePosition();this.anchorDragBoundFunc()&&(u=this.anchorDragBoundFunc()(d,u,t)),a.setAbsolutePosition(u);const f=a.getAbsolutePosition();if(!(d.x===f.x&&d.y===f.y)){if(this._movingAnchorName==="rotater"){var w=this._getNodeRect();n=a.x()-w.width/2,r=-a.y()+w.height/2;let H=Math.atan2(-r,n)+Math.PI/2;w.height<0&&(H-=Math.PI);var m=Sa.Konva.getAngle(this.rotation());const W=m+H,K=Sa.Konva.getAngle(this.rotationSnapTolerance()),G=dK(this.rotationSnaps(),W,K)-w.rotation,q=uK(w,G);this._fitNodesInto(q,t);return}var g=this.shiftBehavior(),y;g==="inverted"?y=this.keepRatio()&&!t.shiftKey:g==="none"?y=this.keepRatio():y=this.keepRatio()||t.shiftKey;var p=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(C.x-a.x(),2)+Math.pow(C.y-a.y(),2));var P=this.findOne(".top-left").x()>C.x?-1:1,S=this.findOne(".top-left").y()>C.y?-1:1;n=i*this.cos*P,r=i*this.sin*S,this.findOne(".top-left").x(C.x-n),this.findOne(".top-left").y(C.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(a.y());else if(this._movingAnchorName==="top-right"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(a.x()-C.x,2)+Math.pow(C.y-a.y(),2));var P=this.findOne(".top-right").x()C.y?-1:1;n=i*this.cos*P,r=i*this.sin*S,this.findOne(".top-right").x(C.x+n),this.findOne(".top-right").y(C.y-r)}var E=a.position();this.findOne(".top-left").y(E.y),this.findOne(".bottom-right").x(E.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(a.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(a.x());else if(this._movingAnchorName==="bottom-left"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(C.x-a.x(),2)+Math.pow(a.y()-C.y,2));var P=C.x{var a;i._fire("transformend",{evt:t,target:i}),(a=i.getLayer())===null||a===void 0||a.batchDraw()}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Yt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Yt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}var a=new Yt.Transform;if(a.rotate(Sa.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const m=a.point({x:-this.padding()*2,y:0});t.x+=m.x,t.y+=m.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const m=a.point({x:this.padding()*2,y:0});this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.width+=this.padding()*2}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const m=a.point({x:0,y:-this.padding()*2});t.x+=m.x,t.y+=m.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.height+=this.padding()*2}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const m=a.point({x:0,y:this.padding()*2});this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.height+=this.padding()*2}if(this.boundBoxFunc()){const m=this.boundBoxFunc()(r,t);m?t=m:Yt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const o=1e7,c=new Yt.Transform;c.translate(r.x,r.y),c.rotate(r.rotation),c.scale(r.width/o,r.height/o);const u=new Yt.Transform,d=t.width/o,f=t.height/o;this.flipEnabled()===!1?(u.translate(t.x,t.y),u.rotate(t.rotation),u.translate(t.width<0?t.width:0,t.height<0?t.height:0),u.scale(Math.abs(d),Math.abs(f))):(u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(d,f));const w=u.multiply(c.invert());this._nodes.forEach(m=>{var g;const y=m.getParent().getAbsoluteTransform(),C=m.getTransform().copy();C.translate(m.offsetX(),m.offsetY());const P=new Yt.Transform;P.multiply(y.copy().invert()).multiply(w).multiply(y).multiply(C);const S=P.decompose();m.setAttrs(S),(g=m.getLayer())===null||g===void 0||g.batchDraw()}),this.rotation(Yt.Util._getRotation(t.rotation)),this._nodes.forEach(m=>{this._fire("transform",{evt:n,target:m}),m._fire("transform",{evt:n,target:m})}),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Yt.Util._getRotation(n.rotation));var r=n.width,i=n.height,a=this.enabledAnchors(),o=this.resizeEnabled(),c=this.padding(),u=this.anchorSize();const d=this.find("._anchor");d.forEach(w=>{w.setAttrs({width:u,height:u,offsetX:u/2,offsetY:u/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:u/2+c,offsetY:u/2+c,visible:o&&a.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:u/2+c,visible:o&&a.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:u/2-c,offsetY:u/2+c,visible:o&&a.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:u/2+c,visible:o&&a.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:u/2-c,visible:o&&a.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:u/2+c,offsetY:u/2-c,visible:o&&a.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:u/2-c,visible:o&&a.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:u/2-c,offsetY:u/2-c,visible:o&&a.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Yt.Util._sign(i)-c,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const f=this.anchorStyleFunc();f&&d.forEach(w=>{f(w)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),S_.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return C_.Node.prototype.toObject.call(this)}clone(t){var n=C_.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Rm.Transformer=Ct,Ct.isTransforming=()=>u8>0;function hK(e){return e instanceof Array||Yt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){jm.indexOf(t)===-1&&Yt.Util.warn("Unknown anchor name: "+t+". Available names are: "+jm.join(", "))}),e||[]}Ct.prototype.className="Transformer",(0,rK._registerNode)(Ct),Dt.Factory.addGetterSetter(Ct,"enabledAnchors",jm,hK),Dt.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,zs.getBooleanValidator)()),Dt.Factory.addGetterSetter(Ct,"resizeEnabled",!0),Dt.Factory.addGetterSetter(Ct,"anchorSize",10,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"rotateEnabled",!0),Dt.Factory.addGetterSetter(Ct,"rotateLineVisible",!0),Dt.Factory.addGetterSetter(Ct,"rotationSnaps",[]),Dt.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"rotateAnchorCursor","crosshair"),Dt.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderEnabled",!0),Dt.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)"),Dt.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"anchorFill","white"),Dt.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)"),Dt.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderDash"),Dt.Factory.addGetterSetter(Ct,"keepRatio",!0),Dt.Factory.addGetterSetter(Ct,"shiftBehavior","default"),Dt.Factory.addGetterSetter(Ct,"centeredScaling",!1),Dt.Factory.addGetterSetter(Ct,"ignoreStroke",!1),Dt.Factory.addGetterSetter(Ct,"padding",0,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"node"),Dt.Factory.addGetterSetter(Ct,"nodes"),Dt.Factory.addGetterSetter(Ct,"boundBoxFunc"),Dt.Factory.addGetterSetter(Ct,"anchorDragBoundFunc"),Dt.Factory.addGetterSetter(Ct,"anchorStyleFunc"),Dt.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1),Dt.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0),Dt.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var zm={};Object.defineProperty(zm,"__esModule",{value:!0}),zm.Wedge=void 0;const $p=Je,fK=lr,pK=ht,O_=je,gK=ht;class Ao extends fK.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,pK.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}zm.Wedge=Ao,Ao.prototype.className="Wedge",Ao.prototype._centroid=!0,Ao.prototype._attrsAffectingSize=["radius"],(0,gK._registerNode)(Ao),$p.Factory.addGetterSetter(Ao,"radius",0,(0,O_.getNumberValidator)()),$p.Factory.addGetterSetter(Ao,"angle",0,(0,O_.getNumberValidator)()),$p.Factory.addGetterSetter(Ao,"clockwise",!1),$p.Factory.backCompat(Ao,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.Blur=void 0;const E_=Je,mK=vn,vK=je;function P_(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var yK=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],bK=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function wK(e,t){var n=e.data,r=e.width,i=e.height,a,o,c,u,d,f,w,m,g,y,C,P,S,E,p,x,O,k,I,L,D,M,N,z,H=t+t+1,W=r-1,K=i-1,G=t+1,q=G*(G+1)/2,U=new P_,J=null,Q=U,ae=null,ie=null,oe=yK[t],ue=bK[t];for(c=1;c>ue,N!==0?(N=255/N,n[f]=(m*oe>>ue)*N,n[f+1]=(g*oe>>ue)*N,n[f+2]=(y*oe>>ue)*N):n[f]=n[f+1]=n[f+2]=0,m-=P,g-=S,y-=E,C-=p,P-=ae.r,S-=ae.g,E-=ae.b,p-=ae.a,u=w+((u=a+t+1)>ue,N>0?(N=255/N,n[u]=(m*oe>>ue)*N,n[u+1]=(g*oe>>ue)*N,n[u+2]=(y*oe>>ue)*N):n[u]=n[u+1]=n[u+2]=0,m-=P,g-=S,y-=E,C-=p,P-=ae.r,S-=ae.g,E-=ae.b,p-=ae.a,u=a+((u=o+G)0&&wK(e,t)};Bm.Blur=xK,E_.Factory.addGetterSetter(mK.Node,"blurRadius",0,(0,vK.getNumberValidator)(),E_.Factory.afterSetFilter);var Hm={};Object.defineProperty(Hm,"__esModule",{value:!0}),Hm.Brighten=void 0;const k_=Je,CK=vn,SK=je,_K=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,a=a<0?0:a>255?255:a,o=o<0?0:o>255?255:o,n[c]=i,n[c+1]=a,n[c+2]=o};Gm.Contrast=PK,L_.Factory.addGetterSetter(OK.Node,"contrast",0,(0,EK.getNumberValidator)(),L_.Factory.afterSetFilter);var Vm={};Object.defineProperty(Vm,"__esModule",{value:!0}),Vm.Emboss=void 0;const Bs=Je,qp=vn,kK=kn,M_=je,LK=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),a=0,o=0,c=e.data,u=e.width,d=e.height,f=u*4,w=d;switch(r){case"top-left":a=-1,o=-1;break;case"top":a=-1,o=0;break;case"top-right":a=-1,o=1;break;case"right":a=0,o=1;break;case"bottom-right":a=1,o=1;break;case"bottom":a=1,o=0;break;case"bottom-left":a=1,o=-1;break;case"left":a=0,o=-1;break;default:kK.Util.error("Unknown emboss direction: "+r)}do{var m=(w-1)*f,g=a;w+g<1&&(g=0),w+g>d&&(g=0);var y=(w-1+g)*u*4,C=u;do{var P=m+(C-1)*4,S=o;C+S<1&&(S=0),C+S>u&&(S=0);var E=y+(C-1+S)*4,p=c[P]-c[E],x=c[P+1]-c[E+1],O=c[P+2]-c[E+2],k=p,I=k>0?k:-k,L=x>0?x:-x,D=O>0?O:-O;if(L>I&&(k=x),D>I&&(k=O),k*=t,i){var M=c[P]+k,N=c[P+1]+k,z=c[P+2]+k;c[P]=M>255?255:M<0?0:M,c[P+1]=N>255?255:N<0?0:N,c[P+2]=z>255?255:z<0?0:z}else{var H=n-k;H<0?H=0:H>255&&(H=255),c[P]=c[P+1]=c[P+2]=H}}while(--C)}while(--w)};Vm.Emboss=LK,Bs.Factory.addGetterSetter(qp.Node,"embossStrength",.5,(0,M_.getNumberValidator)(),Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossWhiteLevel",.5,(0,M_.getNumberValidator)(),Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossDirection","top-left",null,Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossBlend",!1,null,Bs.Factory.afterSetFilter);var Um={};Object.defineProperty(Um,"__esModule",{value:!0}),Um.Enhance=void 0;const T_=Je,MK=vn,TK=je;function ey(e,t,n,r,i){var a=n-t,o=i-r,c;return a===0?r+o/2:o===0?r:(c=(e-t)/a,c=o*c+r,c)}const AK=function(e){var t=e.data,n=t.length,r=t[0],i=r,a,o=t[1],c=o,u,d=t[2],f=d,w,m,g=this.enhance();if(g!==0){for(m=0;mi&&(i=a),u=t[m+1],uc&&(c=u),w=t[m+2],wf&&(f=w);i===r&&(i=255,r=0),c===o&&(c=255,o=0),f===d&&(f=255,d=0);var y,C,P,S,E,p,x,O,k;for(g>0?(C=i+g*(255-i),P=r-g*(r-0),E=c+g*(255-c),p=o-g*(o-0),O=f+g*(255-f),k=d-g*(d-0)):(y=(i+r)*.5,C=i+g*(i-y),P=r+g*(r-y),S=(c+o)*.5,E=c+g*(c-S),p=o+g*(o-S),x=(f+d)*.5,O=f+g*(f-x),k=d+g*(d-x)),m=0;mS?P:S;var E=o,p=a,x,O,k=360/p*Math.PI/180,I,L;for(O=0;Op?E:p;var x=o,O=a,k,I,L=0,D,M;for(f=0;ft&&(x=p,O=0,k=-1),i=0;i=0&&g=0&&y=0&&g=0&&y=255*4?255:0}return o}function YK(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),a=Math.floor(i/2),o=[],c=0;c=0&&g=0&&y=n))for(a=C;a=r||(o=(n*a+i)*4,c+=x[o+0],u+=x[o+1],d+=x[o+2],f+=x[o+3],p+=1);for(c=c/p,u=u/p,d=d/p,f=f/p,i=g;i=n))for(a=C;a=r||(o=(n*a+i)*4,x[o+0]=c,x[o+1]=u,x[o+2]=d,x[o+3]=f)}};Qm.Pixelate=tZ,R_.Factory.addGetterSetter(JK.Node,"pixelSize",8,(0,eZ.getNumberValidator)(),R_.Factory.afterSetFilter);var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.Posterize=void 0;const j_=Je,nZ=vn,rZ=je,iZ=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,a;for(a=0;a255?255:e<0?0:Math.round(e)}),e2.Factory.addGetterSetter(ay.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),e2.Factory.addGetterSetter(ay.Node,"blue",0,aZ.RGBComponent,e2.Factory.afterSetFilter);var t3={};Object.defineProperty(t3,"__esModule",{value:!0}),t3.RGBA=void 0;const S0=Je,t2=vn,sZ=je,lZ=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),a=this.blue(),o=this.alpha(),c,u;for(c=0;c255?255:e<0?0:Math.round(e)}),S0.Factory.addGetterSetter(t2.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),S0.Factory.addGetterSetter(t2.Node,"blue",0,sZ.RGBComponent,S0.Factory.afterSetFilter),S0.Factory.addGetterSetter(t2.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var n3={};Object.defineProperty(n3,"__esModule",{value:!0}),n3.Sepia=void 0;const cZ=function(e){var t=e.data,n=t.length,r,i,a,o;for(r=0;r127&&(d=255-d),f>127&&(f=255-f),w>127&&(w=255-w),t[u]=d,t[u+1]=f,t[u+2]=w}while(--c)}while(--a)};r3.Solarize=uZ;var i3={};Object.defineProperty(i3,"__esModule",{value:!0}),i3.Threshold=void 0;const z_=Je,dZ=vn,hZ=je,fZ=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(c){throw c},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return a=c.done,c},e:function(c){o=!0},f:function c(){try{a||n.return==null||n.return()}finally{if(o)throw c}}}}function JZ(e,t){if(e){if(typeof e=="string")return G_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G_(e,t):void 0}}function G_(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nn?-1:n,n=~~(255*n),[t[0]+n,t[1]+n,t[2]+n]}},contrast:function(e){return function(t){var n=e;n*=255;var r=259*(n+255)/(255*(259-n));return[r*(t[0]-128)+128,r*(t[1]-128)+128,r*(t[2]-128)+128]}},saturation:function(e){return function(t){var n=e;n=-1>n?-1:n;var r=t[0],i=t[1],a=t[2],o=.2989*r+.587*i+.114*a;return[-o*n+r*(1+n),-o*n+i*(1+n),-o*n+a*(1+n)]}},grayscale:function(){return function(e){var t=e[0],n=e[1],r=e[2];return[,,,].fill(.2126*t+.7152*n+.0722*r)}},sepia:function(e){return function(t){var n=t[0],r=t[1],i=t[2];return[n*(1-.607*e)+.769*r*e+.189*i*e,.349*n*e+r*(1-.314*e)+.168*i*e,.272*n*e+.534*r*e+i*(1-.869*e)]}},adjustRGB:function(e){return function(t){return[t[0]*e[0],t[1]*e[1],t[2]*e[2]]}},colorFilter:function(e){return function(t){var n=t[0],r=t[1],i=t[2],a=e[3];return[n-(n-e[0])*a,r-(r-e[1])*a,i-(i-e[2])*a]}}};function D7(e){me.apply(e,function(t){var n=(t[0]+t[1]+t[2])/3>100,r=n?255:0;return[r,r,r]})}D7.filterName="BlackAndWhite";var e$=.1,t$=.1,n$=.15;function N7(e){me.apply(e,me.brightness(e$),me.contrast(t$),me.saturation(n$))}N7.filterName="Clarendon";var r$=.04,i$=-.15;function R7(e){me.apply(e,me.sepia(r$),me.contrast(i$))}R7.filterName="Gingham";var a$=.1;function j7(e){me.apply(e,me.grayscale(),me.brightness(a$));var t=e.data;t.length}j7.filterName="Moon";var o$=.08,s$=[1,1.03,1.05],l$=.12;function z7(e){me.apply(e,me.brightness(o$),me.adjustRGB(s$),me.saturation(l$))}z7.filterName="Lark";var c$=.4,u$=.13,d$=-.05;function B7(e){me.apply(e,me.sepia(c$),me.brightness(u$),me.contrast(d$))}B7.filterName="Reyes";var h$=[1.01,1.04,1],f$=.3;function H7(e){me.apply(e,me.adjustRGB(h$),me.saturation(f$))}H7.filterName="Juno";var p$=.1,g$=-.5;function G7(e){me.apply(e,me.brightness(p$),me.saturation(g$))}G7.filterName="Slumber";var m$=[1.04,1,1.02],v$=-.05;function V7(e){me.apply(e,me.adjustRGB(m$),me.saturation(v$))}V7.filterName="Crema";var y$=.05,b$=-.03;function U7(e){me.apply(e,me.brightness(y$),me.saturation(b$))}U7.filterName="Ludwig";var w$=[228,130,225,.13],x$=-.2;function W7(e){me.apply(e,me.colorFilter(w$),me.saturation(x$))}W7.filterName="Aden";var C$=[1.05,1.1,1];function X7(e){me.apply(e,me.adjustRGB(C$))}X7.filterName="Perpetua";var S$=.3,_$=.15;function Y7(e){me.apply(e,me.saturation(S$),me.brightness(_$))}Y7.filterName="Amaro";var O$=[230,115,108,.05],E$=.15;function K7(e){me.apply(e,me.colorFilter(O$),me.saturation(E$))}K7.filterName="Mayfair";var P$=[255,170,0,.1],k$=.09,L$=.1;function Z7(e){me.apply(e,me.colorFilter(P$),me.brightness(k$),me.saturation(L$))}Z7.filterName="Rise";var M$=[1,1,1.25],T$=.1,A$=.15;function $7(e){me.apply(e,me.adjustRGB(M$),me.contrast(T$),me.brightness(A$))}$7.filterName="Hudson";var I$=[255,225,80,.08],F$=.1,D$=.05;function q7(e){me.apply(e,me.colorFilter(I$),me.saturation(F$),me.contrast(D$))}q7.filterName="Valencia";var N$=[255,255,0,.07],R$=.2,j$=.15;function Q7(e){me.apply(e,me.colorFilter(N$),me.saturation(R$),me.contrast(j$))}Q7.filterName="XPro2";var z$=-.15,B$=.1;function J7(e){me.apply(e,me.contrast(z$),me.saturation(B$))}J7.filterName="Sierra";var H$=[100,28,210,.03],G$=.1;function e9(e){me.apply(e,me.grayscale(),me.colorFilter(H$),me.brightness(G$))}e9.filterName="Willow";var V$=.15,U$=.2;function t9(e){me.apply(e,me.contrast(V$),me.saturation(U$))}t9.filterName="LoFi";var W$=.1,X$=.15;function n9(e){me.apply(e,me.contrast(W$),me.saturation(X$))}n9.filterName="Hefe";var Y$=[220,115,188,.12],K$=-.05;function r9(e){me.apply(e,me.colorFilter(Y$),me.contrast(K$))}r9.filterName="Nashville";var Z$=.1,$$=.3;function i9(e){me.apply(e,me.brightness(Z$),me.sepia($$))}i9.filterName="Stinson";var q$=[255,225,0,.05],Q$=.06,J$=.06;function a9(e){me.apply(e,me.colorFilter(q$),me.brightness(Q$),me.contrast(J$))}a9.filterName="Vesper";var eq=[255,165,40,.2];function o9(e){me.apply(e,me.colorFilter(eq))}o9.filterName="Earlybird";var tq=.2,nq=[140,10,185,.1];function s9(e){me.apply(e,me.contrast(tq),me.colorFilter(nq))}s9.filterName="Brannan";var rq=-.1,iq=-.1;function l9(e){me.apply(e,me.brightness(rq),me.saturation(iq))}l9.filterName="Sutro";var aq=.1,oq=[255,145,0,.2];function c9(e){me.apply(e,me.sepia(aq),me.colorFilter(oq))}c9.filterName="Toaster";var sq=.1,lq=[255,255,0,.2];function u9(e){me.apply(e,me.brightness(sq),me.colorFilter(lq))}u9.filterName="Walden";var cq=[255,25,0,.15],uq=.1;function d9(e){me.apply(e,me.colorFilter(cq),me.brightness(uq))}d9.filterName="NinteenSeventySeven";var dq=[255,140,0,.1],hq=[1.15,1.05,1],fq=.35;function h9(e){me.apply(e,me.colorFilter(dq),me.adjustRGB(hq),me.saturation(fq))}h9.filterName="Kelvin";var pq=[225,240,0,.1],gq=.25,mq=.05;function f9(e){me.apply(e,me.colorFilter(pq),me.saturation(gq),me.contrast(mq))}f9.filterName="Maven";var vq=.06,yq=.1;function p9(e){me.apply(e,me.sepia(vq),me.brightness(yq))}p9.filterName="Ginza";var bq=.35,wq=.1;function g9(e){me.apply(e,me.saturation(bq),me.brightness(wq))}g9.filterName="Skyline";var xq=.15,Cq=.1;function m9(e){me.apply(e,me.contrast(xq),me.brightness(Cq))}m9.filterName="Dogpatch";var Sq=[25,240,252,.05],_q=.3;function v9(e){me.apply(e,me.colorFilter(Sq),me.sepia(_q))}v9.filterName="Brooklyn";var Oq=[208,208,86,.2],Eq=.15;function y9(e){me.apply(e,me.colorFilter(Oq),me.contrast(Eq))}y9.filterName="Helena";var Pq=[255,160,25,.1],kq=.1;function b9(e){me.apply(e,me.colorFilter(Pq),me.brightness(kq))}b9.filterName="Ashby";var Lq=[255,50,80,.12],Mq=.05;function w9(e){me.apply(e,me.colorFilter(Lq),me.contrast(Mq))}w9.filterName="Charmes";const Tq=Object.freeze(Object.defineProperty({__proto__:null,Aden:W7,Amaro:Y7,Ashby:b9,BlackAndWhite:D7,Brannan:s9,Brooklyn:v9,Charmes:w9,Clarendon:N7,Crema:V7,Dogpatch:m9,Earlybird:o9,Gingham:R7,Ginza:p9,Hefe:n9,Helena:y9,Hudson:$7,Juno:H7,Kelvin:h9,Lark:z7,LoFi:t9,Ludwig:U7,Maven:f9,Mayfair:K7,Moon:j7,Nashville:r9,NinteenSeventySeven:d9,Perpetua:X7,Reyes:B7,Rise:Z7,Sierra:J7,Skyline:g9,Slumber:G7,Stinson:i9,Sutro:l9,Toaster:c9,Valencia:q7,Vesper:a9,Walden:u9,Willow:e9,XPro2:Q7},Symbol.toStringTag,{value:"Module"}));var UT=function(e){return e?Tq[e]||Sn.Filters[e]:null};function x9(e){for(var t=this.warmth(),n=e.data,r=n.length,i=0;i=t?255:0,n[i+1]=n[i+1]>=t?255:0,n[i+2]=n[i+2]>=t?255:0)}WT.finetuneName="CustomThreshold",Je.Factory.addGetterSetter(Sn.Image,"threshold",0,I7,Je.Factory.afterSetFilter);const Aq=Object.freeze(Object.defineProperty({__proto__:null,CustomThreshold:WT,Warmth:x9},Symbol.toStringTag,{value:"Module"}));var XT=function(e){return Array.isArray(e)&&0r.status)t(r.response);else{var i;console.warn("Error in sending translation key to backend ".concat((i=r.response)===null||i===void 0?void 0:i.hint,", ").concat(r.status)),n()}},r.onerror=function(){var i;console.warn("Error in sending translation key to backend ".concat((i=r.response)===null||i===void 0?void 0:i.hint,", ").concat(r.status)),n()},r.open("POST","https://neo.wordplex.io/api/import/request-translations?grid_uuid=".concat(t8)),r.send(JSON.stringify({grid_uuid:t8,translations_requests:e}))})},Vq=function(){var e=0a.status){(a.response||[]).forEach(function(f){Q2[i]=h8(h8({},Q2[i]),{},A({},f.translation_key,f.translations[i]))});var o=[];Object.keys(d8).forEach(function(f){var w;f&&!((w=Q2[i])!==null&&w!==void 0&&w[f])&&o.push({key:f,lang:i,default:d8[f]})}),0r,w=0>i;switch(t){case se.RECT:n?(c.width=Math.sqrt(u*u+d*d),c.height=c.width,c.x-=f?c.width-u:0,c.y-=w?c.height-d:0):(c.width=u,c.height=d);break;case se.ELLIPSE:n?(c.radiusX=Math.sqrt(u*u+d*d)/2,c.radiusY=c.radiusX,c.x-=f?2*c.radiusX-u:0,c.y-=w?2*c.radiusY-d:0):(c.radiusX=u/2,c.radiusY=d/2),c.offsetX=-c.radiusX,c.offsetY=-c.radiusY;break;case se.POLYGON:c.radius=(u+d)/2,c.x-=f?2*c.radius-u:0,c.y-=w?2*c.radius-d:0,c.offsetX=-c.radius,c.offsetY=-c.radius;break;case se.LINE:case se.ARROW:c.x=a,c.y=o,c.points=[0,0],n?c.points.push(u>=d?r:0,d>u?i:0):c.points=[0,0,r,i];break;default:c.width=u,c.height=d}return c},Qq=["id","x","y","points"],Jq=["startedX","startedY","offsetX","offsetY","width","height"];function oO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nd(e){for(var t,n=1;n=O0&&Vr.height>=O0||Vr.radiusX>=O0&&Vr.radiusY>=O0||(y=Vr.points)!==null&&y!==void 0&&y[2]||(C=Vr.points)!==null&&C!==void 0&&C[3]||Vr.radius>=O0)){var P=Vr;P.startedX,P.startedY,P.offsetX,P.offsetY;var S=P.width,E=P.height,p=fe(P,Jq);$q.includes(t.name)||(p.width=S,p.height=E),r(p,!0)}rd=null,E0=null,Vr=null,e.setAttrs({isDrawing:!1}),e.off("mousemove touchmove",f),e.off("mouseleave touchcancel",w),document.removeEventListener("mouseup",m,oi),document.removeEventListener("touchend",m,oi),document.removeEventListener("mouseleave",m,oi),document.removeEventListener("touchcancel",m,oi),document.removeEventListener("mousemove",u,oi),document.removeEventListener("touchmove",u,oi),qa.isOutOfCanvas=!1},g=function(y){var C;if(y.evt.preventDefault(),!(y.target.attrs.draggable||1<((C=y.evt.touches)===null||C===void 0?void 0:C.length))){d();var P=J2(n,i());qa.startedX=P.offsetX,qa.startedY=P.offsetY,qa.isOutOfCanvas=!1,e.on("mousemove touchmove",f),e.on("mouseleave touchcancel",w),document.addEventListener("mouseup",m,oi),document.addEventListener("touchend",m,oi),document.addEventListener("mouseleave",m,oi),document.addEventListener("touchcancel",m,oi)}};return e.on("mousedown touchstart",g),function(){d(),e.off("mousedown touchstart",g)}},eA=function(e,t){var n=2=i?0:function(){return 0>i&&-90=i&&-90<=i?0:function(){return 90>>32-t},P0=function(e){var t,n,r="";for(t=7;0<=t;t--)n=15&e>>>4*t,r+=n.toString(16);return r},lQ=function(e){for(var t,n=e.replace(/\r\n/g,"\n"),r="",i=0;it?r+=String.fromCharCode(t):127t?(r+=String.fromCharCode(192|t>>6),r+=String.fromCharCode(128|63&t)):(r+=String.fromCharCode(224|t>>12),r+=String.fromCharCode(128|63&t>>6),r+=String.fromCharCode(128|63&t));return r},cQ=function(e){var t,n,r,i,a,o,c,u,d,f=e,w=Array(80),m=1732584193,g=4023233417,y=2562383102,C=271733878,P=3285377520;f=lQ(f);var S=f.length,E=[];for(n=0;n>>29),E.push(4294967295&S<<3),t=0;tn;n++)w[n]=E[t+n];for(n=16;79>=n;n++)w[n]=Io(w[n-3]^w[n-8]^w[n-14]^w[n-16],1);for(i=m,a=g,o=y,c=C,u=P,n=0;19>=n;n++)d=4294967295&Io(i,5)+(a&o|~a&c)+u+w[n]+1518500249,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=20;39>=n;n++)d=4294967295&Io(i,5)+(a^o^c)+u+w[n]+1859775393,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=40;59>=n;n++)d=4294967295&Io(i,5)+(a&o|a&c|o&c)+u+w[n]+2400959708,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=60;79>=n;n++)d=4294967295&Io(i,5)+(a^o^c)+u+w[n]+3395469782,u=c,c=o,o=Io(a,30),a=i,i=d;m=4294967295&m+i,g=4294967295&g+a,y=4294967295&y+o,C=4294967295&C+c,P=4294967295&P+u}return d=P0(m)+P0(g)+P0(y)+P0(C)+P0(P),d.toLowerCase()},uQ=function(e){return btoa(e).replace(/=*$/g,"")},dQ=function(e,t){return cQ(e).slice(0,t)},hQ=function(e,t,n,r){var i=uQ(e),a=dQ(t+i+n,r);return[a?"ci_seal=".concat(a):"",i?"ci_eqs=".concat(i):""].filter(function(o){return o}).join("&")},fQ=function(e,t,n){var r=t||{},i=r.salt,a=r.charCount,o=r.includeParams,c=o===void 0?[]:o,u=!c||(c==null?void 0:c.length)===0,d="",f="",w=[],m=[];return e.split("&").forEach(function(g){var y=g.split("="),C=ke(y,1),P=C[0];-1<(c==null?void 0:c.indexOf(P))||u?w.push(g):m.push(g)}),0y?i*f/C:a*m/P),2);return"".concat(p,"&wat_opacity=").concat(u,"&wat_scale=").concat(M,"p").concat(D?"&wat_url=".concat(encodeURIComponent(D)):"")},eg={Brighten:{cloudimage:{name:"bright",min:-100,max:100},internal:{propName:"brightness",min:-1,max:1}},Contrast:{cloudimage:{name:"contrast",min:-100,max:100},internal:{propName:"contrast",min:-100,max:100}},Blur:{cloudimage:{name:"blur",min:0,max:100},internal:{propName:"blurRadius",min:0,max:100}}},xQ=function(e){var t=1 input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}"]),zQ=$.span.attrs({className:ve(wh,"label")}).withConfig({componentId:"sc-jjink6-4"})(function(e){var t=e.theme,n=e.open,r=n===void 0?!1:n,i=e.disabled,a=i===void 0?!1:i;return X(["display:flex;align-items:center;justify-content:center;padding:6px 6px;border-radius:2px;position:absolute;top:-10px;font-size:10px;z-index:1;white-space:nowrap;transition:transform 150ms cubic-bezier(0.4,0,0.2,1) 0ms;transform-origin:bottom center;transform:",";background-color:",";color:#fff;cursor:pointer;transition:all 100ms ease-out;&::before{position:absolute;content:'';background-color:inherit;width:8px;height:8px;bottom:0px;left:50%;transform:translate(-50%,50%) rotate(45deg);}"],r?"translateY(-100%) scale(1)":"translateY(-100%) scale(0)",a?t.palette[F.AccentPrimaryDisabled]:t.palette[F.LinkStateless])}),BQ=$.div.attrs({className:ve(wh,"annotation")}).withConfig({componentId:"sc-jjink6-5"})(function(e){var t=e.theme;return X(["display:flex;justify-content:space-between;margin-top:12px;color:",";"],t.palette[F.TextSecondary])}),ad=jt({Slider:DQ,Rail:NQ,Track:RQ,Thumb:jQ,SliderAnnotation:BQ,LabelTooltip:zQ}),HQ=["defaultValue","disabled","disableSwap","hideTrack","hideAnnotation","value","min","max","onChange","onMouseDown","onMouseUp","step","labelTooltip","annotation","components","componentsProps"];function gO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xa(e){for(var t=1;tGQ&&Ce(!0),It(Ve,Gt,jn)}}),ln=id(function(Ve){var Ke=wp(Ve,Y);Ce(!1),Ke&&(q(-1),Ve.type==="touchend"&&ae(-1),E&&E(Ve),Y.current=void 0,nn())}),tn=id(function(Ve){var Ke=Ve.changedTouches[0];Ke!=null&&(Y.current=Ke.identifier);var Lt=wp(Ve,Y),Gt=rt({finger:Lt,values:Re}),jn=Gt.newValue,gi=Gt.activeIndex;xp({sliderRef:re,activeIndex:gi,setActive:q}),Ie(jn),It(Ve,jn,gi),pe.current=0;var Jr=X2(re.current);Jr.addEventListener("touchmove",Ot),Jr.addEventListener("touchend",ln)}),Kt=id(function(Ve){var Ke=Number(Ve.currentTarget.getAttribute(mO));ae(Ke)}),Zt=id(function(){ae(-1)}),yr=id(function(Ve){if(i)Ve.preventDefault();else{if(S&&S(Ve),Ve.button!==0)return;Ve.preventDefault();var Ke=wp(Ve,Y),Lt=rt({finger:Ke,values:Re}),Gt=Lt.newValue,jn=Lt.activeIndex;xp({sliderRef:re,activeIndex:jn,setActive:q}),Ie(Gt),It(Ve,Gt,jn),pe.current=0;var gi=X2(re.current);gi.addEventListener("mousemove",Ot),gi.addEventListener("mouseup",ln)}}),nn=B.useCallback(function(){var Ve=X2(re.current);Ve.removeEventListener("mousemove",Ot),Ve.removeEventListener("mouseup",ln),Ve.removeEventListener("touchmove",Ot),Ve.removeEventListener("touchend",ln)},[ln,Ot]);B.useEffect(function(){var Ve=re.current;if(Ve)return function(){nn()}},[nn,tn]),B.useEffect(function(){i&&nn()},[i,nn]),i&&G!==-1&&q(-1);var Et=nv(et?Re[0]:g,g,C),ua=nv(Re[Re.length-1],g,C)-Et,Pe=xa(xa({},iv[Me].offset(Et)),iv[Me].leap(ua)),ze=z.rail,vt=typeof M.Rail=="function"?b.createElement(M.Rail,le({},ze,{style:xa({},ze==null?void 0:ze.style)})):b.createElement(ad.Rail,le({},ze,{style:xa({},ze==null?void 0:ze.style)})),We=z.track,Ge=!u&&(typeof M.Track=="function"?b.createElement(M.Track,le({},We,{style:xa(xa({},Pe),We==null?void 0:We.style)})):b.createElement(ad.Track,le({},We,{style:xa(xa({},Pe),We==null?void 0:We.style)}))),at=z.thumb,$t=M.Thumb||ad.Thumb,br=M.LabelTooltip||ad.LabelTooltip,Or=z.labelTooltip,da=L?" ".concat(L):"";return b.createElement(ad.Slider,le({ref:be,disabled:i,onTouchStart:tn,onMouseDown:yr},H),vt,Ge,Re.map(function(Ve,Ke){var Lt=nv(Ve,g,C),Gt=iv[Me].offset(Lt);return b.createElement(b.Fragment,{key:Ke},b.createElement($t,le({"data-index":Ke,onMouseOver:Kt,onMouseLeave:Zt},at,{style:xa(xa({},Gt),{},{pointerEvents:o&&G!==Ke?"none":void 0},at==null?void 0:at.style)}),b.createElement("input",{"data-index":Ke,type:"range",min:g,max:C,value:Re[Ke],step:x,disabled:i,onChange:tt}),b.createElement(br,{open:(Q===Ke||G===Ke||k==="on")&&k!=="off",disabled:i,style:xa({},Or==null?void 0:Or.style)},Re[Ke],da)))}),!f&&b.createElement(ad.SliderAnnotation,null,b.createElement("span",null,g,da),b.createElement("span",null,C,da)))}),VQ=$(sA).withConfig({componentId:"sc-1wort0h-0"})(["width:",";max-width:",";user-select:none;padding:0;margin-bottom:",";.SfxSlider-thumb{background-color:",";}.SfxSlider-Track{height:2px;color:",";}.SfxSlider-rail{height:2px;background-color:",";}"],function(e){var t=e.width;return t||"104px"},function(e){var t=e.width;return t||"104px"},function(e){var t=e.noMargin;return t?"":"16px"},function(e){var t=e.theme.palette;return t[F.AccentStateless]},function(e){var t=e.theme.palette;return t[F.AccentStateless]},function(e){var t=e.theme.palette;return t[F.BordersItem]}),UQ=["onChange"],ar=function(e){var t=e.onChange,n=fe(e,UQ);return b.createElement(VQ,le({annotation:"",onChange:function(r,i){return t?t(i):void 0},hideAnnotation:!0,labelTooltip:"auto"},n))},WQ=["color","size"],XQ=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,WQ);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 11 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.8468 3.13984C11.0457 3.33138 11.0517 3.64791 10.8602 3.84682L6.04534 8.84682C5.95332 8.94238 5.82709 8.99746 5.69445 8.99991C5.5618 9.00237 5.43362 8.95201 5.33812 8.85992L0.152931 3.85992C-0.0458479 3.66824 -0.0516033 3.35171 0.140078 3.15293C0.331758 2.95415 0.648288 2.9484 0.847067 3.14008L5.67208 7.79277L10.1398 3.15318C10.3314 2.95427 10.6479 2.9483 10.8468 3.13984Z",fill:r}))}),o3={Left:"left",Right:"right",Top:"top",Bottom:"bottom"},nr={Primary:"primary",Secondary:"secondary",Basic:"basic",LinkPrimary:"link-primary",LinkSecondary:"link-secondary",LinkBasicPrimary:"link-basic-primary",LinkBasicSecondary:"link-basic-secondary",ErrorPrimary:"error-primary",ErrorSecondary:"error-secondary",ErrorBasic:"error-basic",WarningPrimary:"warning-primary",WarningSecondary:"warning-secondary",WarningBasic:"warning-basic"},Bd={Primary:"primary",Secondary:"secondary",Basic:"basic"},it={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg"},kt={Sm:"sm",Md:"md"},r2={Left:"left",Right:"right",Top:"top",Bottom:"bottom"},YQ=A(A(A(A({},r2.Right,X(["svg{transform:rotate(-90deg);transition:transform 150ms ease-out;}"])),r2.Left,X(["svg{transform:rotate(90deg);transition:transform 150ms ease-out;}"])),r2.Top,X(["svg{transform:rotate(180deg);transition:transform 150ms ease-out;}"])),r2.Bottom,X(["svg{transform:rotate(0);transition:transform 150ms ease-out;}"])),KQ="ArrowTick",ZQ=$.span.attrs({className:ve(KQ,"root")}).withConfig({componentId:"sc-tlypde-0"})(function(e){var t=e.type,n=t===void 0?o3.Right:t;return X(["display:inline-flex;",""],YQ[n])}),$Q=jt({ArrowTick:ZQ}),qQ=["type","IconProps"],lA=ct(function(e,t){var n=e.type,r=n===void 0?o3.Right:n,i=e.IconProps,a=fe(e,qQ);return b.createElement($Q.ArrowTick,le({},a,{type:r,ref:t}),b.createElement(XQ,i))}),z3="AccordionHeader",QQ=$.span.attrs({className:ve(z3,"icon")}).withConfig({componentId:"sc-1dtjsgt-0"})(function(){return X(["display:inline-flex;padding-left:8px;"])}),JQ=$.span.attrs({className:ve(z3,"label")}).withConfig({componentId:"sc-1dtjsgt-1"})(function(e){var t=e.theme;return X(["",""],t.typography.font[Oe.ButtonSm])}),eJ=$.div.attrs({className:ve(z3,"root")}).withConfig({componentId:"sc-1dtjsgt-2"})(function(e){var t=e.theme,n=e.$fullWidth;return X(["display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;width:",";color:",";user-select:none;"],n?"100%":"auto",t.palette[F.LinkPrimary])}),tJ=$.div.attrs({className:ve(z3,"wrapper")}).withConfig({componentId:"sc-1dtjsgt-3"})(function(e){var t=e.theme;return X(["color:",";"],t.palette[F.LinkPrimary])}),Hd=jt({Header:eJ,Wrapper:tJ,Icon:QQ,Label:JQ}),nJ=["expanded","label","onChange","onClick","onContextMenu","hideIcon","fullWidth","iconProps"];function vO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function rJ(e){for(var t=1;t0&&!L,Ot=function(){var Ge;k||x||(ie==null||ie(!1),(Ge=Re.current)===null||Ge===void 0||Ge.focus())};B.useEffect(function(){M&&Ot()},[]),B.useEffect(function(){setTimeout(function(){return ge(!1)},2e3)},[xe]);var ln=function(){setTimeout(function(){Y(!0)},150)},tn=function(){setTimeout(function(){Y(!1)},200)},Kt=function(Ge,at){k||x||(z&&Ot(),at==="start"?f&&f(Ge):at==="end"?w&&w(Ge):m&&m(Ge))},Zt=function(Ge,at){return Ge?b.createElement(Rr.Icon,{onClick:function($t){return Kt($t,at)},iconClickStart:f,iconClickEnd:w,$iconType:at,disabled:k,readOnly:x},typeof Ge=="function"?Ge({size:uy(y,at)}):Ge):void 0},yr=function(){return k||x||!d?void 0:b.createElement(Rr.ClearIcon,{onClick:function(Ge){return Kt(Ge,"clear")}},typeof d=="function"?d({size:uy(y,"clear")}):d)},nn=function(Ge){return tt?b.createElement(Rr.CopyIcon,{onClick:function(){return mA(ue.value,ge)}},Ge):void 0},Et=function(Ge){Ge.stopPropagation(),et(!Me)},ua=function(){return b.createElement(Rr.PasswordIcon,{onClick:function(Ge){return Et(Ge)}},Me?b.createElement(wJ,{size:wO(y)}):b.createElement(yJ,{size:wO(y)}))},Pe=function(){return!r&&ue!==null&&ue!==void 0&&ue.type?ue==null?void 0:ue.type:r===i2.Password&&!Me?i2.Password:i2.Text},ze=function(){return b.createElement(Rr.FieldWrapper,{$isSelectedItems:!!rt},ae&&ae(),b.createElement(Rr.Base,le({},ue,{placeholder:It,ref:Re,readOnly:!!x,type:Pe(),$isEllipsis:W})))},vt=function(){return b.createElement(Rr.NotificationBox,{size:y},b.createElement(Rr.NotificationIcon,null,U),b.createElement(Rr.NotificationText,null,G))},We=function(Ge){if(Ge)return b.createElement(Rr.InputActions,null,Ge)};return b.createElement(Rr.Input,le({onClick:z?Ot:void 0,ref:t,size:y,onMouseEnter:ln,onMouseLeave:tn,className:C,style:P,readOnly:x,disabled:k,$fullWidth:!!E,$error:Q,clearIcon:d,isHovering:ue.isHovering,$isSelectedItems:!!(rt||u),hasInputActions:!!u},oe||{}),b.createElement(Rr.InputContent,null,Zt(a,"start"),ze(),nn(b.createElement(hA,{size:uy(y,"copy")})),xe&&vt(),yr(),r===i2.Password&&ua(),Zt(o,"end"),Zt(c,""),i&&b.createElement(b.Fragment,null,i)),We(u))}),fr={AutoStart:"auto-start",Auto:"auto",AutoEnd:"auto-end",TopStart:"top-start",Top:"top",TopEnd:"top-end",BottomStart:"bottom-start",Bottom:"bottom",BottomEnd:"bottom-end",LeftStart:"left-start",Left:"left",LeftEnd:"left-end",RightStart:"right-start",Right:"right",RightEnd:"right-end"},bA={exports:{}},Yr={},DJ=B;function wA(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xA)}catch(e){console.error(e)}}xA(),bA.exports=Yr;var H3=bA.exports,fi="top",la="bottom",ca="right",pi="left",k9="auto",U1=[fi,la,ca,pi],uh="start",D1="end",jJ="clippingParents",CA="viewport",L0="popper",zJ="reference",xO=U1.reduce(function(e,t){return e.concat([t+"-"+uh,t+"-"+D1])},[]),SA=[].concat(U1,[k9]).reduce(function(e,t){return e.concat([t,t+"-"+uh,t+"-"+D1])},[]),BJ="beforeRead",HJ="read",GJ="afterRead",VJ="beforeMain",UJ="main",WJ="afterMain",XJ="beforeWrite",YJ="write",KJ="afterWrite",ZJ=[BJ,HJ,GJ,VJ,UJ,WJ,XJ,YJ,KJ];function co(e){return e?(e.nodeName||"").toLowerCase():null}function Ni(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Yc(e){var t=Ni(e).Element;return e instanceof t||e instanceof Element}function ia(e){var t=Ni(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function L9(e){if(typeof ShadowRoot>"u")return!1;var t=Ni(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function $J(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},a=t.elements[n];!ia(a)||!co(a)||(Object.assign(a.style,r),Object.keys(i).forEach(function(o){var c=i[o];c===!1?a.removeAttribute(o):a.setAttribute(o,c===!0?"":c)}))})}function qJ(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],a=t.attributes[r]||{},o=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=o.reduce(function(u,d){return u[d]="",u},{});!ia(i)||!co(i)||(Object.assign(i.style,c),Object.keys(a).forEach(function(u){i.removeAttribute(u)}))})}}const QJ={name:"applyStyles",enabled:!0,phase:"write",fn:$J,effect:qJ,requires:["computeStyles"]};function lo(e){return e.split("-")[0]}var Ic=Math.max,s3=Math.min,dh=Math.round;function g8(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function _A(){return!/^((?!chrome|android).)*safari/i.test(g8())}function hh(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&ia(e)&&(i=e.offsetWidth>0&&dh(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&dh(r.height)/e.offsetHeight||1);var o=Yc(e)?Ni(e):window,c=o.visualViewport,u=!_A()&&n,d=(r.left+(u&&c?c.offsetLeft:0))/i,f=(r.top+(u&&c?c.offsetTop:0))/a,w=r.width/i,m=r.height/a;return{width:w,height:m,top:f,right:d+w,bottom:f+m,left:d,x:d,y:f}}function M9(e){var t=hh(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function OA(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&L9(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Jo(e){return Ni(e).getComputedStyle(e)}function JJ(e){return["table","td","th"].indexOf(co(e))>=0}function _l(e){return((Yc(e)?e.ownerDocument:e.document)||window.document).documentElement}function G3(e){return co(e)==="html"?e:e.assignedSlot||e.parentNode||(L9(e)?e.host:null)||_l(e)}function CO(e){return!ia(e)||Jo(e).position==="fixed"?null:e.offsetParent}function eee(e){var t=/firefox/i.test(g8()),n=/Trident/i.test(g8());if(n&&ia(e)){var r=Jo(e);if(r.position==="fixed")return null}var i=G3(e);for(L9(i)&&(i=i.host);ia(i)&&["html","body"].indexOf(co(i))<0;){var a=Jo(i);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||t&&a.willChange==="filter"||t&&a.filter&&a.filter!=="none")return i;i=i.parentNode}return null}function W1(e){for(var t=Ni(e),n=CO(e);n&&JJ(n)&&Jo(n).position==="static";)n=CO(n);return n&&(co(n)==="html"||co(n)==="body"&&Jo(n).position==="static")?t:n||eee(e)||t}function T9(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function n1(e,t,n){return Ic(e,s3(t,n))}function tee(e,t,n){var r=n1(e,t,n);return r>n?n:r}function EA(){return{top:0,right:0,bottom:0,left:0}}function PA(e){return Object.assign({},EA(),e)}function kA(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var nee=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,PA(typeof e!="number"?e:kA(e,U1))};function ree(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,c=lo(n.placement),u=T9(c),d=[pi,ca].indexOf(c)>=0,f=d?"height":"width";if(!(!a||!o)){var w=nee(i.padding,n),m=M9(a),g=u==="y"?fi:pi,y=u==="y"?la:ca,C=n.rects.reference[f]+n.rects.reference[u]-o[u]-n.rects.popper[f],P=o[u]-n.rects.reference[u],S=W1(a),E=S?u==="y"?S.clientHeight||0:S.clientWidth||0:0,p=C/2-P/2,x=w[g],O=E-m[f]-w[y],k=E/2-m[f]/2+p,I=n1(x,k,O),L=u;n.modifiersData[r]=(t={},t[L]=I,t.centerOffset=I-k,t)}}function iee(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||OA(t.elements.popper,i)&&(t.elements.arrow=i))}const aee={name:"arrow",enabled:!0,phase:"main",fn:ree,effect:iee,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function fh(e){return e.split("-")[1]}var oee={top:"auto",right:"auto",bottom:"auto",left:"auto"};function see(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:dh(n*i)/i||0,y:dh(r*i)/i||0}}function SO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,c=e.position,u=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,w=e.isFixed,m=o.x,g=m===void 0?0:m,y=o.y,C=y===void 0?0:y,P=typeof f=="function"?f({x:g,y:C}):{x:g,y:C};g=P.x,C=P.y;var S=o.hasOwnProperty("x"),E=o.hasOwnProperty("y"),p=pi,x=fi,O=window;if(d){var k=W1(n),I="clientHeight",L="clientWidth";if(k===Ni(n)&&(k=_l(n),Jo(k).position!=="static"&&c==="absolute"&&(I="scrollHeight",L="scrollWidth")),k=k,i===fi||(i===pi||i===ca)&&a===D1){x=la;var D=w&&k===O&&O.visualViewport?O.visualViewport.height:k[I];C-=D-r.height,C*=u?1:-1}if(i===pi||(i===fi||i===la)&&a===D1){p=ca;var M=w&&k===O&&O.visualViewport?O.visualViewport.width:k[L];g-=M-r.width,g*=u?1:-1}}var N=Object.assign({position:c},d&&oee),z=f===!0?see({x:g,y:C},Ni(n)):{x:g,y:C};if(g=z.x,C=z.y,u){var H;return Object.assign({},N,(H={},H[x]=E?"0":"",H[p]=S?"0":"",H.transform=(O.devicePixelRatio||1)<=1?"translate("+g+"px, "+C+"px)":"translate3d("+g+"px, "+C+"px, 0)",H))}return Object.assign({},N,(t={},t[x]=E?C+"px":"",t[p]=S?g+"px":"",t.transform="",t))}function lee(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,c=n.roundOffsets,u=c===void 0?!0:c,d={placement:lo(t.placement),variation:fh(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,SO(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,SO(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const cee={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:lee,data:{}};var o2={passive:!0};function uee(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,c=o===void 0?!0:o,u=Ni(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&d.forEach(function(f){f.addEventListener("scroll",n.update,o2)}),c&&u.addEventListener("resize",n.update,o2),function(){a&&d.forEach(function(f){f.removeEventListener("scroll",n.update,o2)}),c&&u.removeEventListener("resize",n.update,o2)}}const dee={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:uee,data:{}};var hee={left:"right",right:"left",bottom:"top",top:"bottom"};function ng(e){return e.replace(/left|right|bottom|top/g,function(t){return hee[t]})}var fee={start:"end",end:"start"};function _O(e){return e.replace(/start|end/g,function(t){return fee[t]})}function A9(e){var t=Ni(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function I9(e){return hh(_l(e)).left+A9(e).scrollLeft}function pee(e,t){var n=Ni(e),r=_l(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,c=0,u=0;if(i){a=i.width,o=i.height;var d=_A();(d||!d&&t==="fixed")&&(c=i.offsetLeft,u=i.offsetTop)}return{width:a,height:o,x:c+I9(e),y:u}}function gee(e){var t,n=_l(e),r=A9(e),i=(t=e.ownerDocument)==null?void 0:t.body,a=Ic(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=Ic(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-r.scrollLeft+I9(e),u=-r.scrollTop;return Jo(i||n).direction==="rtl"&&(c+=Ic(n.clientWidth,i?i.clientWidth:0)-a),{width:a,height:o,x:c,y:u}}function F9(e){var t=Jo(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function LA(e){return["html","body","#document"].indexOf(co(e))>=0?e.ownerDocument.body:ia(e)&&F9(e)?e:LA(G3(e))}function r1(e,t){var n;t===void 0&&(t=[]);var r=LA(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),a=Ni(r),o=i?[a].concat(a.visualViewport||[],F9(r)?r:[]):r,c=t.concat(o);return i?c:c.concat(r1(G3(o)))}function m8(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function mee(e,t){var n=hh(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function OO(e,t,n){return t===CA?m8(pee(e,n)):Yc(t)?mee(t,n):m8(gee(_l(e)))}function vee(e){var t=r1(G3(e)),n=["absolute","fixed"].indexOf(Jo(e).position)>=0,r=n&&ia(e)?W1(e):e;return Yc(r)?t.filter(function(i){return Yc(i)&&OA(i,r)&&co(i)!=="body"}):[]}function yee(e,t,n,r){var i=t==="clippingParents"?vee(e):[].concat(t),a=[].concat(i,[n]),o=a[0],c=a.reduce(function(u,d){var f=OO(e,d,r);return u.top=Ic(f.top,u.top),u.right=s3(f.right,u.right),u.bottom=s3(f.bottom,u.bottom),u.left=Ic(f.left,u.left),u},OO(e,o,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function MA(e){var t=e.reference,n=e.element,r=e.placement,i=r?lo(r):null,a=r?fh(r):null,o=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,u;switch(i){case fi:u={x:o,y:t.y-n.height};break;case la:u={x:o,y:t.y+t.height};break;case ca:u={x:t.x+t.width,y:c};break;case pi:u={x:t.x-n.width,y:c};break;default:u={x:t.x,y:t.y}}var d=i?T9(i):null;if(d!=null){var f=d==="y"?"height":"width";switch(a){case uh:u[d]=u[d]-(t[f]/2-n[f]/2);break;case D1:u[d]=u[d]+(t[f]/2-n[f]/2);break}}return u}function N1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,c=n.boundary,u=c===void 0?jJ:c,d=n.rootBoundary,f=d===void 0?CA:d,w=n.elementContext,m=w===void 0?L0:w,g=n.altBoundary,y=g===void 0?!1:g,C=n.padding,P=C===void 0?0:C,S=PA(typeof P!="number"?P:kA(P,U1)),E=m===L0?zJ:L0,p=e.rects.popper,x=e.elements[y?E:m],O=yee(Yc(x)?x:x.contextElement||_l(e.elements.popper),u,f,o),k=hh(e.elements.reference),I=MA({reference:k,element:p,strategy:"absolute",placement:i}),L=m8(Object.assign({},p,I)),D=m===L0?L:k,M={top:O.top-D.top+S.top,bottom:D.bottom-O.bottom+S.bottom,left:O.left-D.left+S.left,right:D.right-O.right+S.right},N=e.modifiersData.offset;if(m===L0&&N){var z=N[i];Object.keys(M).forEach(function(H){var W=[ca,la].indexOf(H)>=0?1:-1,K=[fi,la].indexOf(H)>=0?"y":"x";M[H]+=z[K]*W})}return M}function bee(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,c=n.flipVariations,u=n.allowedAutoPlacements,d=u===void 0?SA:u,f=fh(r),w=f?c?xO:xO.filter(function(y){return fh(y)===f}):U1,m=w.filter(function(y){return d.indexOf(y)>=0});m.length===0&&(m=w);var g=m.reduce(function(y,C){return y[C]=N1(e,{placement:C,boundary:i,rootBoundary:a,padding:o})[lo(C)],y},{});return Object.keys(g).sort(function(y,C){return g[y]-g[C]})}function wee(e){if(lo(e)===k9)return[];var t=ng(e);return[_O(e),t,_O(t)]}function xee(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,c=o===void 0?!0:o,u=n.fallbackPlacements,d=n.padding,f=n.boundary,w=n.rootBoundary,m=n.altBoundary,g=n.flipVariations,y=g===void 0?!0:g,C=n.allowedAutoPlacements,P=t.options.placement,S=lo(P),E=S===P,p=u||(E||!y?[ng(P)]:wee(P)),x=[P].concat(p).reduce(function(ue,Ce){return ue.concat(lo(Ce)===k9?bee(t,{placement:Ce,boundary:f,rootBoundary:w,padding:d,flipVariations:y,allowedAutoPlacements:C}):Ce)},[]),O=t.rects.reference,k=t.rects.popper,I=new Map,L=!0,D=x[0],M=0;M=0,K=W?"width":"height",G=N1(t,{placement:N,boundary:f,rootBoundary:w,altBoundary:m,padding:d}),q=W?H?ca:pi:H?la:fi;O[K]>k[K]&&(q=ng(q));var U=ng(q),J=[];if(a&&J.push(G[z]<=0),c&&J.push(G[q]<=0,G[U]<=0),J.every(function(ue){return ue})){D=N,L=!1;break}I.set(N,J)}if(L)for(var Q=y?3:1,ae=function(ue){var Ce=x.find(function(pe){var R=I.get(pe);if(R)return R.slice(0,ue).every(function(Y){return Y})});if(Ce)return D=Ce,"break"},ie=Q;ie>0;ie--){var oe=ae(ie);if(oe==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const Cee={name:"flip",enabled:!0,phase:"main",fn:xee,requiresIfExists:["offset"],data:{_skip:!1}};function EO(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function PO(e){return[fi,ca,la,pi].some(function(t){return e[t]>=0})}function See(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=N1(t,{elementContext:"reference"}),c=N1(t,{altBoundary:!0}),u=EO(o,r),d=EO(c,i,a),f=PO(u),w=PO(d);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:w},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":w})}const _ee={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:See};function Oee(e,t,n){var r=lo(e),i=[pi,fi].indexOf(r)>=0?-1:1,a=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,o=a[0],c=a[1];return o=o||0,c=(c||0)*i,[pi,ca].indexOf(r)>=0?{x:c,y:o}:{x:o,y:c}}function Eee(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=SA.reduce(function(f,w){return f[w]=Oee(w,t.rects,a),f},{}),c=o[t.placement],u=c.x,d=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=o}const Pee={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Eee};function kee(e){var t=e.state,n=e.name;t.modifiersData[n]=MA({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Lee={name:"popperOffsets",enabled:!0,phase:"read",fn:kee,data:{}};function Mee(e){return e==="x"?"y":"x"}function Tee(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,c=o===void 0?!1:o,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,w=n.padding,m=n.tether,g=m===void 0?!0:m,y=n.tetherOffset,C=y===void 0?0:y,P=N1(t,{boundary:u,rootBoundary:d,padding:w,altBoundary:f}),S=lo(t.placement),E=fh(t.placement),p=!E,x=T9(S),O=Mee(x),k=t.modifiersData.popperOffsets,I=t.rects.reference,L=t.rects.popper,D=typeof C=="function"?C(Object.assign({},t.rects,{placement:t.placement})):C,M=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,z={x:0,y:0};if(k){if(a){var H,W=x==="y"?fi:pi,K=x==="y"?la:ca,G=x==="y"?"height":"width",q=k[x],U=q+P[W],J=q-P[K],Q=g?-L[G]/2:0,ae=E===uh?I[G]:L[G],ie=E===uh?-L[G]:-I[G],oe=t.elements.arrow,ue=g&&oe?M9(oe):{width:0,height:0},Ce=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:EA(),pe=Ce[W],R=Ce[K],Y=n1(0,I[G],ue[G]),re=p?I[G]/2-Q-Y-pe-M.mainAxis:ae-Y-pe-M.mainAxis,be=p?-I[G]/2+Q+Y+R+M.mainAxis:ie+Y+R+M.mainAxis,xe=t.elements.arrow&&W1(t.elements.arrow),ge=xe?x==="y"?xe.clientTop||0:xe.clientLeft||0:0,Ae=(H=N==null?void 0:N[x])!=null?H:0,Ie=q+re-Ae-ge,Me=q+be-Ae,et=n1(g?s3(U,Ie):U,q,g?Ic(J,Me):J);k[x]=et,z[x]=et-q}if(c){var Re,rt=x==="x"?fi:pi,It=x==="x"?la:ca,tt=k[O],Ot=O==="y"?"height":"width",ln=tt+P[rt],tn=tt-P[It],Kt=[fi,pi].indexOf(S)!==-1,Zt=(Re=N==null?void 0:N[O])!=null?Re:0,yr=Kt?ln:tt-I[Ot]-L[Ot]-Zt+M.altAxis,nn=Kt?tt+I[Ot]+L[Ot]-Zt-M.altAxis:tn,Et=g&&Kt?tee(yr,tt,nn):n1(g?yr:ln,tt,g?nn:tn);k[O]=Et,z[O]=Et-tt}t.modifiersData[r]=z}}const Aee={name:"preventOverflow",enabled:!0,phase:"main",fn:Tee,requiresIfExists:["offset"]};function Iee(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Fee(e){return e===Ni(e)||!ia(e)?A9(e):Iee(e)}function Dee(e){var t=e.getBoundingClientRect(),n=dh(t.width)/e.offsetWidth||1,r=dh(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Nee(e,t,n){n===void 0&&(n=!1);var r=ia(t),i=ia(t)&&Dee(t),a=_l(t),o=hh(e,i,n),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(r||!r&&!n)&&((co(t)!=="body"||F9(a))&&(c=Fee(t)),ia(t)?(u=hh(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):a&&(u.x=I9(a))),{x:o.left+c.scrollLeft-u.x,y:o.top+c.scrollTop-u.y,width:o.width,height:o.height}}function Ree(e){var t=new Map,n=new Set,r=[];e.forEach(function(a){t.set(a.name,a)});function i(a){n.add(a.name);var o=[].concat(a.requires||[],a.requiresIfExists||[]);o.forEach(function(c){if(!n.has(c)){var u=t.get(c);u&&i(u)}}),r.push(a)}return e.forEach(function(a){n.has(a.name)||i(a)}),r}function jee(e){var t=Ree(e);return ZJ.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function zee(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Bee(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var kO={placement:"bottom",modifiers:[],strategy:"absolute"};function LO(){for(var e=arguments.length,t=new Array(e),n=0;n svg{path{fill:",";}}color:",";"],i.palette[F.ButtonDisabledText],i.palette[F.ButtonDisabledText]),u&&!o&&X(["background-color:",";"],i.palette[F.BackgroundHover]))}),dte=$.div.attrs({className:ve(Ol,"prefix")}).withConfig({componentId:"sc-rrzye0-5"})(function(){return X(["display:flex;"])}),hte=$.div.attrs({className:ve(Ol,"content")}).withConfig({componentId:"sc-rrzye0-6"})(function(){return X(["flex-grow:1;line-height:16px;"])}),fte=$.div.attrs({className:ve(Ol,"suffix")}).withConfig({componentId:"sc-rrzye0-7"})(function(){return X(["display:flex;margin-left:8px;"])}),Ji=jt({MenuItemWrapper:cte,MenuItem:ute,MenuPrefix:dte,MenuContent:hte,MenuSuffix:fte,Label:lte,Icon:FA,Actions:ste});function TO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function pte(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:0;return z.map(function(W){var K=W.subList&&W.subList.length>0,G;if(O[H]===W.key&&K){var q=H+1;G=b.createElement($c,le({key:W.key,position:"right",open:!!S,anchorEl:S,enableOverlay:!1},W.subMenuProps),b.createElement(es,le({},e,{list:W.subList,depth:q})))}return W.content==="divider"?b.createElement(Ji.MenuItemWrapper,{divider:!0,key:W.key,style:W.dividerStyle}):b.createElement(Ji.MenuItemWrapper,le({disabled:!1,key:W.key,onMouseLeave:function(){return M(H)}},e),b.createElement(Ji.MenuItem,le({},e,{className:W.className,ref:t,$isFocused:u,$active:!!W.active,onClick:function(U){var J;return(J=W.onClick)===null||J===void 0?void 0:J.call(W,pte({event:U},e))},onMouseEnter:function(U){return D(U,W.key,H)},disableHover:i||W.disableHover}),W.prefix&&b.createElement(Ji.MenuPrefix,null,typeof W.prefix=="function"?W.prefix(e):W.prefix),W.content&&b.createElement(Ji.MenuContent,null,typeof W.content=="function"?W.content(e):W.content),(W.suffix||W.subList)&&b.createElement(Ji.MenuSuffix,null,typeof W.suffix=="function"?W.suffix(e):W.suffix,W.subList&&b.createElement(pJ,{size:10,color:"#768A9F"}))),G)})};return n?b.createElement(b.Fragment,null,N(n,g)):f==="divider"?b.createElement(Ji.MenuItemWrapper,{divider:!0,key:f,style:w}):b.createElement(Ji.MenuItemWrapper,{disabled:!!a},b.createElement(Ji.MenuItem,le({},e,{ref:y,disableHover:i,disabled:a,$isFocused:u,$active:d}),r))});es.displayName="MenuItem";var gte=["children","disabled","size"],mte=function(e){switch(e){case Ri.Md:return 16;case Ri.Sm:default:return 14}},vte=ct(function(e,t){var n=e.children,r=e.disabled,i=r===void 0?!1:r,a=e.size,o=a===void 0?Ri.Md:a,c=fe(e,gte);return b.createElement(Ji.Icon,le({disabled:i},c,{ref:t}),n&&typeof n=="function"?n({size:mte(o)}):n)}),yte=["children"],U3=ct(function(e,t){var n=e.children,r=fe(e,yte);return b.createElement(Ji.Label,le({},r,{ref:t}),n)});U3.displayName="MenuItemLabel";var bte=["children"],wte=function(e){switch(e){case Ri.Md:return 16;case Ri.Sm:default:return 14}},DA=ct(function(e,t){var n=e.children,r=fe(e,bte);return b.createElement(Ji.Actions,le({},r,{ref:t}),n&&typeof n=="function"?n({size:wte(r.size)}):n)});DA.displayName="MenuItemActions";var xte=["color","size"],NA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,xte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43.3196 40.0403C44.2253 40.9461 44.2253 42.4146 43.3196 43.3204C42.4138 44.2262 40.9453 44.2262 40.0396 43.3204L21.9997 25.2802L3.95952 43.3207C3.05376 44.2264 1.58525 44.2264 0.679494 43.3207C-0.226258 42.4149 -0.226258 40.9464 0.679495 40.0406L18.7197 22.0001L0.679313 3.95941C-0.226437 3.05364 -0.226439 1.5851 0.679314 0.679328C1.58507 -0.226442 3.05358 -0.226443 3.95934 0.679328L21.9997 18.72L40.0398 0.679604C40.9455 -0.226163 42.414 -0.226165 43.3198 0.679605C44.2255 1.58537 44.2255 3.05392 43.3198 3.95969L25.2797 22.0001L43.3196 40.0403Z",fill:r}))}),Cte=A(A({},kt.Sm,function(e){var t=e.theme.typography.font;return X(t[Oe.LabelExtraSmallUp])}),kt.Md,function(e){var t=e.theme.typography.font;return X(t[Oe.LabelSmall])}),Ste="FormHint",_te=$.span.attrs({className:ve(Ste,"root")}).withConfig({componentId:"sc-1vu99sv-0"})(function(e){var t=e.size,n=t===void 0?kt.Md:t,r=e.$error,i=r===void 0?!1:r,a=e.disabled,o=a===void 0?!1:a,c=e.theme;return X(["display:flex;align-items:center;color:",";"," ",""],i?c.palette[F.Error]:c.palette[F.TextSecondary],o&&X(["color:",";"],c.palette[F.ButtonDisabledText]),Cte[n])}),RA=jt({FormHint:_te}),Ote=["error"],jA=ct(function(e,t){var n=e.error,r=n===void 0?!1:n,i=fe(e,Ote);return b.createElement(RA.FormHint,le({ref:t,$error:r},i))}),Ete=["color","size"],fy=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?28:i,o=fe(e,Ete);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M41.3465 44.355C33.5656 50.7844 22.9687 51.6268 14.3708 47.3665L17.8949 44.4545C24.754 47.117 32.7424 46.1093 38.709 41.1792C44.6755 36.249 47.1546 28.6071 45.8085 21.3893L49.3325 18.4773C51.9291 27.6967 49.1274 37.9256 41.3465 44.355Z",fill:r}),b.createElement("path",{d:"M36.1749 2.63356L32.6509 5.54555C25.821 2.91828 17.838 3.86187 11.8366 8.82088C5.87009 13.7511 3.42028 21.4282 4.7372 28.6107L1.21311 31.5227C-1.38344 22.3034 1.45314 12.0456 9.19916 5.64502C16.9801 -0.784402 27.5768 -1.62682 36.1749 2.63356Z",fill:r}))}),Pte=["color","size"],AO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Pte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M5.74299 0.152553C5.95998 -0.056404 6.30528 -0.0498885 6.51424 0.167105C6.7232 0.384099 6.71668 0.7294 6.49969 0.938357L1.43832 5.81227L6.51398 11.0759C6.72309 11.2928 6.71681 11.6381 6.49996 11.8472C6.28311 12.0563 5.9378 12.05 5.7287 11.8332L0.274151 6.1766C0.17369 6.07242 0.118752 5.93258 0.121433 5.78788C0.124113 5.64317 0.184193 5.50547 0.288444 5.40508L5.74299 0.152553Z",fill:r}),b.createElement("path",{d:"M10.9549 0.152554C11.1719 -0.0564031 11.5172 -0.0498876 11.7262 0.167106C11.9351 0.3841 11.9286 0.729401 11.7116 0.938357L6.65023 5.81227L11.7259 11.0759C11.935 11.2928 11.9287 11.6381 11.7119 11.8472C11.495 12.0563 11.1497 12.05 10.9406 11.8332L5.48606 6.1766C5.3856 6.07242 5.33067 5.93258 5.33335 5.78788C5.33603 5.64317 5.39611 5.50547 5.50036 5.40508L10.9549 0.152554Z",fill:r}))}),kte=["color","size"],IO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,kte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M6.25714 11.8474C6.04014 12.0564 5.69484 12.0499 5.48588 11.8329C5.27693 11.6159 5.28344 11.2706 5.50043 11.0616L10.5618 6.18773L5.48614 0.924074C5.27704 0.707224 5.28331 0.361919 5.50016 0.152813C5.71701 -0.0562931 6.06232 -0.0500145 6.27143 0.166835L11.726 5.8234C11.8264 5.92758 11.8814 6.06742 11.8787 6.21212C11.876 6.35683 11.8159 6.49453 11.7117 6.59492L6.25714 11.8474Z",fill:r}),b.createElement("path",{d:"M1.04522 11.8474C0.828227 12.0564 0.482925 12.0499 0.273969 11.8329C0.065012 11.6159 0.0715275 11.2706 0.288521 11.0616L5.34989 6.18773L0.274227 0.924074C0.0651226 0.707224 0.0714006 0.361919 0.28825 0.152813C0.5051 -0.0562931 0.850407 -0.0500145 1.05951 0.166835L6.51406 5.8234C6.61452 5.92758 6.66946 6.06742 6.66678 6.21212C6.6641 6.35683 6.60402 6.49453 6.49977 6.59492L1.04522 11.8474Z",fill:r}))}),rg={Primary:"primary",Secondary:"secondary",White:"white"},Lte=A(A(A({},rg.Primary,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.AccentPrimary],t[F.ButtonPrimaryText])}),rg.White,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.ButtonPrimaryText],t[F.AccentPrimary])}),rg.Secondary,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.Accent_1_2_Opacity],t[F.TextPrimary])}),zA="Badge",py=20,Mte=$.span.attrs({className:ve(zA,"root")}).withConfig({componentId:"sc-1rfm40m-0"})(["position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle;"]),Tte=$.span.attrs({className:ve(zA)}).withConfig({componentId:"sc-1rfm40m-1"})(function(e){var t=e.size,n=e.color,r=n===void 0?"secondary":n,i=e.fontSize,a=e.padding,o=a===void 0?"0 6px":a,c=e.inline;return X([""," display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;align-items:center;align-content:center;height:","px;min-width:","px;line-height:1;padding:",";font-size:",";box-sizing:border-box;transition:transform 225ms cubic-bezier(0.4,0,0.2,1) 0ms;border-radius:","px;z-index:1;",""],c?"":"position: absolute;",t||py,t||py,typeof o=="number"?"".concat(o,"px"):o,typeof i=="number"?"".concat(i,"px"):i,(t||py)/2,Lte[r])}),Jt=jt({BadgeRoot:Mte,Badge:Tte}),Ate=["color","inline","badgeContent"],Ite=ct(function(e,t){var n=e.color,r=n===void 0?rg.Secondary:n,i=e.inline,a=i===void 0?!1:i,o=e.badgeContent,c=fe(e,Ate);return b.createElement(Jt.BadgeRoot,{ref:t},b.createElement(Jt.Badge,le({color:r,inline:a,badgeContent:o},c),o))}),i1={Default:"default",Sidebar:"sidebar"},qs={Left:"left",Right:"right"},Sc=function(e){switch(e){case it.Lg:return 18;case it.Md:return 16;case it.Sm:return 14;case it.Xs:return 12;default:return 16}},Fte=function(e){switch(e){case it.Lg:return 12;case it.Md:return 11;case it.Sm:return 10;default:return 11}},gy,Dte=(gy={},A(A(A(A(A(A(A(A(A(A(gy,nr.Primary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{color:",";background:",";cursor:default;","{color:",";background:transparent;}}"],t[F.AccentStateless],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.Secondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background:transparent;}&:hover{color:",";background-color:",";","{color:",";}}&:focus{color:",";background-color:",";border:1px solid ",";","{color:",";}}&:active{color:",";background-color:",";","{color:",";}}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.AccentStateless],t[F.AccentStateless],Jt.Badge,t[F.AccentStateless],t[F.ButtonPrimaryText],t[F.AccentPrimaryHover],Jt.Badge,t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],t[F.Accent_1_2_Opacity],t[F.AccentPrimaryActive],Jt.Badge,t[F.AccentPrimaryActive],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText],n&&X(["color:",";background-color:",";","{color:",";}&:hover,&:focus{color:",";background-color:",";","{color:",";}}"],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.Basic,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:transparent;border:1px solid ",";color:",";","{background-color:transparent;color:",";}&:hover{background-color:",";color:",";","{color:",";}}&:active{background-color:",";color:",";","{color:",";}}"," &:disabled{background-color:",";color:",";cursor:default;border:none;","{color:",";}}"],t[F.BordersButton],t[F.LinkStateless],Jt.Badge,t[F.LinkStateless],t[F.BackgroundHover],t[F.LinkHover],Jt.Badge,t[F.LinkHover],t[F.BackgroundActive],t[F.LinkHover],Jt.Badge,t[F.LinkHover],n&&X(["background-color:",";color:",";","{color:",";}&:hover,&:focus{background-color:",";color:",";}"],t[F.BackgroundActive],t[F.LinkHover],Jt.Badge,t[F.LinkHover],t[F.BackgroundActive],t[F.LinkHover]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.LinkPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.AccentStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.LinkStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkBasicPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.AccentStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkBasicSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.LinkStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.ErrorPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{background-color:",";color:",";cursor:default;","{color:",";background:transparent;}}"],t[F.Error],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.ErrorHover],t[F.ErrorActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.ErrorActive],t[F.ErrorActive]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.ErrorSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background-color:transparent;}&:hover{background-color:",";color:",";border:none;","{color:",";}}&:active{background-color:",";color:",";border:none;}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.LinkStateless],t[F.BordersButton],Jt.Badge,t[F.LinkStateless],t[F.ErrorHover],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.ErrorActive],t[F.ButtonPrimaryText],n&&X(["background-color:",";color:",";border:none;&:hover,&:focus{background-color:",";}"],t[F.ErrorActive],t[F.ButtonPrimaryText],t[F.ErrorActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.ErrorBasic,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;&:hover{color:",";}&:active{color:",";}"," &:disabled{color:",";cursor:default;}"],t[F.LinkStateless],t[F.ErrorHover],t[F.ErrorActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.ErrorActive],t[F.ErrorActive]),t[F.BordersDisabled])}),A(A(A(gy,nr.WarningPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{background-color:",";color:",";cursor:default;","{color:",";background:transparent;}}"],t[F.Warning],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningHover],t[F.WarningActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.WarningActive],t[F.WarningActive]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.WarningSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background-color:transparent;}&:hover{background-color:",";color:",";border:none;","{color:",";}}&:active{background-color:",";color:",";border:none;}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.LinkStateless],t[F.BordersButton],Jt.Badge,t[F.LinkStateless],t[F.WarningHover],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningActive],t[F.ButtonPrimaryText],n&&X(["background-color:",";color:",";border:none;","{color:",";background-color:transparent;}&:hover,&:focus{background-color:",";}"],t[F.WarningActive],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.WarningBasic,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;&:hover{color:",";}&:active{color:",";}"," &:disabled{color:",";cursor:default;}"],t[F.LinkStateless],t[F.WarningHover],t[F.WarningActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.WarningActive],t[F.WarningActive]),t[F.BordersDisabled])})),Nte=A(A(A(A({},it.Xs,X(["padding:5px 10px;"])),it.Sm,X(["padding:8px 12px;"])),it.Md,X(["padding:11px 16px;"])),it.Lg,X(["padding:14px 24px;"])),Rte=A(A(A(A({},it.Xs,X(["padding:4px 10px;"])),it.Sm,X(["padding:7px 12px;"])),it.Md,X(["padding:10px 16px;"])),it.Lg,X(["padding:13px 24px;"])),jte=A(A(A(A({},it.Xs,X(["padding:5px 10px;"])),it.Sm,X(["padding:8px 12px;"])),it.Md,X(["padding:11px 14px;"])),it.Lg,X(["padding:14px 16px;"])),zte=A(A(A(A({},it.Xs,X(["height:14px;"])),it.Sm,X(["height:16px;"])),it.Md,X(["height:18px;"])),it.Lg,X(["height:20px;"])),Bte=A(A(A(A({},it.Xs,X(["margin-right:5px;"])),it.Sm,X(["margin-right:6px;"])),it.Md,X(["margin-right:7px;"])),it.Lg,X(["margin-right:8px;"])),FO=A(A(A(A({},it.Xs,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonSmEmphasis])}),it.Sm,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonMdEmphasis])}),it.Md,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonLgEmphasis])}),it.Lg,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonLgUpEmphasis])}),El="Button",BA=$.span.attrs({className:ve(El,"Label")}).withConfig({componentId:"sc-lxwit0-0"})(["display:flex;"]),HA=$.span.attrs({className:ve(El,"Badge")}).withConfig({componentId:"sc-lxwit0-1"})(["display:flex;margin-left:5px;"]),Hte=$.span.attrs({className:ve(El,"Body")}).withConfig({componentId:"sc-lxwit0-2"})(["display:flex;align-items:center;"]),Gte=$.button.attrs({className:ve(El,"root")}).withConfig({componentId:"sc-lxwit0-3"})(function(e){var t=e.color,n=t===void 0?nr.Secondary:t,r=e.size,i=r===void 0?it.Md:r,a=e.$buttonType,o=e.active,c=e.theme;return X(["display:inline-flex;flex-shrink:0;flex-direction:row;align-items:center;justify-content:center;border-radius:",";transition:all 100ms ease-out;border:0;cursor:pointer;outline:none;"," "," "," ","{"," ","}","{","}",""],c.shape.borderRadius[so.Md],a!==i1.Sidebar&&Dte[n],a===i1.Sidebar?jte[i]:Nte[i],n===nr.Secondary&&Rte[i],BA,FO[i],(n===nr.LinkBasicPrimary||n===nr.LinkBasicSecondary)&&"font-weight: 400",HA,FO[i],a===i1.Sidebar&&X(["background-color:",";color:",";border:1px solid ",";"," "," &:disabled{color:",";background:",";border:none;cursor:default;}"],c.palette[F.ButtonPrimaryText],c.palette[F.LinkStateless],c.palette[F.BordersButton],!o&&X(["&:hover{color:",";background-color:",";border:none;}&:active{color:",";background-color:",";border:none;}"],c.palette[F.ButtonPrimaryText],c.palette[F.AccentPrimaryHover],c.palette[F.ButtonPrimaryText],c.palette[F.AccentPrimaryActive]),o&&X(["background-color:",";color:",";border:1px solid ",";"],c.palette[F.Accent_1_2_Opacity],c.palette[F.AccentPrimaryActive],c.palette[F.AccentPrimaryActive]),c.palette[F.BordersDisabled],c.palette[F.AccentPrimaryDisabled]))}),Vte=$.span.attrs({className:ve(El,"StartIcon")}).withConfig({componentId:"sc-lxwit0-4"})(function(e){var t=e.$loading,n=e.size,r=n===void 0?it.Md:n;return X(["display:flex;svg{animation:",";}",""],t?"spinner 1.2s linear infinite":"1.2s",Bte[r])}),Ute=$.span.attrs({className:ve(El,"SideBar")}).withConfig({componentId:"sc-lxwit0-5"})(function(e){var t=e.$sideBarType;return X(["display:flex;",":12px;"],"margin-".concat(t===qs.Left?"right":"left"))}),Wte=$.span.attrs({className:ve(El,"Divider")}).withConfig({componentId:"sc-lxwit0-6"})(function(e){var t=e.$sideBarType,n=e.size,r=n===void 0?it.Md:n;return X(["border-left-style:solid;border-width:1px;"," ",":12px;"],zte[r],"margin-".concat(t===qs.Left?"right":"left"))}),Xte=$.span.attrs({className:ve(El,"EndIcon")}).withConfig({componentId:"sc-lxwit0-7"})(["display:flex;margin-left:6px;"]),Qa=jt({Button:Gte,Wrapper:Hte,Label:BA,SideArrows:Ute,Divider:Wte,StartIcon:Vte,EndIcon:Xte,Badge:HA}),Yte=["children","startIcon","endIcon","badge","color","active","buttonType","sideBarType","size","loading","disabled"],Da=ct(function(e,t){var n=e.children,r=e.startIcon,i=e.endIcon,a=e.badge,o=e.color,c=o===void 0?nr.Primary:o,u=e.active,d=u===void 0?!1:u,f=e.buttonType,w=f===void 0?i1.Default:f,m=e.sideBarType,g=m===void 0?qs.Left:m,y=e.size,C=y===void 0?it.Md:y,P=e.loading,S=P===void 0?!1:P,E=e.disabled,p=E===void 0?!1:E,x=fe(e,Yte),O=function(I){switch(g){case qs.Right:return d?b.createElement(IO,I):b.createElement(AO,I);case qs.Left:return d?b.createElement(AO,I):b.createElement(IO,I)}},k=function(){var I=[b.createElement(Qa.SideArrows,{key:"arrows",$sideBarType:g},O({size:Fte(C)}))],L=b.createElement(Qa.Divider,{key:"divider",size:C,$sideBarType:g});return g===qs.Right?I.unshift(L):I.push(L),w===i1.Sidebar&&I};return b.createElement(Qa.Button,le({type:"button",$buttonType:w},x,{disabled:S||p,color:c,active:d,size:C,ref:t}),g===qs.Left&&k(),b.createElement(Qa.Wrapper,null,r&&b.createElement(Qa.StartIcon,{$loading:S,size:C},typeof r=="function"?S?b.createElement(fy,{size:Sc(C)}):r({size:Sc(C)}):S?b.createElement(fy,{size:Sc(C)}):r),S&&!r&&b.createElement(Qa.StartIcon,{$loading:S},b.createElement(fy,{size:Sc(C)})),b.createElement(Qa.Label,null,n),i&&b.createElement(Qa.EndIcon,null,typeof i=="function"?i({size:Sc(C)}):i)),g===qs.Right&&k(),a&&b.createElement(Qa.Badge,null,b.createElement(Ite,{inline:!0,size:14,padding:"0 1px",badgeContent:a,color:c===nr.Primary?"white":"secondary"})))}),Kte=["color","size"],Zte=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Kte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 42 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.483002 4.49014V37.5097C0.483002 38.5725 0.90519 39.5917 1.65669 40.3432C2.40819 41.0947 3.42745 41.5169 4.49023 41.5169H37.5098C38.5726 41.5169 39.5918 41.0947 40.3433 40.3432C41.0948 39.5917 41.517 38.5725 41.517 37.5097V4.49014C41.517 3.42735 41.0948 2.4081 40.3433 1.6566C39.5918 0.905099 38.5726 0.48291 37.5098 0.48291H4.49023C3.42745 0.48291 2.40819 0.905099 1.65669 1.6566C0.90519 2.4081 0.483002 3.42735 0.483002 4.49014ZM38.9272 5.87776V31.3044L26.3817 19.5446L21.8068 22.3356L14.8048 15.3337L3.07279 23.0543V6.06233C3.07279 5.2695 3.38775 4.50913 3.94836 3.94851C4.50898 3.38789 5.26935 3.07294 6.06218 3.07294H36.1222C36.8661 3.07294 37.5795 3.36844 38.1055 3.89444C38.6316 4.42044 38.9272 5.13385 38.9272 5.87776Z",fill:r}),b.createElement("path",{d:"M30.4602 15.6943C33.066 15.6943 35.1784 13.5819 35.1784 10.976C35.1784 8.37021 33.066 6.25777 30.4602 6.25777C27.8543 6.25777 25.7419 8.37021 25.7419 10.976C25.7419 13.5819 27.8543 15.6943 30.4602 15.6943Z",fill:r}))}),$te=["color","size"],qte=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,$te);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 40 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M39.5112 31.2036C39.5112 41.568 31.0785 50 20.7148 50H14.0613C12.9587 50 12.0652 49.1066 12.0652 48.004V47.3386C12.0652 46.2359 12.9586 45.3425 14.0613 45.3425H20.7148C28.5107 45.3425 34.8537 38.9995 34.8537 31.2036C34.8537 23.4078 28.5107 17.0648 20.7148 17.0648H8.4394L16.8935 25.5189C17.8015 26.4266 17.8015 27.9042 16.8935 28.8119C16.0124 29.6923 14.479 29.691 13.5999 28.8119L1.17111 16.3828C0.731285 15.943 0.488892 15.3581 0.488892 14.7359C0.488892 14.1142 0.731285 13.529 1.17111 13.0894L13.6006 0.65976C14.4797 -0.220001 16.0144 -0.220001 16.8936 0.65976C17.8016 1.56722 17.8016 3.04511 16.8936 3.95246L8.43951 12.4072H20.7148C31.0785 12.4072 39.5112 20.8395 39.5112 31.2036Z",fill:r}))}),Qte=["color","size"],Jte=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Qte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 40 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.98 31.2037C0.98 41.568 9.41216 50 19.7752 50H26.4284C27.5309 50 28.4244 49.1066 28.4244 48.004V47.3386C28.4244 46.2359 27.531 45.3425 26.4284 45.3425H19.7752C11.9798 45.3425 5.6372 38.9995 5.6372 31.2037C5.6372 23.4079 11.9798 17.0648 19.7752 17.0648H32.05L23.5964 25.5189C22.6884 26.4266 22.6884 27.9043 23.5964 28.812C24.4774 29.6924 26.0107 29.6911 26.8897 28.812L39.3178 16.3828C39.7576 15.943 40 15.3582 40 14.736C40 14.1142 39.7576 13.5291 39.3178 13.0895L26.8891 0.659821C26.01 -0.21994 24.4754 -0.21994 23.5962 0.659821C22.6883 1.56728 22.6883 3.04517 23.5962 3.95252L32.0498 12.4073H19.7752C9.41216 12.4073 0.98 20.8396 0.98 31.2037Z",fill:r}))}),ene=["color","size"],tne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ene);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M40.1901 7.27549L7.59689 39.8687C6.83412 40.6315 6.83412 41.8681 7.59689 42.6308C8.35965 43.3936 9.59626 43.3936 10.359 42.6308L42.9522 10.0376C43.715 9.27486 43.715 8.03825 42.9522 7.27549C42.1895 6.51272 40.9529 6.51272 40.1901 7.27549Z",fill:r}))}),nne=["color","size"],rne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,nne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M41.2229 16.7653C41.3215 12.426 39.7436 8.284 36.6864 5.02956C33.6292 1.77513 29.4872 -2.09808e-05 25.0493 -2.09808e-05C20.6114 -2.09808e-05 16.3708 1.77513 13.3136 5.02956C10.2564 8.18538 8.6785 12.3274 8.77712 16.7653C3.45168 19.5266 0 25.1479 0 31.1637C0 37.2781 3.25444 42.6035 8.57988 45.4635C11.0454 46.7455 13.7081 47.4359 16.2722 47.4359C19.3294 47.4359 22.288 46.5483 24.9507 44.8718C29.9803 48.1262 36.0947 48.3234 41.4201 45.4635C46.7456 42.6035 50 37.2781 50 31.1637C50 25.0493 46.6469 19.5266 41.2229 16.7653ZM22.7811 43.0966C18.6391 45.3649 13.7081 45.3649 9.56607 42.998C5.22682 40.5325 2.66272 36.1933 2.66272 31.1637C2.66272 26.43 5.12821 22.0907 9.1716 19.6252C10.1578 24.359 13.3136 28.501 17.6529 30.6706C17.4556 35.4043 19.3294 39.8422 22.7811 43.0966ZM32.1499 27.8106C31.4596 24.5562 29.783 21.499 27.3176 19.2307C30.6706 17.357 34.8126 17.0611 38.4615 18.3432C37.7712 22.2879 35.503 25.7396 32.1499 27.8106ZM20.6114 28.1065C21.3018 25.2465 22.8797 22.6824 25.0493 20.8087C27.5148 22.8797 29.1913 25.8382 29.6844 28.9941C26.7258 30.0789 23.4714 30.0789 20.4142 28.9941C20.4142 28.6982 20.5128 28.4023 20.6114 28.1065ZM25.0493 17.4556C23.57 16.4694 21.8935 15.7791 20.1183 15.3846C19.428 15.1874 18.6391 15.6805 18.5404 16.3708C18.4418 16.7653 18.5404 17.0611 18.7377 17.357C18.9349 17.6528 19.2308 17.8501 19.5266 17.9487C20.7101 18.2446 21.7949 18.639 22.7811 19.2307C20.3156 21.499 18.6391 24.4576 17.9487 27.8106C14.5957 25.7396 12.2288 22.2879 11.6371 18.3432C11.9329 18.2446 12.1302 18.1459 12.426 18.0473C12.7219 17.9487 13.0178 17.7515 13.215 17.357C13.4122 17.0611 13.4122 16.6666 13.3136 16.3708C13.1164 15.6805 12.3274 15.286 11.6371 15.4832C11.5385 15.4832 11.5385 15.4832 11.4398 15.5818C11.8343 8.48124 17.7515 2.6627 25.0493 2.6627C32.3471 2.6627 38.2643 8.38262 38.6588 15.5818C34.0237 14.2012 28.9941 14.8915 25.0493 17.4556ZM29.783 31.7554C29.5858 35.5029 27.9093 39.0532 25.0493 41.5187C22.1893 39.0532 20.4142 35.6016 20.3156 31.7554C23.3728 32.7416 26.7258 32.7416 29.783 31.7554ZM32.4458 30.6706C36.785 28.4023 39.8422 24.359 40.927 19.6252C44.9704 22.0907 47.4359 26.43 47.4359 31.1637C47.4359 36.0947 44.8718 40.5325 40.5325 42.998C36.3905 45.3649 31.4596 45.3649 27.3176 43.0966C30.7692 39.8422 32.643 35.4043 32.4458 30.6706Z",fill:r}),b.createElement("path",{d:"M15.5819 14.8915C14.9901 14.9901 14.497 15.5818 14.497 16.1735C14.497 16.8639 15.0888 17.5542 15.8777 17.5542C16.6667 17.5542 17.2584 16.9625 17.2584 16.1735C17.2584 15.7791 17.0611 15.3846 16.7653 15.1874C16.3708 14.9901 15.9763 14.8915 15.5819 14.8915Z",fill:r}))}),ine=["color","size"],ane=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ine);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5 2.00049C3.34315 2.00049 2 3.34364 2 5.00049V16.7505H5.5V5.50049H16.75V2.00049H5ZM45 2.00049H33.25V5.50049H44.5V16.7505H48V5.00049C48 3.34363 46.6569 2.00049 45 2.00049ZM5.5 33.2505H2V45.0005C2 46.6573 3.34315 48.0005 5 48.0005H16.75V44.5005H5.5V33.2505ZM48 33.2505H44.5V44.5005H33.25V48.0005H45C46.6569 48.0005 48 46.6573 48 45.0005V33.2505Z",fill:r}))}),one=["color","size"],sne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,one);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 53 37",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.11841 3.93799V32.063H47.8684V3.93799H4.11841ZM3.49341 0.812988C2.1127 0.812988 0.993408 1.91229 0.993408 3.26835V32.7326C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7326V3.26835C50.9934 1.91229 49.8741 0.812988 48.4934 0.812988H3.49341Z",fill:r}))}),lne=["color","size"],cne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.5 0.5H3V2.375H2.375V3H0.5V0.5Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 21.125H3V21.2693H24.7308V43H24.875V45.5L0.5 45.5001V21.125ZM22.2308 43L3 43.0001V23.7693H22.2308V43Z",fill:r}),b.createElement("path",{d:"M43 45.5H45.5V43H43.625V43.625H43V45.5Z",fill:r}),b.createElement("path",{d:"M45.5 3V0.5H43V2.375H43.625V3H45.5Z",fill:r}),b.createElement("path",{d:"M6.125 0.5V3H9.875V0.5H6.125Z",fill:r}),b.createElement("path",{d:"M13.625 0.5V3H17.375V0.5H13.625Z",fill:r}),b.createElement("path",{d:"M21.125 0.5V3H24.875V0.5H21.125Z",fill:r}),b.createElement("path",{d:"M28.625 0.5V3H32.375V0.5H28.625Z",fill:r}),b.createElement("path",{d:"M36.125 0.5V3H39.875V0.5H36.125Z",fill:r}),b.createElement("path",{d:"M45.5 6.125H43V9.875H45.5V6.125Z",fill:r}),b.createElement("path",{d:"M45.5 13.625H43V17.375H45.5V13.625Z",fill:r}),b.createElement("path",{d:"M45.5 21.125H43V24.875H45.5V21.125Z",fill:r}),b.createElement("path",{d:"M45.5 28.625H43V32.375H45.5V28.625Z",fill:r}),b.createElement("path",{d:"M45.5 36.125H43V39.875H45.5V36.125Z",fill:r}),b.createElement("path",{d:"M39.875 45.5V43H36.125V45.5H39.875Z",fill:r}),b.createElement("path",{d:"M32.375 45.5V43H28.625V45.5H32.375Z",fill:r}),b.createElement("path",{d:"M0.5 17.375H3V13.625H0.5V17.375Z",fill:r}),b.createElement("path",{d:"M0.5 9.875H3V6.125H0.5V9.875Z",fill:r}),b.createElement("path",{d:"M35.1391 9.23718L26.3209 17.8619C25.8274 18.3446 25.8186 19.136 26.3013 19.6295C26.784 20.1231 27.5754 20.1319 28.069 19.6492L37.1012 10.815V16.9907C37.1012 17.681 37.6609 18.2407 38.3512 18.2407C39.0416 18.2407 39.6012 17.681 39.6012 16.9907V7.98718C39.6012 7.29683 39.0416 6.73718 38.3512 6.73718L29.3477 6.73718C28.6574 6.73718 28.0977 7.29683 28.0977 7.98718C28.0977 8.67754 28.6574 9.23718 29.3477 9.23718L35.1391 9.23718Z",fill:r}))}),une=["color","size"],dne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,une);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.1323 0.500031H2.73399C1.42693 0.500031 0.399963 1.527 0.399963 2.83406V43.166C0.399963 44.4731 1.42693 45.5 2.73399 45.5H42.1323C43.4394 45.5 44.4664 44.4731 44.4664 43.166V2.83406C44.4664 1.527 43.4394 0.500031 42.1323 0.500031ZM41.6655 3.30086V25.8942L36.624 21.693C36.1572 21.2262 35.4103 21.2262 34.8502 21.5996L28.595 26.2677L15.5244 11.2365C15.3377 10.9565 14.9643 10.7697 14.5908 10.7697C14.2174 10.7697 13.8439 10.9565 13.5639 11.1432L3.20079 21.693V3.30086H41.6655ZM3.20079 42.6992V39.8984C4.22776 40.3652 5.72154 40.832 7.58876 40.832C9.36262 40.832 10.483 40.2718 11.3232 39.805C12.0701 39.4316 12.5369 39.1515 13.3771 39.2448C14.3108 39.3382 14.8709 39.5249 15.4311 39.805C16.2713 40.0851 17.2049 40.4585 18.9788 40.4585V38.3112C17.6717 38.3112 17.0182 38.0312 16.178 37.7511C15.5244 37.471 14.6842 37.1909 13.5639 37.0975C12.0701 36.9108 11.1365 37.471 10.2962 37.8444C9.54934 38.2179 8.80245 38.5913 7.4954 38.5913C5.06801 38.5913 3.6676 37.7511 3.10743 37.2843V35.0436C4.1344 35.5104 5.62818 35.9772 7.4954 35.9772C9.26926 35.9772 10.3896 35.417 11.2298 34.9502C11.9767 34.5768 12.4435 34.2967 13.2838 34.3901C14.2174 34.4834 14.7776 34.6702 15.3377 34.9502C16.178 35.2303 17.1116 35.6038 18.8854 35.6038V33.4565C17.5784 33.4565 16.9249 33.1764 16.0846 32.8963C15.4311 32.6162 14.5908 32.3361 13.4705 32.2428C11.9767 32.056 11.0431 32.6162 10.2029 32.9897C9.45598 33.3631 8.70909 33.7365 7.40204 33.7365C4.97465 33.7365 3.57424 32.8963 3.01407 32.4295V30.1888C4.04104 30.6556 5.53482 31.1224 7.40204 31.1224C9.1759 31.1224 10.2962 30.5623 11.1365 30.0955C11.8834 29.722 12.3502 29.4419 13.1904 29.5353C14.124 29.6287 14.6842 29.8154 15.2444 30.0955C16.0846 30.3755 17.0182 30.749 18.7921 30.749V28.6017C17.485 28.6017 16.8315 28.3216 15.9912 28.0415C15.3377 27.7614 14.4975 27.4814 13.3771 27.388C11.8834 27.2013 10.9498 27.7614 10.1095 28.1349C9.36262 28.5083 8.61573 28.8818 7.30868 28.8818C4.88129 28.8818 3.48088 28.0415 2.92071 27.5747V25.7075L14.124 14.2241L27.1012 29.0685C27.568 29.6287 28.4083 29.722 28.9684 29.2552L35.4103 24.4004L41.3854 29.4419V42.6058H3.20079V42.6992Z",fill:r}),b.createElement("path",{d:"M32.7029 15.7179C35.4103 15.7179 37.651 13.4772 37.651 10.7697C37.651 8.06227 35.4103 5.82161 32.7029 5.82161C29.9954 5.82161 27.7547 8.06227 27.7547 10.7697C27.7547 13.4772 29.9954 15.7179 32.7029 15.7179ZM32.7029 8.15563C34.1966 8.15563 35.317 9.36933 35.317 10.7697C35.317 12.1702 34.1033 13.3838 32.7029 13.3838C31.3025 13.3838 30.0888 12.1702 30.0888 10.7697C30.0888 9.36933 31.2091 8.15563 32.7029 8.15563Z",fill:r}))}),hne=["color","size"],fne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43.4164 5.98527H1.06762C0.533808 5.98527 0 6.53674 0 7.08821V49C0 49.7353 0.533808 50.1029 1.06762 50.1029H43.4164C44.1281 50.1029 44.484 49.7353 44.484 49V7.08821C44.484 6.53674 44.1281 5.98527 43.4164 5.98527ZM35.7651 13.1544C37.9004 13.1544 39.5 15.0809 39.5 17.1029C39.5 19.3088 37.7224 20.6029 35.7651 20.6029C33.8078 20.6029 32 19.125 32 17.1029C31.8221 14.897 33.6299 13.1544 35.7651 13.1544ZM1.9573 45.875C2.13523 45.6912 14.2349 30.9853 16.548 27.8603C16.726 27.4926 17.2598 27.4926 17.4377 27.8603L29.7153 43.4853L35.0534 37.4191C35.4093 37.0514 35.7651 37.2353 35.9431 37.4191L42.5267 45.875H1.9573Z",fill:r}),b.createElement("path",{d:"M48.9164 -3.8147e-06H6.74555C6.03381 -3.8147e-06 5.5 0.367643 5.5 1.10294V4.29294H7.5V2.20588H47.6892V39H46.2473V44.1176H48.9164C49.6281 44.1176 49.984 43.75 49.984 43.0147V1.10294C49.984 0.367643 49.6281 -3.8147e-06 48.9164 -3.8147e-06Z",fill:r}))}),pne=["color","size"],GA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,pne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M25 0C38.8071 0 50 11.1929 50 25C50 38.807 38.8071 50 25 50C14.111 50 4.854 43.0397 1.42326 33.333C0.963005 32.0312 1.6455 30.603 2.94725 30.143C4.249 29.6828 5.67725 30.365 6.1375 31.667C8.88425 39.4382 16.2957 45 25 45C36.0457 45 45 36.0457 45 25C45 13.9543 36.0457 5 25 5C21.121 5 17.8345 6.40292 14.7095 8.6015C12.6078 10.0803 10.663 11.8526 8.6895 13.75H16.25C17.6308 13.75 18.75 14.8693 18.75 16.25C18.75 17.6307 17.6308 18.75 16.25 18.75H2.5C1.11926 18.75 0 17.6307 0 16.25V2.5C0 1.1193 1.11926 0 2.5 0C3.88075 0 5 1.1193 5 2.5V10.3593C7.12075 8.31457 9.38601 6.23342 11.8325 4.51222C15.5128 1.9229 19.7882 0 25 0Z",fill:r}))}),gne=["color","size"],VA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,gne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M39.4229 8.89453L39.7891 16.6582H38.8613C38.6823 15.291 38.4382 14.3145 38.1289 13.7285C37.6243 12.7845 36.9489 12.0928 36.1025 11.6533C35.2725 11.1976 34.1738 10.9697 32.8066 10.9697H28.1436V36.2627C28.1436 38.2972 28.3633 39.5667 28.8027 40.0713C29.4212 40.7549 30.3734 41.0967 31.6592 41.0967H32.8066V42H18.7686V41.0967H19.9404C21.3402 41.0967 22.333 40.6735 22.9189 39.8271C23.277 39.3063 23.4561 38.1182 23.4561 36.2627V10.9697H19.4766C17.9303 10.9697 16.8317 11.0837 16.1807 11.3115C15.3343 11.6208 14.61 12.2148 14.0078 13.0938C13.4056 13.9727 13.0475 15.1608 12.9336 16.6582H12.0059L12.3965 8.89453H39.4229Z",fill:r}))}),mne=["color","size"],DO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,mne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 45 29",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0 1.89502C0 1.20466 0.559644 0.64502 1.25 0.64502H28.75C29.4404 0.64502 30 1.20466 30 1.89502C30 2.58538 29.4404 3.14502 28.75 3.14502H1.25C0.559645 3.14502 0 2.58538 0 1.89502Z",fill:r}),b.createElement("path",{d:"M0 14.395C0 13.7047 0.559644 13.145 1.25 13.145H43.75C44.4404 13.145 45 13.7047 45 14.395C45 15.0854 44.4404 15.645 43.75 15.645H1.25C0.559645 15.645 0 15.0854 0 14.395Z",fill:r}),b.createElement("path",{d:"M1.25 25.645C0.559644 25.645 0 26.2047 0 26.895C0 27.5854 0.559645 28.145 1.25 28.145H28.75C29.4404 28.145 30 27.5854 30 26.895C30 26.2047 29.4404 25.645 28.75 25.645H1.25Z",fill:r}))}),vne=["color","size"],UA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,vne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M38 1.50049C38 0.810132 37.4404 0.250488 36.75 0.250488H9.25C8.55964 0.250488 8 0.810132 8 1.50049C8 2.19084 8.55964 2.75049 9.25 2.75049H36.75C37.4404 2.75049 38 2.19084 38 1.50049Z",fill:r}),b.createElement("path",{d:"M45.5 14.0005C45.5 13.3101 44.9404 12.7505 44.25 12.7505H1.75C1.05964 12.7505 0.5 13.3101 0.5 14.0005C0.5 14.6908 1.05964 15.2505 1.75 15.2505H44.25C44.9404 15.2505 45.5 14.6908 45.5 14.0005Z",fill:r}),b.createElement("path",{d:"M36.75 25.2505C37.4404 25.2505 38 25.8101 38 26.5005C38 27.1908 37.4404 27.7505 36.75 27.7505H9.25C8.55964 27.7505 8 27.1908 8 26.5005C8 25.8101 8.55964 25.2505 9.25 25.2505H36.75Z",fill:r}))}),yne=["color","size"],WA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,yne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 45 43",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M2.66027 14.6997L3.59752 14.4437L3.09232 3.93218C3.05918 3.24262 2.47331 2.71049 1.78375 2.74363C1.09419 2.77677 0.562061 3.36263 0.595202 4.05219L1.16041 15.8123C1.19355 16.5018 1.77942 17.034 2.46898 17.0008L14.2291 16.4356C14.9186 16.4025 15.4508 15.8166 15.4176 15.1271C15.3845 14.4375 14.7986 13.9054 14.1091 13.9385L5.48447 14.353C8.23224 7.41077 15.0052 2.50049 22.925 2.50049C33.2802 2.50049 41.6748 10.8951 41.6748 21.2503C41.6748 22.4035 41.5706 23.5324 41.3713 24.6281L43.7968 25.261C44.0449 23.9622 44.1748 22.6214 44.1748 21.2503C44.1748 9.51435 34.6609 0.000488281 22.925 0.000488281C15.0467 0.000488281 8.16974 4.28779 4.50001 10.6566L2.66027 14.6997Z",fill:r}),b.createElement("path",{d:"M9.88491 34.708L8.27773 36.6309C8.82614 37.1539 9.40248 37.6479 10.0043 38.1103L11.5276 36.128C10.9528 35.6863 10.4043 35.2121 9.88491 34.708Z",fill:r}),b.createElement("path",{d:"M12.3142 39.6567C13.9038 40.5764 15.6235 41.2961 17.439 41.7814L18.0846 39.3662C16.4846 38.9385 14.9685 38.3041 13.5662 37.4928L12.3142 39.6567Z",fill:r}),b.createElement("path",{d:"M20.1654 42.3209C21.0738 42.4394 22.0002 42.5005 22.9408 42.5005C23.8815 42.5005 24.8079 42.4394 25.7162 42.3209L25.3929 39.8419C24.5915 39.9465 23.7731 40.0005 22.9408 40.0005C22.1086 40.0005 21.2902 39.9465 20.4888 39.8419L20.1654 42.3209Z",fill:r}),b.createElement("path",{d:"M28.4427 41.7814C30.2582 41.2961 31.9779 40.5764 33.5674 39.6567L32.3154 37.4928C30.9132 38.3041 29.397 38.9385 27.7971 39.3662L28.4427 41.7814Z",fill:r}),b.createElement("path",{d:"M35.8774 38.1103C37.3494 36.9791 38.6692 35.6594 39.8004 34.1873L37.8181 32.664C36.8193 33.9638 35.6538 35.1292 34.354 36.128L35.8774 38.1103Z",fill:r}),b.createElement("path",{d:"M41.3468 31.8773C42.2665 30.2878 42.9862 28.5681 43.4715 26.7526L41.0563 26.107C40.6286 27.707 39.9942 29.2231 39.1829 30.6253L41.3468 31.8773Z",fill:r}))}),bne=["color","size"],wne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,bne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("g",{clipPath:"url(#clip0)"},b.createElement("path",{d:"M50.2753 26.8064H24.4689L36.5656 14.7096C32.735 11.0806 28.7027 9.66933 23.6624 9.66933C13.3802 9.66933 6.32372 15.3145 3.50118 25.5967L0.275391 24.7903C3.50118 13.0968 11.9689 6.44355 23.6625 6.44355C29.7109 6.44355 34.348 8.25806 38.9851 12.2903L50.2754 1L50.2753 26.8064Z",fill:r}),b.createElement("path",{d:"M34.5495 46.3628L33.1382 44.3467C33.743 43.9435 34.3479 43.3386 34.9527 42.9355L36.5656 44.75C35.9608 45.1532 35.3559 45.758 34.5495 46.3628Z",fill:r}),b.createElement("path",{d:"M27.2913 49.387C26.6865 49.5886 26.0817 49.5886 25.4768 49.7903L25.0736 47.3709C26.4848 47.1693 27.8962 46.7661 29.3074 46.3628L30.1139 48.5806C29.1058 48.9838 28.2994 49.1854 27.2913 49.387ZM20.4365 49.9919C18.8235 49.7903 17.2107 49.5886 15.5978 48.9838L16.4042 46.766C17.8155 47.1693 19.2268 47.5724 20.6381 47.5724L20.4365 49.9919ZM11.1623 46.9677C9.75104 46.1612 8.33971 45.1532 7.13003 43.9435L8.74296 42.129C9.75104 43.137 10.9607 43.9435 12.372 44.7499L11.1623 46.9677ZM3.90425 40.3144C2.89617 38.9032 2.08974 37.2903 1.6865 35.879L3.90425 35.0726C4.50909 36.4838 5.11393 37.6935 5.92036 38.9032L3.90425 40.3144Z",fill:r}),b.createElement("path",{d:"M3.2996 30.0322L0.880241 30.2338C0.678647 29.2257 0.678647 28.4193 0.678647 27.4112H3.09801C3.09801 28.4193 3.2996 29.2258 3.2996 30.0322Z",fill:r})),b.createElement("defs",null,b.createElement("rect",{width:"50",height:"50",fill:"white",transform:"translate(0.275391)"})))}),xne=["color","size"],Cne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,xne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 51 51",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M40.5 20H38V12.5C38 5.6 32.4 0 25.5 0C18.6 0 13 5.6 13 12.5V20H10.5C9.1 20 8 21.1 8 22.5V47.5C8 48.9 9.1 50 10.5 50H40.5C41.9 50 43 48.9 43 47.5V22.5C43 21.1 41.9 20 40.5 20ZM15.5 12.5C15.5 7 20 2.5 25.5 2.5C31 2.5 35.5 7 35.5 12.5V20H15.5V12.5ZM40.5 47.5H10.5V22.5H40.5V47.5Z",fill:r}),b.createElement("path",{d:"M24.3 37.3V41.3H26.8V37.3C28.3 36.8 29.3 35.4 29.3 33.8C29.3 31.7 27.6 30 25.5 30C23.4 30 21.7 31.7 21.7 33.8C21.8 35.4 22.8 36.8 24.3 37.3ZM25.5 32.5C26.2 32.5 26.8 33.1 26.8 33.8C26.8 34.5 26.2 35.1 25.5 35.1C24.8 35.1 24.2 34.5 24.2 33.8C24.3 33.1 24.8 32.5 25.5 32.5Z",fill:r}))}),Sne=["color","size"],_ne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Sne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M36.2754 7.5C34.2754 3.1 29.8754 0 24.7754 0C17.8754 0 12.2754 5.6 12.2754 12.5V20H9.77539C8.37539 20 7.27539 21.1 7.27539 22.5V47.5C7.27539 48.9 8.37539 50 9.77539 50H39.7754C41.1754 50 42.2754 48.9 42.2754 47.5V22.5C42.2754 21.1 41.1754 20 39.7754 20H14.7754V12.5C14.7754 7 19.2754 2.5 24.7754 2.5C28.4754 2.5 31.7754 4.5 33.4754 7.6L36.2754 7.5ZM39.7754 47.5H9.77539V22.5H39.7754V47.5Z",fill:r}),b.createElement("path",{d:"M24.7754 30C22.6754 30 20.9754 31.7 20.9754 33.7C20.9754 35.3 21.9754 36.7 23.4754 37.2V41.2H25.9754V37.2C27.4754 36.7 28.4754 35.3 28.4754 33.7C28.5754 31.7 26.8754 30 24.7754 30ZM24.7754 35C24.0754 35 23.4754 34.4 23.4754 33.7C23.4754 33 24.0754 32.4 24.7754 32.4C25.4754 32.4 25.9754 33 25.9754 33.7C25.9754 34.4 25.4754 35 24.7754 35Z",fill:r}))}),One=["color","size"],Ene=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,One);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("circle",{cx:"25",cy:"25",r:"8.33333",fill:r}))}),Pne=["color","size"],kne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Pne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.6793 7.32203C32.916 -2.44013 17.0863 -2.44122 7.32197 7.32203C-2.44128 17.0853 -2.4402 32.915 7.32197 42.6793C17.0852 52.4404 32.9149 52.4415 42.6793 42.6793C52.4414 32.915 52.4403 17.0864 42.6793 7.32203ZM28.2605 35.8705C28.2605 37.6716 26.8007 39.1314 24.9995 39.1314C23.1984 39.1314 21.7386 37.6716 21.7386 35.8705V22.8267C21.7386 21.0256 23.1984 19.5658 24.9995 19.5658C26.8007 19.5658 28.2605 21.0256 28.2605 22.8267V35.8705ZM24.9419 17.2527C23.0636 17.2527 21.8114 15.9222 21.8506 14.2798C21.8114 12.558 23.0636 11.2678 24.98 11.2678C26.8974 11.2678 28.1105 12.5591 28.1507 14.2798C28.1496 15.9222 26.8985 17.2527 24.9419 17.2527Z",fill:r}))}),Lne=["color","size"],XA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Lne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M48.9856 38.314L31.3034 3.80423C29.9688 1.42247 27.6118 0 24.9985 0C22.3852 0 20.0282 1.42247 18.6936 3.80423C18.6836 3.82245 18.6751 3.84067 18.665 3.8589L1.04158 38.2594C-0.321602 40.6914 -0.347383 43.612 0.971367 46.0713C2.29314 48.5321 4.67439 50 7.345 50H42.5544C45.225 50 47.7041 48.5321 49.0258 46.0713C50.3445 43.6121 50.3188 40.6913 48.9856 38.314ZM22.0659 15.8013C22.0659 14.0842 23.3789 12.6924 24.9985 12.6924C26.6182 12.6924 27.9311 14.0843 27.9311 15.8013V28.2372C27.9311 29.9541 26.6181 31.3462 24.9985 31.3462C23.3789 31.3462 22.0659 29.954 22.0659 28.2372V15.8013ZM24.9985 43.7821C22.5728 43.7821 20.5995 41.6902 20.5995 39.1186C20.5995 36.5471 22.5727 34.4552 24.9985 34.4552C27.4242 34.4552 29.3974 36.5471 29.3974 39.1186C29.3975 41.6901 27.4243 43.7821 24.9985 43.7821Z",fill:r}))}),Mne=["color","size"],Tne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Mne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M25 50C11.2033 50 0 38.7967 0 25C0 11.2033 11.2033 0 25 0C38.7967 0 50 11.2033 50 25C50 38.7967 38.6929 50 25 50ZM25 3.52697C13.1743 3.52697 3.63071 13.1743 3.63071 24.8963C3.63071 36.6183 13.278 46.2656 25 46.2656C36.8257 46.2656 46.3693 36.6183 46.3693 24.8963C46.3693 13.1743 36.8257 3.52697 25 3.52697Z",fill:r}),b.createElement("path",{d:"M28.3755 13.125C28.3755 11.3992 26.9765 10 25.2505 10C23.5245 10 22.1255 11.3992 22.1255 13.125C22.1255 14.8516 23.5245 16.25 25.2505 16.25C26.9765 16.25 28.3755 14.8516 28.3755 13.125Z",fill:r}),b.createElement("path",{d:"M20.563 38.5H29.938C30.8009 38.5 31.5005 37.8012 31.5005 36.9375C31.5005 36.0746 30.8009 35.375 29.938 35.375H28.3755V20.9375C28.3755 20.0746 27.6759 19.375 26.813 19.375H20.563C19.7001 19.375 19.0005 20.0746 19.0005 20.9375C19.0005 21.8012 19.7001 22.5 20.563 22.5H22.1255V35.375H20.563C19.7001 35.375 19.0005 36.0746 19.0005 36.9375C19.0005 37.8012 19.7001 38.5 20.563 38.5Z",fill:r}))}),Ane=["color","size"],YA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ane);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M31.3032 17.8662C34.0646 17.8662 36.3032 15.6276 36.3032 12.8662C36.3032 10.1048 34.0646 7.86618 31.3032 7.86618C28.5418 7.86618 26.3032 10.1048 26.3032 12.8662C26.3032 15.6276 28.5418 17.8662 31.3032 17.8662ZM31.3032 15.3662C32.6839 15.3662 33.8032 14.2469 33.8032 12.8662C33.8032 11.4855 32.6839 10.3662 31.3032 10.3662C29.9225 10.3662 28.8032 11.4855 28.8032 12.8662C28.8032 14.2469 29.9225 15.3662 31.3032 15.3662Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.9372 15.1063C16.3967 15.0794 16.8338 15.3071 17.075 15.6991L25.0831 28.7141L29.8357 24.4289C30.0935 24.1966 30.4362 24.0818 30.7819 24.1121C31.1276 24.1424 31.4452 24.3151 31.6586 24.5887L40.2822 35.6497C40.5759 36.0264 40.6292 36.5376 40.4196 36.9668C40.21 37.396 39.7741 37.6683 39.2964 37.6683H6.70331C6.2766 37.6683 5.87937 37.4506 5.64974 37.091C5.42011 36.7313 5.38981 36.2794 5.56937 35.8923L14.8765 15.8282C15.0702 15.4106 15.4777 15.1333 15.9372 15.1063ZM16.1652 18.991L8.66108 35.1683H36.7368L30.5126 27.1848L25.6422 31.5761C25.3666 31.8246 24.9947 31.9378 24.6274 31.885C24.26 31.8322 23.9351 31.6189 23.7406 31.3027L16.1652 18.991Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z",fill:r}))}),Ine=["color","size"],Fne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ine);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.562515 0.562512H3.68752V2.90626H2.90627V3.68751H0.562515V0.562512ZM0.562515 44.3125V47.4375H3.68752V45.0938H2.90627V44.3125H0.562515ZM44.3125 47.4375H47.4375V44.3125H45.0938V45.0938H44.3125V47.4375ZM47.4375 3.68751V0.562512H44.3125V2.90626H45.0938V3.68751H47.4375ZM7.59376 0.562512V3.68751H12.2813V0.562512H7.59376ZM16.9688 0.562512V3.68751H21.6563V0.562512H16.9688ZM26.3438 0.562512V3.68751H31.0313V0.562512H26.3438ZM35.7188 0.562512V3.68751H40.4063V0.562512H35.7188ZM47.4375 7.59376H44.3125V12.2813H47.4375V7.59376ZM47.4375 16.9688H44.3125V21.6563H47.4375V16.9688ZM47.4375 26.3438H44.3125V31.0313H47.4375V26.3438ZM47.4375 35.7188H44.3125V40.4063H47.4375V35.7188ZM40.4063 47.4375V44.3125H35.7188V47.4375H40.4063ZM31.0313 47.4375V44.3125H26.3438V47.4375H31.0313ZM21.6563 47.4375V44.3125H16.9688V47.4375H21.6563ZM12.2813 47.4375V44.3125H7.59377V47.4375H12.2813ZM0.562515 40.4063H3.68752V35.7188H0.562515V40.4063ZM0.562515 31.0313H3.68752V26.3438H0.562515V31.0313ZM0.562515 21.6563H3.68752V16.9688H0.562515V21.6563ZM0.562515 12.2813H3.68752V7.59376H0.562515V12.2813Z",fill:r}))}),Dne=["color","size"],Nne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Dne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M37.5001 24.0625C38.2086 24.0625 38.8284 23.5858 39.0102 22.901C39.1921 22.2162 38.8904 21.4948 38.2753 21.1433L3.27531 1.14333C2.79171 0.866989 2.19757 0.868973 1.71583 1.14854C1.23409 1.4281 0.937592 1.94298 0.937592 2.49996V22.5C0.937592 23.3629 1.63715 24.0625 2.50009 24.0625L37.5001 24.0625ZM4.06259 20.9375L4.06259 5.19243L31.6164 20.9375L4.06259 20.9375Z",fill:r}),b.createElement("path",{d:"M38.2753 28.8566C38.8904 28.5051 39.1921 27.7837 39.0102 27.0989C38.8284 26.4142 38.2086 25.9375 37.5001 25.9375H35.3126V26.9504L34.5374 27.3933L35.3126 28.75V29.0625H35.4912L36.0878 30.1066L38.2753 28.8566Z",fill:r}),b.createElement("path",{d:"M27.3378 35.1066L31.7128 32.6066L30.1624 29.8933L25.7874 32.3933L27.3378 35.1066Z",fill:r}),b.createElement("path",{d:"M30.9376 25.9375H26.5626L26.5626 29.0625H30.9376L30.9376 25.9375Z",fill:r}),b.createElement("path",{d:"M18.5878 40.1066L22.9628 37.6066L21.4124 34.8933L17.0374 37.3933L18.5878 40.1066Z",fill:r}),b.createElement("path",{d:"M22.1876 25.9375H17.8126V29.0625H22.1876V25.9375Z",fill:r}),b.createElement("path",{d:"M9.83781 45.1066L14.2128 42.6066L12.6624 39.8933L8.28738 42.3933L9.83781 45.1066Z",fill:r}),b.createElement("path",{d:"M13.4376 25.9375H9.0626V29.0625H13.4376V25.9375Z",fill:r}),b.createElement("path",{d:"M3.27531 48.8566L5.46281 47.6066L4.06259 45.1562V45H3.97331L3.91238 44.8933L3.72578 45H0.937592V47.5C0.937592 48.0569 1.23409 48.5718 1.71583 48.8514C2.19758 49.1309 2.79171 49.1329 3.27531 48.8566Z",fill:r}),b.createElement("path",{d:"M4.6876 25.9375L2.50009 25.9375C1.63715 25.9375 0.937592 26.637 0.937592 27.5V30H4.06259V29.0625H4.6876V25.9375Z",fill:r}),b.createElement("path",{d:"M0.937592 35V40L4.06259 40V35H0.937592Z",fill:r}))}),Rne=["color","size"],jne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Rne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24.0625 1.93758C24.0625 1.22909 23.5858 0.609274 22.901 0.427427C22.2163 0.245581 21.4949 0.547225 21.1434 1.16237L1.14337 39.2874C0.867028 39.771 0.869012 40.3651 1.14858 40.8468C1.42814 41.3286 1.94302 41.6251 2.5 41.6251H22.5C23.3629 41.6251 24.0625 40.9255 24.0625 40.0626V1.93758ZM20.9375 38.5001H5.19247L20.9375 7.82128V38.5001Z",fill:r}),b.createElement("path",{d:"M28.8566 1.16237C28.5051 0.547225 27.7837 0.245581 27.099 0.427428C26.4142 0.609274 25.9375 1.22909 25.9375 1.93758V4.12508H26.9504L27.3934 4.9003L28.75 4.12508H29.0625V3.94651L30.1066 3.34986L28.8566 1.16237Z",fill:r}),b.createElement("path",{d:"M35.1066 12.0999L32.6066 7.72486L29.8934 9.2753L32.3934 13.6503L35.1066 12.0999Z",fill:r}),b.createElement("path",{d:"M25.9375 8.50008V12.8751H29.0625V8.50008H25.9375Z",fill:r}),b.createElement("path",{d:"M40.1066 23.9749L37.6066 19.5999L34.8934 21.1503L37.3934 25.5253L40.1066 23.9749Z",fill:r}),b.createElement("path",{d:"M25.9375 20.3751V24.7501H29.0625V20.3751H25.9375Z",fill:r}),b.createElement("path",{d:"M45.1066 32.7249L42.6066 28.3499L39.8934 29.9003L42.3934 34.2753L45.1066 32.7249Z",fill:r}),b.createElement("path",{d:"M25.9375 29.1251V33.5001H29.0625V29.1251H25.9375Z",fill:r}),b.createElement("path",{d:"M48.8566 39.2874L47.6066 37.0999L45.1562 38.5001H45V38.5894L44.8934 38.6503L45 38.8369V41.6251H47.5C48.057 41.6251 48.5719 41.3286 48.8514 40.8468C49.131 40.3651 49.133 39.771 48.8566 39.2874Z",fill:r}),b.createElement("path",{d:"M25.9375 37.8751V40.0626C25.9375 40.9255 26.6371 41.6251 27.5 41.6251H30V38.5001H29.0625V37.8751H25.9375Z",fill:r}),b.createElement("path",{d:"M35 41.6251H40V38.5001H35V41.6251Z",fill:r}))}),zne=["color","size"],KA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,zne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25.2047 46.875C37.2859 46.875 47.0797 37.0812 47.0797 25C47.0797 12.9188 37.2859 3.125 25.2047 3.125C13.1235 3.125 3.32968 12.9188 3.32968 25C3.32968 37.0812 13.1235 46.875 25.2047 46.875ZM25.2047 50C39.0118 50 50.2047 38.8071 50.2047 25C50.2047 11.1929 39.0118 0 25.2047 0C11.3976 0 0.204681 11.1929 0.204681 25C0.204681 38.8071 11.3976 50 25.2047 50Z",fill:r}))}),Bne=["color","size"],Hne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Bne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 51 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.11841 3.93805V32.063H47.8684V3.93805H4.11841ZM3.49341 0.813049C2.1127 0.813049 0.993408 1.91235 0.993408 3.26841V32.7327C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7327V3.26841C50.9934 1.91235 49.8741 0.813049 48.4934 0.813049H3.49341Z",fill:r}))}),Gne=["color","size"],Vne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Gne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.50015 7.9997C5.50015 6.61898 6.61944 5.49969 8.00015 5.49969H38.0002C39.3809 5.49969 40.5002 6.61898 40.5002 7.99969V37.9997C40.5002 39.3804 39.3809 40.4997 38.0002 40.4997H8.00015C6.61944 40.4997 5.50015 39.3804 5.50015 37.9997V7.9997ZM8.00015 7.99969H38.0002V37.9997H8.00015V7.99969Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z",fill:r}))}),Une=["color","size"],Wne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Une);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.166672 0.166664H8.50001V8.5H0.166672V0.166664Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.8333 8.5H8.50001V16.8333H0.166672V25.1667H8.50001V33.5H0.166672V41.8333H8.50001V33.5H16.8333V41.8333H25.1667V33.5H33.5V41.8333H41.8333V33.5H33.5V25.1667H41.8333V16.8333H33.5V8.5H41.8333V0.166664H33.5V8.5H25.1667V0.166664H16.8333V8.5ZM16.8333 16.8333V8.5H25.1667V16.8333H16.8333ZM16.8333 25.1667V33.5H25.1667V25.1667H33.5V16.8333H25.1667V25.1667H16.8333ZM16.8333 25.1667H8.50001V16.8333H16.8333V25.1667Z",fill:r}))}),Xne=["color","size"],Yne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Xne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.95831 0.458374C1.5776 0.458374 0.458313 1.57766 0.458313 2.95837V35.4584C0.458313 36.8391 1.5776 37.9584 2.95831 37.9584H7.54167V43.7917C7.54167 45.8627 9.2206 47.5417 11.2917 47.5417H43.7917C45.8627 47.5417 47.5417 45.8627 47.5417 43.7917V11.2917C47.5417 9.22059 45.8627 7.54166 43.7917 7.54166H37.9583V2.95837C37.9583 1.57766 36.839 0.458374 35.4583 0.458374H2.95831ZM35.4583 2.95837H2.95831L2.95831 35.4584H35.4583V2.95837ZM15.7267 37.9584L10.0417 43.746V37.9584H15.7267ZM11.5135 45.0417L18.4712 37.9584H28.5529L21.4696 45.0417H11.5135ZM24.4159 45.0417H34.2932L45.0417 34.1339V24.0207L37.9583 31.3242V35.4584C37.9583 36.8391 36.839 37.9584 35.4583 37.9584H31.4912C31.4689 37.9859 31.445 38.0126 31.4194 38.0382L24.4159 45.0417ZM45.0417 21.3515L37.9583 28.655V18.9107L45.0417 11.8338V21.3515ZM37.0311 45.0417H43.7917C44.482 45.0417 45.0417 44.482 45.0417 43.7917V36.9124L37.0311 45.0417ZM43.8844 10.045C43.8538 10.0428 43.8229 10.0417 43.7917 10.0417H37.9583V15.9657L43.8844 10.045Z",fill:r}))}),Kne=["color","size"],Zne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Kne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M3 3H23V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V23H43V43H3V3Z",fill:r}),b.createElement("path",{d:"M45.5 7.25076H43V5.50076C43 5.15718 42.9321 4.83576 42.8113 4.54446L45.1206 3.58682C45.3651 4.17636 45.5 4.82281 45.5 5.50076V7.25076Z",fill:r}),b.createElement("path",{d:"M24.75 0.500763V3.00076H28.25V0.500763H24.75Z",fill:r}),b.createElement("path",{d:"M31.75 0.500763V3.00076H35.25V0.500763H31.75Z",fill:r}),b.createElement("path",{d:"M38.75 0.500763V3.00076H40.5C40.8436 3.00076 41.165 3.06868 41.4563 3.18948L42.414 0.880166C41.8244 0.635694 41.178 0.500763 40.5 0.500763H38.75Z",fill:r}),b.createElement("path",{d:"M45.5 10.7508H43V14.2508H45.5V10.7508Z",fill:r}),b.createElement("path",{d:"M45.5 17.7508H43V21.2508H45.5V17.7508Z",fill:r}))}),$ne=["color","size"],qne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,$ne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M9.25008 9.24878H11.7501V10.9675H10.9688V11.7488H9.25008V9.24878Z",fill:r}),b.createElement("path",{d:"M9.25008 34.2488V36.7488H11.7501V35.03H10.9688V34.2488H9.25008Z",fill:r}),b.createElement("path",{d:"M34.2501 36.7488H36.7501V34.2488H35.0313V35.03H34.2501V36.7488Z",fill:r}),b.createElement("path",{d:"M36.7501 11.7488V9.24878H34.2501V10.9675H35.0313V11.7488H36.7501Z",fill:r}),b.createElement("path",{d:"M14.4063 9.24878V11.7488H17.8438V9.24878H14.4063Z",fill:r}),b.createElement("path",{d:"M21.2813 9.24878V11.7488H24.7188V9.24878H21.2813Z",fill:r}),b.createElement("path",{d:"M28.1563 9.24878V11.7488H31.5938V9.24878H28.1563Z",fill:r}),b.createElement("path",{d:"M36.7501 14.405H34.2501V17.8425H36.7501V14.405Z",fill:r}),b.createElement("path",{d:"M36.7501 21.28H34.2501V24.7175H36.7501V21.28Z",fill:r}),b.createElement("path",{d:"M36.7501 28.155H34.2501V31.5925H36.7501V28.155Z",fill:r}),b.createElement("path",{d:"M31.5938 36.7488V34.2488H28.1563V36.7488H31.5938Z",fill:r}),b.createElement("path",{d:"M24.7188 36.7488V34.2488H21.2813V36.7488H24.7188Z",fill:r}),b.createElement("path",{d:"M17.8438 36.7488V34.2488H14.4063V36.7488H17.8438Z",fill:r}),b.createElement("path",{d:"M9.25008 31.5925H11.7501V28.155H9.25008V31.5925Z",fill:r}),b.createElement("path",{d:"M9.25008 24.7175H11.7501V21.28H9.25008V24.7175Z",fill:r}),b.createElement("path",{d:"M9.25008 17.8425H11.7501V14.405H9.25008V17.8425Z",fill:r}),b.createElement("path",{d:"M23.0002 26.7497C25.0712 26.7497 26.7502 25.0708 26.7502 22.9997C26.7502 20.9286 25.0712 19.2497 23.0002 19.2497C20.9291 19.2497 19.2502 20.9286 19.2502 22.9997C19.2502 25.0708 20.9291 26.7497 23.0002 26.7497Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z",fill:r}))}),Qne=["color","size"],Jne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Qne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.29986 0.991788C4.78802 0.503633 5.57947 0.503633 6.06763 0.991788L9.367 4.29116C9.85516 4.77932 9.85516 5.57077 9.367 6.05893C8.87885 6.54708 8.08739 6.54708 7.59924 6.05893L6.43374 4.89344V34.0829L7.59924 32.9174C8.08739 32.4293 8.87885 32.4293 9.367 32.9174C9.85516 33.4056 9.85516 34.197 9.367 34.6852L6.06763 37.9846C5.8332 38.219 5.51524 38.3507 5.18371 38.3507C4.85217 38.3507 4.53422 38.219 4.29981 37.9845L1.00084 34.6851C0.512712 34.1969 0.512761 33.4055 1.00095 32.9174C1.48913 32.4292 2.28059 32.4293 2.76871 32.9175L3.93374 34.0827V4.89344L2.76825 6.05893C2.2801 6.54708 1.48864 6.54708 1.00049 6.05893C0.51233 5.57077 0.51233 4.77932 1.00049 4.29116L4.29986 0.991788ZM13.1588 8.34109V1.49725H46.3156V8.34102H43.398V7.19776C43.398 5.54595 42.0562 4.20442 40.4047 4.20442H31.8516V26.0992C31.8516 28.1387 33.5088 29.7957 35.5481 29.7957H36.5137V32.4599H23.01V29.7957H23.9756C26.0151 29.7957 27.6721 28.1387 27.6721 26.0992V4.20448H19.0697C17.418 4.20448 16.0763 5.54604 16.0763 7.19783V8.34109H13.1588ZM46.9995 39.7088C47.4877 39.2207 47.4877 38.4292 46.9995 37.9411L43.7001 34.6417C43.212 34.1535 42.4205 34.1535 41.9324 34.6417C41.4442 35.1298 41.4442 35.9213 41.9324 36.4095L43.0979 37.5749L15.0832 37.5749L16.2484 36.4099C16.7366 35.9218 16.7366 35.1303 16.2485 34.6421C15.7604 34.154 14.9689 34.1539 14.4807 34.642L11.1814 37.941C10.9469 38.1754 10.8152 38.4934 10.8152 38.8249C10.8152 39.1564 10.9469 39.4744 11.1813 39.7088L14.4807 43.0082C14.9688 43.4964 15.7603 43.4964 16.2485 43.0082C16.7366 42.5201 16.7366 41.7286 16.2485 41.2404L15.083 40.0749L43.0979 40.0749L41.9324 41.2404C41.4442 41.7286 41.4442 42.5201 41.9324 43.0082C42.4205 43.4964 43.212 43.4964 43.7001 43.0082L46.9995 39.7088Z",fill:r}))}),ere=["color","size"],tre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ere);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M13.8334 9.19949C13.8334 8.50914 14.3931 7.94949 15.0834 7.94949H31.3334C32.0238 7.94949 32.5834 8.50914 32.5834 9.19949C32.5834 9.88985 32.0238 10.4495 31.3334 10.4495H15.0834C14.3931 10.4495 13.8334 9.88985 13.8334 9.19949Z",fill:r}),b.createElement("path",{d:"M15.0834 35.5496C14.3931 35.5496 13.8334 36.1092 13.8334 36.7996C13.8334 37.4899 14.3931 38.0496 15.0834 38.0496H31.3334C32.0238 38.0496 32.5834 37.4899 32.5834 36.7996C32.5834 36.1092 32.0238 35.5496 31.3334 35.5496H15.0834Z",fill:r}),b.createElement("path",{d:"M36.8001 13.4163C37.4905 13.4163 38.0501 13.9759 38.0501 14.6663V30.9163C38.0501 31.6066 37.4905 32.1663 36.8001 32.1663C36.1098 32.1663 35.5501 31.6066 35.5501 30.9163V14.6663C35.5501 13.9759 36.1098 13.4163 36.8001 13.4163Z",fill:r}),b.createElement("path",{d:"M10.45 14.6663C10.45 13.9759 9.89038 13.4163 9.20003 13.4163C8.50967 13.4163 7.95003 13.9759 7.95003 14.6663L7.95003 30.9163C7.95003 31.6066 8.50967 32.1663 9.20003 32.1663C9.89038 32.1663 10.45 31.6066 10.45 30.9163L10.45 14.6663Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z",fill:r}))}),nre=["color","size"],rre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,nre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M44.103 18.4866L24.0002 3.8811L3.89749 18.4866L11.5761 42.1188H36.4244L44.103 18.4866ZM25.8371 1.35293C24.7418 0.557164 23.2587 0.557162 22.1634 1.35292L2.06066 15.9584C0.96539 16.7542 0.507082 18.1647 0.925439 19.4523L8.604 43.0845C9.02236 44.372 10.2222 45.2438 11.5761 45.2438H36.4244C37.7782 45.2438 38.9781 44.372 39.3965 43.0845L47.075 19.4523C47.4934 18.1647 47.0351 16.7542 45.9398 15.9584L25.8371 1.35293Z",fill:r}))}),ire=["color","size"],are=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ire);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.0078 29.9669H25.835L24.7803 35.9727H27.4609L28.5156 29.9669H32.2363V27.4473H28.9551L29.6875 23.2872H33.3496V20.7383H30.1416L31.2109 14.6446H28.5303L27.4609 20.7383H24.6191L25.6885 14.6446H23.0225L21.9531 20.7383H18.1006V23.2872H21.499L20.7666 27.4473H17.002V29.9669H20.3271L19.2725 35.9727H21.9531L23.0078 29.9669ZM26.2744 27.4473H23.4473L24.165 23.2872H27.0068L26.2744 27.4473Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.5448 0.821208C24.421 0.184598 25.6075 0.184597 26.4837 0.821207L48.4803 16.8026C49.3565 17.4392 49.7231 18.5677 49.3885 19.5977L40.9865 45.4562C40.6518 46.4862 39.692 47.1836 38.6089 47.1836H11.4197C10.3366 47.1836 9.37672 46.4862 9.04204 45.4562L0.640107 19.5977C0.305422 18.5677 0.672067 17.4392 1.54829 16.8026L23.5448 0.821208ZM25.0143 2.84375L47.0108 18.8252L38.6089 44.6836H11.4197L3.01775 18.8252L25.0143 2.84375Z",fill:r}))}),ore=["color","size"],sre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ore);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 30",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M45.5 15.0005C45.5 15.7079 45.2003 16.3822 44.6753 16.8562L30.8291 29.3562C29.8042 30.2814 28.2234 30.2006 27.2982 29.1758C26.373 28.1509 26.4537 26.57 27.4786 25.6448L36.5 17.5005L3 17.5005C1.61928 17.5005 0.499999 16.3812 0.499999 15.0005C0.499999 13.6198 1.61929 12.5005 3 12.5005L36.5 12.5005L27.4786 4.35618C26.4537 3.43096 26.373 1.85011 27.2982 0.82525C28.2234 -0.199608 29.8042 -0.280382 30.8291 0.644837L44.6753 13.1448C45.2003 13.6189 45.5 14.2931 45.5 15.0005Z",fill:r}))}),lre=["color","size"],cre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M19 48L26.9931 2H31.2019L23.2087 48H19Z",fill:r}))}),ure=["color","size"],dre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ure);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 14 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.214966 17.4813V0.518677H6.61123C8.82693 0.518677 10.5075 0.914783 11.653 1.70699C12.7985 2.49144 13.3712 3.64481 13.3712 5.16709C13.3712 5.99814 13.1413 6.7321 12.6814 7.36898C12.2216 7.99809 11.5819 8.46021 10.7625 8.75535C11.699 8.97282 12.4348 9.41164 12.9699 10.0718C13.5133 10.732 13.7851 11.5397 13.7851 12.4951C13.7851 14.1261 13.2249 15.361 12.1045 16.1998C10.9841 17.0386 9.38713 17.4658 7.31357 17.4813H0.214966ZM3.97748 10.0951V14.6736H7.20069C8.08697 14.6736 8.77677 14.4795 9.27007 14.0911C9.77174 13.695 10.0226 13.1513 10.0226 12.4601C10.0226 10.9067 9.1572 10.1184 7.42644 10.0951H3.97748ZM3.97748 7.62528H6.76173C8.65971 7.59421 9.6087 6.89132 9.6087 5.5166C9.6087 4.74769 9.36623 4.19625 8.88128 3.86228C8.4047 3.52054 7.64801 3.34967 6.61123 3.34967H3.97748V7.62528Z",fill:r}))}),hre=["color","size"],ZA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M17.5911 1.54582C16.7075 0.680052 15.2937 0.680014 14.4101 1.54573L4.05296 11.6925C3.15635 12.5709 3.14159 14.0098 4.01999 14.9064C4.89839 15.8031 6.33733 15.8178 7.23394 14.9394L13.7278 8.57741V30.4419C13.7278 31.6971 14.7454 32.7147 16.0006 32.7147C17.2558 32.7147 18.2733 31.6971 18.2733 30.4419V8.57782L24.766 14.9393C25.6625 15.8178 27.1015 15.8031 27.9799 14.9065C28.8584 14.01 28.8437 12.571 27.9471 11.6926L17.5911 1.54582Z",fill:r}),b.createElement("path",{d:"M2.78827 36.5543C1.53308 36.5543 0.515541 37.5719 0.515541 38.827C0.515541 40.0822 1.53308 41.0998 2.78827 41.0998H29.1519C30.4071 41.0998 31.4246 40.0822 31.4246 38.827C31.4246 37.5719 30.4071 36.5543 29.1519 36.5543H2.78827Z",fill:r}))}),fre=["color","size"],$A=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,fre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 28 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.907 0.71085C25.7493 -0.292553 23.9445 -0.224769 22.8758 0.862251L0.931376 23.1837C-0.0773525 24.2097 -0.0773525 25.7913 0.931376 26.8173L22.8758 49.1388C23.9445 50.2258 25.7493 50.2936 26.907 49.2902C28.0647 48.2868 28.1369 46.5921 27.0683 45.5051L6.90997 25.0005L27.0683 4.49589C28.1369 3.40888 28.0647 1.71425 26.907 0.71085Z",fill:r}))}),pre=["color","size"],gre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,pre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 28 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.09286 0.71085C2.25057 -0.292553 4.05541 -0.224769 5.12407 0.862251L27.0685 23.1837C28.0772 24.2097 28.0772 25.7913 27.0685 26.8173L5.12407 49.1388C4.05541 50.2258 2.25057 50.2936 1.09286 49.2902C-0.0648579 48.2868 -0.137051 46.5921 0.93161 45.5051L21.0899 25.0005L0.93161 4.49589C-0.137051 3.40888 -0.0648579 1.71425 1.09286 0.71085Z",fill:r}))}),mre=["color","size"],vre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,mre);return b.createElement("svg",le({ref:t,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 50 50",fill:"none"},o),b.createElement("path",{d:"M22.9167 27.0838L22.9167 41.6672C22.9167 42.8177 23.8494 43.7505 25 43.7505C26.1506 43.7505 27.0833 42.8177 27.0833 41.6672L27.0833 27.0838H41.6667C42.8173 27.0838 43.75 26.1511 43.75 25.0005C43.75 23.8499 42.8173 22.9172 41.6667 22.9172L27.0833 22.9172L27.0833 8.33382C27.0833 7.18323 26.1506 6.25049 25 6.25049C23.8494 6.25049 22.9167 7.18323 22.9167 8.33382L22.9167 22.9172H8.33333C7.18274 22.9172 6.25 23.8499 6.25 25.0005C6.25 26.1511 7.18274 27.0838 8.33333 27.0838H22.9167Z",fill:r}))}),yre=["color","size"],bre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,yre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.04757 38.9503C0.437373 38.3401 0.437373 37.3508 1.04757 36.7406L33.9229 3.86697L23.8354 3.33584C22.9736 3.29047 22.3118 2.5551 22.3572 1.69335C22.4026 0.831601 23.138 0.169794 23.9997 0.215167L37.5909 0.930759C38.3892 0.972794 39.027 1.61063 39.0691 2.40894L39.7846 16.0001C39.83 16.8619 39.1682 17.5972 38.3065 17.6426C37.4447 17.688 36.7093 17.0262 36.664 16.1644L36.1328 6.07651L3.25728 38.9503C2.64708 39.5605 1.65776 39.5605 1.04757 38.9503Z",fill:r}))}),wre=["color","size"],xre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,wre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M27.1607 4.16667V2.08333C27.1607 0.93274 26.2279 0 25.0773 0C23.9267 0 22.994 0.932741 22.994 2.08333V4.16667H4.244C1.94281 4.16667 0.0773315 6.03215 0.0773315 8.33333V41.6667C0.0773315 43.9679 1.94281 45.8333 4.244 45.8333H22.994V47.9167C22.994 49.0673 23.9267 50 25.0773 50C26.2279 50 27.1607 49.0673 27.1607 47.9167V45.8333H45.9107C48.2118 45.8333 50.0773 43.9678 50.0773 41.6667V8.33333C50.0773 6.03215 48.2119 4.16667 45.9107 4.16667H27.1607ZM22.994 8.33333H4.244L4.244 41.6667H22.994V8.33333ZM27.1607 41.6667V8.33333H45.9107V41.6667H27.1607Z",fill:r}))}),Cre=["color","size"],Sre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Cre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 38 6",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M35.835 5.0769L2.16498 5.0769C1.00277 5.0769 0.0606079 4.14726 0.0606079 3.00048C0.060608 1.85371 1.00277 0.924072 2.16498 0.924072L35.835 0.924074C36.9972 0.924074 37.9394 1.85372 37.9394 3.00049C37.9394 4.14726 36.9972 5.0769 35.835 5.0769Z",fill:r}))}),_re=["color","size"],Ore=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,_re);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.48799 3.125H17.0311L17.0311 24.4063C17.0311 26.6148 18.1889 28.4084 19.5429 29.5401C21.7011 31.3438 23.0656 34.0456 23.0656 37.069C23.0656 42.4847 18.6753 46.875 13.2595 46.875C7.84382 46.875 3.45351 42.4847 3.45351 37.069C3.45351 34.0456 4.81799 31.3438 6.97617 29.5401C8.33021 28.4084 9.48799 26.6148 9.48799 24.4063V3.125ZM20.1561 3.125C20.1561 1.39911 18.757 0 17.0311 0H9.48799C7.7621 0 6.36299 1.39911 6.36299 3.125V24.4063C6.36299 25.4785 5.79482 26.4547 4.97216 27.1423C2.13398 29.5143 0.328506 33.0808 0.328506 37.069C0.328506 44.2106 6.11793 50 13.2595 50C20.4012 50 26.1906 44.2106 26.1906 37.069C26.1906 33.0808 24.3851 29.5143 21.5469 27.1423C20.7243 26.4547 20.1561 25.4785 20.1561 24.4063V3.125ZM35.6715 1.25C35.6715 0.559645 35.1119 0 34.4215 0H28.1715C27.4812 0 26.9215 0.559644 26.9215 1.25C26.9215 1.94036 27.4812 2.5 28.1715 2.5L34.4215 2.5C35.1119 2.5 35.6715 1.94036 35.6715 1.25ZM35.6715 8.24951C35.6715 7.55916 35.1119 6.99951 34.4215 6.99951H28.1715C27.4812 6.99951 26.9215 7.55916 26.9215 8.24951C26.9215 8.93987 27.4812 9.49951 28.1715 9.49951H34.4215C35.1119 9.49951 35.6715 8.93987 35.6715 8.24951ZM34.4215 13.999C35.1119 13.999 35.6715 14.5587 35.6715 15.249C35.6715 15.9394 35.1119 16.499 34.4215 16.499H28.1715C27.4812 16.499 26.9215 15.9394 26.9215 15.249C26.9215 14.5587 27.4812 13.999 28.1715 13.999H34.4215ZM13.2594 43.7501C16.366 43.7501 18.8844 41.2317 18.8844 38.1251C18.8844 35.4037 16.9519 33.1337 14.3844 32.6126V10.3662C14.3844 9.67582 13.8247 9.11617 13.1344 9.11617C12.444 9.11617 11.8844 9.67582 11.8844 10.3662V32.6694C9.44245 33.2829 7.63441 35.4928 7.63441 38.1251C7.63441 41.2317 10.1528 43.7501 13.2594 43.7501Z",fill:r}))}),Ere=["color","size"],Pre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ere);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.4376 40.6858V38.5625V4.18746V3.31418C10.8133 4.10816 3.25006 12.1708 3.25006 22C3.25006 31.8292 10.8133 39.8918 20.4376 40.6858ZM40.7501 22C40.7501 31.8292 33.1868 39.8918 23.5626 40.6858V38.5625V4.18746V3.31418C33.1868 4.10816 40.7501 12.1708 40.7501 22ZM43.8751 22C43.8751 34.0812 34.0813 43.875 22.0001 43.875C9.91883 43.875 0.125061 34.0812 0.125061 22C0.125061 9.91877 9.91883 0.125 22.0001 0.125C34.0813 0.125 43.8751 9.91877 43.8751 22Z",fill:r}))}),kre=["color","size"],Lre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,kre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.3679 7.50003C15.7995 10.005 13.5592 11.875 10.8823 11.875C8.20528 11.875 5.96506 10.005 5.39665 7.50003H1.5448C0.854444 7.50003 0.2948 6.94039 0.2948 6.25003C0.2948 5.55967 0.854444 5.00003 1.5448 5.00003H5.39665C5.96506 2.49504 8.20528 0.625031 10.8823 0.625031C13.5592 0.625031 15.7995 2.49504 16.3679 5.00003H48.4557C49.1461 5.00003 49.7057 5.55967 49.7057 6.25003C49.7057 6.94039 49.1461 7.50003 48.4557 7.50003H16.3679ZM14.0073 6.25003C14.0073 7.97592 12.6082 9.37503 10.8823 9.37503C9.15637 9.37503 7.75726 7.97592 7.75726 6.25003C7.75726 4.52414 9.15637 3.12503 10.8823 3.12503C12.6082 3.12503 14.0073 4.52414 14.0073 6.25003Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M34.5715 27.625C37.2485 27.625 39.4887 25.755 40.0571 23.25H48.4554C49.1458 23.25 49.7054 22.6904 49.7054 22C49.7054 21.3096 49.1458 20.75 48.4554 20.75H40.0571C39.4887 18.245 37.2485 16.375 34.5715 16.375C31.8946 16.375 29.6543 18.245 29.0859 20.75H1.5448C0.854444 20.75 0.2948 21.3096 0.2948 22C0.2948 22.6904 0.854444 23.25 1.5448 23.25H29.0859C29.6543 25.755 31.8946 27.625 34.5715 27.625ZM34.5715 25.125C36.2974 25.125 37.6965 23.7259 37.6965 22C37.6965 20.2741 36.2974 18.875 34.5715 18.875C32.8456 18.875 31.4465 20.2741 31.4465 22C31.4465 23.7259 32.8456 25.125 34.5715 25.125Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.7702 39C22.2018 41.505 19.9615 43.375 17.2845 43.375C14.6076 43.375 12.3673 41.505 11.7989 39H1.5448C0.854444 39 0.2948 38.4403 0.2948 37.75C0.2948 37.0596 0.854444 36.5 1.5448 36.5H11.7989C12.3673 33.995 14.6076 32.125 17.2845 32.125C19.9615 32.125 22.2018 33.995 22.7702 36.5H48.4554C49.1458 36.5 49.7054 37.0596 49.7054 37.75C49.7054 38.4403 49.1458 39 48.4554 39H22.7702ZM20.4095 37.75C20.4095 39.4759 19.0104 40.875 17.2845 40.875C15.5587 40.875 14.1595 39.4759 14.1595 37.75C14.1595 36.0241 15.5587 34.625 17.2845 34.625C19.0104 34.625 20.4095 36.0241 20.4095 37.75Z",fill:r}))}),Mre=["color","size"],Tre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Mre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M37.2341 37.6984H37.5121V37.4237C41.4447 33.4687 43.875 28.0182 43.875 22C43.875 15.9819 41.4447 10.5314 37.5121 6.57632V6.30045H37.2328C33.2942 2.47819 27.9219 0.125031 22 0.125031C9.91877 0.125031 0.125 9.9188 0.125 22C0.125 34.0813 9.91877 43.875 22 43.875C24.718 43.875 27.3203 43.3793 29.7213 42.4733H30.5303V42.1494C33.0389 41.0861 35.308 39.5679 37.2341 37.6984ZM20.4257 3.31519C10.807 4.1148 3.25 12.1749 3.25 22C3.25 31.8252 10.807 39.8853 20.4257 40.6849V3.31519ZM34.3871 36.0759C33.221 37.1029 31.9263 37.9873 30.5303 38.7017V5.29836C31.9263 6.01281 33.221 6.89715 34.3871 7.92411V36.0759ZM37.5121 11.4641C39.5556 14.4669 40.75 18.094 40.75 22C40.75 25.9061 39.5556 29.5332 37.5121 32.536V11.4641ZM23.5507 40.6868C24.8796 40.578 26.1693 40.3307 27.4053 39.9592V4.04089C26.1693 3.66941 24.8796 3.42203 23.5507 3.31324V40.6868Z",fill:r}))}),Are=["color","size"],Ire=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Are);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M46.1442 31.379C45.4585 31.379 44.8974 31.9429 44.8974 32.6321V43.7349C44.8974 45.8025 43.2267 47.4817 41.157 47.4943H6.22156C4.16433 47.4943 2.49361 45.8151 2.48114 43.7349V11.1283C2.48114 9.06067 4.15186 7.38147 6.22156 7.36894H17.2807C17.9665 7.36894 18.5275 6.80503 18.5275 6.1158C18.5275 5.42658 17.9665 4.86267 17.2807 4.86267H6.22156C2.79284 4.8752 0 7.66969 0 11.1283V43.7349C0 47.1935 2.79284 50.0005 6.22156 50.0005H41.157C44.5982 50.0005 47.3786 47.1935 47.3786 43.7474V32.6321C47.391 31.9429 46.83 31.379 46.1442 31.379Z",fill:r}),b.createElement("path",{d:"M46.8923 1.65462C44.698 -0.55089 41.157 -0.55089 38.9627 1.65462L16.7571 23.9729C16.6075 24.1233 16.4953 24.3113 16.4329 24.5243L13.5154 35.1258C13.3907 35.5644 13.5154 36.0281 13.8396 36.3413C14.1513 36.6546 14.6251 36.7799 15.049 36.6672L25.5969 33.7348C25.8089 33.6722 25.9959 33.5719 26.1455 33.409L48.3636 11.0782C50.5455 8.87267 50.5455 5.31377 48.3636 3.10826L46.8923 1.65462ZM19.4751 24.7875L37.6535 6.51678L43.5135 12.4065L25.3351 30.6897L19.4751 24.7875ZM18.3031 27.1559L22.9911 31.8677L16.5077 33.6722L18.3031 27.1559ZM46.5931 9.31127L45.2715 10.6396L39.4115 4.74986L40.7331 3.42154C41.9425 2.206 43.9249 2.206 45.1343 3.42154L46.5931 4.88771C47.815 6.11578 47.815 8.09573 46.5931 9.31127Z",fill:r}))}),Fre=["color","size"],Dre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Fre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M18.3626 41.293C17.5103 41.4285 16.7096 40.8474 16.5742 39.9952C16.4387 39.143 17.0198 38.3423 17.872 38.2068C18.2902 38.1403 18.6988 38.0456 19.0958 37.9246C21.9368 37.059 24.1957 34.8468 25.1254 32.0335C25.2671 31.6049 25.378 31.1621 25.4555 30.7076C25.6005 29.857 26.4076 29.2849 27.2583 29.4299C28.109 29.5749 28.681 30.3821 28.536 31.2327C28.432 31.8429 28.283 32.4379 28.0926 33.0142C26.8449 36.7893 23.8206 39.7519 20.0065 40.914C19.4728 41.0766 18.9239 41.2038 18.3626 41.293Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M33.9356 31.0645C33.9356 23.9644 24.1764 8.59028 19.4747 1.59549C18.2785 -0.184172 15.7216 -0.184172 14.5254 1.59548C9.82374 8.59028 0.0645752 23.9644 0.0645752 31.0645C0.0645752 40.4177 7.64685 48 17.0001 48C26.3533 48 33.9356 40.4177 33.9356 31.0645ZM30.8106 31.0645C30.8106 29.8836 30.375 28.0316 29.4236 25.578C28.5 23.1959 27.1988 20.5159 25.7187 17.7756C22.8106 12.3913 19.3287 6.98743 17.0001 3.51586C14.6715 6.98743 11.1895 12.3913 8.28145 17.7756C6.80135 20.5159 5.50017 23.1959 4.57655 25.578C3.62517 28.0316 3.18958 29.8836 3.18958 31.0645C3.18958 38.6918 9.37274 44.875 17.0001 44.875C24.6274 44.875 30.8106 38.6918 30.8106 31.0645Z",fill:r}))}),Nre=["color","size"],Rre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Nre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M43.0081 15.2287L36.7869 17.6214L28.935 29.9601C30.5809 33.9266 30.3662 38.0903 27.1408 41.3158L26.5656 41.8909C25.9554 42.5011 24.9661 42.5011 24.3559 41.8909L14.4122 31.9472L2.99211 43.3673C2.38192 43.9775 1.3926 43.9775 0.782403 43.3673C0.17221 42.7571 0.172211 41.7678 0.782403 41.1576L12.2025 29.7375L2.25883 19.7938C1.64864 19.1836 1.64864 18.1943 2.25883 17.5841L2.50512 17.3378C5.73058 14.1123 10.2231 13.5688 14.1897 15.2147L26.5283 7.36283L28.9211 1.14165C29.327 0.0863053 30.6847 -0.201832 31.4843 0.597706L43.552 12.6655C44.3516 13.465 44.0634 14.8228 43.0081 15.2287ZM29.0752 9.44618L30.9747 4.50752L39.6422 13.1751L34.7035 15.0745L25.4251 29.655L26.0486 31.1577C27.234 34.0146 27.0773 36.5309 25.4342 38.5498L5.64209 18.7576C7.75439 17.2384 10.4304 17.0382 12.992 18.1011L14.4948 18.7246L29.0752 9.44618Z",fill:r}))}),jre=["color","size"],zre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,jre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z",fill:r}),b.createElement("path",{d:"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z",fill:r}))}),Bre=["color","size"],qA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Bre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M17.8571 19.6429C17.8571 18.6566 18.6566 17.8571 19.6429 17.8571C20.6291 17.8571 21.4286 18.6566 21.4286 19.6429L21.4286 37.5C21.4286 38.4862 20.6291 39.2857 19.6429 39.2857C18.6566 39.2857 17.8571 38.4862 17.8571 37.5L17.8571 19.6429Z",fill:r}),b.createElement("path",{d:"M30.3571 17.8571C29.3709 17.8571 28.5714 18.6566 28.5714 19.6429L28.5714 37.5C28.5714 38.4862 29.3709 39.2857 30.3571 39.2857C31.3434 39.2857 32.1429 38.4862 32.1429 37.5V19.6429C32.1429 18.6566 31.3434 17.8571 30.3571 17.8571Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.2857 7.14286V3.57143C14.2857 1.59898 15.8847 0 17.8571 0H32.1429C34.1153 0 35.7143 1.59898 35.7143 3.57143V7.14286H48.2143C49.2005 7.14286 50 7.94235 50 8.92857C50 9.91479 49.2005 10.7143 48.2143 10.7143H44.6429V46.4286C44.6429 48.401 43.0439 50 41.0714 50H8.92857C6.95613 50 5.35714 48.401 5.35714 46.4286V10.7143L1.78571 10.7143C0.799491 10.7143 0 9.91479 0 8.92857C0 7.94235 0.799492 7.14286 1.78571 7.14286H14.2857ZM17.8571 3.57143H32.1429V7.14286H17.8571V3.57143ZM8.92857 10.7143L8.92857 46.4286H41.0714V10.7143H8.92857Z",fill:r}))}),Hre=["color","size"],Gre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Hre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43 3H31.75V0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V14.25H43V3Z",fill:r}),b.createElement("path",{d:"M3 14.25V3H14.25V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V14.25H3Z",fill:r}),b.createElement("path",{d:"M0.5 31.75V43C0.5 44.3807 1.61929 45.5 3 45.5H14.25V43H3V31.75H0.5Z",fill:r}),b.createElement("path",{d:"M43 31.75H45.5V43C45.5 44.3807 44.3807 45.5 43 45.5H31.75V43H43V31.75Z",fill:r}))}),Vre=["color","size"],Ure=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Vre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 36 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M32.0559 46.8755L32.0559 3.12555L3.93091 3.12555L3.93091 46.8755H32.0559ZM35.1809 3.12555C35.1809 1.39966 33.7818 0.000549316 32.0559 0.000549316H3.93091C2.20502 0.000549316 0.805908 1.39966 0.805908 3.12555V46.8755C0.805908 48.6014 2.20502 50.0005 3.93091 50.0005H32.0559C33.7818 50.0005 35.1809 48.6014 35.1809 46.8755L35.1809 3.12555Z",fill:r}))}),Wre=["color","size"],Xre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Wre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M45.961 39.0119L28.2837 7.27185C27.5934 6.17538 26.3971 5.5 24.9981 5.5C23.5956 5.5 22.3967 6.17887 21.7073 7.28034L4.06571 38.9613L4.03009 39.0197C3.33595 40.159 3.32316 41.4697 3.9939 42.6216C4.67405 43.786 5.89 44.5 7.34459 44.5H42.554C44.0596 44.5 45.3464 43.7436 46.0016 42.6231C46.6817 41.4564 46.652 40.1455 45.9968 39.0706L45.961 39.0119ZM49.0254 44.3856C47.7038 46.6495 45.2246 48 42.554 48H7.34459C4.67398 48 2.29272 46.6495 0.970942 44.3856C-0.347811 42.1231 -0.322029 39.4361 1.04116 37.1987L18.6646 5.55018C18.6697 5.5418 18.6743 5.53342 18.6789 5.52504C18.6836 5.51666 18.6882 5.50828 18.6932 5.49989C20.0278 3.30867 22.3849 2 24.9981 2C27.6114 2 29.9685 3.30867 31.303 5.49989L48.9853 37.2489C50.3185 39.436 50.3442 42.1232 49.0254 44.3856Z",fill:r}),b.createElement("path",{d:"M22.0001 16C22.0001 14.3431 23.3433 13 25.0001 13C26.657 13 28.0001 14.3431 28.0001 16V28C28.0001 29.6569 26.657 31 25.0001 31C23.3433 31 22.0001 29.6569 22.0001 28V16Z",fill:r}),b.createElement("path",{d:"M28.0001 37C28.0001 38.6569 26.657 40 25.0001 40C23.3433 40 22.0001 38.6569 22.0001 37C22.0001 35.3431 23.3433 34 25.0001 34C26.657 34 28.0001 35.3431 28.0001 37Z",fill:r}))}),Yre=["color","size"],Kre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Yre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.5 20.5001C16.0228 20.5001 20.5 16.023 20.5 10.5001C20.5 4.97727 16.0228 0.500122 10.5 0.500122C4.97715 0.500122 0.5 4.97727 0.5 10.5001C0.5 16.023 4.97715 20.5001 10.5 20.5001ZM15.4375 7.0912L11.8155 10.7132L15.4638 14.309C15.6213 14.4665 15.7 14.6503 15.7 14.8865C15.7 15.1227 15.6213 15.3064 15.4638 15.4639C15.3063 15.6214 15.1226 15.7001 14.8864 15.7001C14.6501 15.7001 14.4664 15.6214 14.3089 15.4639L10.6869 11.8419L7.06483 15.4639C6.77612 15.7789 6.25118 15.7789 5.93622 15.4639C5.77874 15.3064 5.7 15.0964 5.7 14.8865C5.7 14.6765 5.77874 14.4928 5.93622 14.3353L9.55827 10.7132L5.93622 7.0912C5.77874 6.93372 5.7 6.72374 5.7 6.51377C5.7 6.3038 5.77874 6.12007 5.93622 5.96259C6.25118 5.64763 6.74987 5.64763 7.06483 5.96259L10.6869 9.58464L14.3089 5.93634C14.5976 5.62138 15.1226 5.62138 15.4375 5.93634C15.595 6.09382 15.6738 6.27755 15.6738 6.51377C15.6738 6.74999 15.595 6.93372 15.4375 7.0912Z",fill:r}))}),Zre=["color","size"],$re=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Zre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M37.3438 16.4782L28.2887 25.5333L37.4095 34.5228C37.8032 34.9165 38 35.3758 38 35.9664C38 36.5569 37.8032 37.0162 37.4095 37.4099C37.0158 37.8036 36.5564 38.0005 35.9659 38.0005C35.3753 38.0005 34.916 37.8036 34.5223 37.4099L25.4672 28.3548L16.4121 37.4099C15.6903 38.1973 14.378 38.1973 13.5906 37.4099C13.1969 37.0162 13 36.4913 13 35.9664C13 35.4414 13.1969 34.9821 13.5906 34.5884L22.6457 25.5333L13.5906 16.4782C13.1969 16.0845 13 15.5595 13 15.0346C13 14.5097 13.1969 14.0504 13.5906 13.6567C14.378 12.8693 15.6247 12.8693 16.4121 13.6567L25.4672 22.7118L34.5223 13.591C35.2441 12.8036 36.5564 12.8036 37.3438 13.591C37.7375 13.9847 37.9344 14.4441 37.9344 15.0346C37.9344 15.6252 37.7375 16.0845 37.3438 16.4782Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M-0.000488281 25.0005C-0.000488281 38.7972 11.2028 50.0005 24.9995 50.0005C38.6925 50.0005 49.9995 38.7972 49.9995 25.0005C49.9995 11.2038 38.7962 0.000488281 24.9995 0.000488281C11.2028 0.000488281 -0.000488281 11.2038 -0.000488281 25.0005ZM3.63022 24.8968C3.63022 13.1748 13.1738 3.52746 24.9995 3.52746C36.8252 3.52746 46.3688 13.1748 46.3688 24.8968C46.3688 36.6187 36.8252 46.266 24.9995 46.266C13.2775 46.266 3.63022 36.6187 3.63022 24.8968Z",fill:r}))}),qre=["color","size"],Qre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,qre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M29.9338 5.26853C27.8524 4.75154 25.7006 4.56814 23.5381 4.72351C22.4874 4.799 21.4379 4.95535 20.4183 5.18855L19.3724 0.636496C20.6245 0.350265 21.9128 0.158175 23.2017 0.065597C25.8579 -0.125223 28.5034 0.100753 31.0653 0.737277L29.9338 5.26853Z",fill:r}),b.createElement("path",{opacity:"0.9",d:"M40.6131 11.9278C38.5498 9.48098 35.9044 7.52805 32.963 6.2805L34.7952 1.98303C38.4106 3.51633 41.6615 5.91575 44.1962 8.922L40.6131 11.9278Z",fill:r}),b.createElement("path",{opacity:"0.8",d:"M45.3329 23.5739L45.3303 23.5392C45.097 20.3085 44.1359 17.275 42.4734 14.5227L46.4838 12.1129C48.5302 15.501 49.7133 19.2325 50 23.2036L45.3329 23.5739Z",fill:r}),b.createElement("path",{opacity:"0.7",d:"M46.2688 38.2308L42.2981 35.7565C43.9958 33.0458 45.0372 29.9357 45.3095 26.7618L49.9744 27.1604C49.639 31.0674 48.3577 34.8958 46.2688 38.2308Z",fill:r}),b.createElement("path",{opacity:"0.6",d:"M34.4209 48.1735L32.6626 43.8456C35.6192 42.6505 38.2938 40.7405 40.3975 38.3222L43.9338 41.3828C41.3483 44.3551 38.0588 46.7033 34.4209 48.1735V48.1735Z",fill:r}),b.createElement("path",{opacity:"0.5",d:"M26.8033 49.9345C24.1593 50.1242 21.5262 49.9011 18.9766 49.2716L20.1013 44.7386C22.1729 45.25 24.3148 45.4309 26.4673 45.2766C27.5283 45.2004 28.5879 45.0416 29.6165 44.8049L30.6697 49.3551C29.4061 49.6459 28.1052 49.841 26.8033 49.9345V49.9345Z",fill:r}),b.createElement("path",{opacity:"0.4",d:"M15.2449 48.0311C11.6272 46.5033 8.37276 44.1086 5.83362 41.1063L9.412 38.0952C11.479 40.5388 14.1272 42.4877 17.0704 43.7306L15.2449 48.0311Z",fill:r}),b.createElement("path",{opacity:"0.3",d:"M3.54069 37.9198C1.48217 34.5223 0.292537 30.78 0.00479729 26.7959L0 26.7274L4.66972 26.3918L4.67579 26.478C4.90861 29.7017 5.87511 32.7443 7.54751 35.504L3.54069 37.9198Z",fill:r}),b.createElement("path",{opacity:"0.2",d:"M4.69761 23.2075L0.0335693 22.802C0.374666 18.8955 1.66191 15.0691 3.75587 11.7373L7.72274 14.2175C6.02088 16.9257 4.97478 20.0344 4.69761 23.2075V23.2075Z",fill:r}))}),Jre=["color","size"],eie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Jre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 42 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.0001 6.11477C42.0001 4.48089 41.3639 2.94468 40.2086 1.78931C37.8238 -0.595528 33.9433 -0.595878 31.5582 1.78931L25.666 7.68191L22.9908 5.00654C22.5351 4.5509 21.7965 4.5509 21.3407 5.00654L17.8405 8.50695C17.3849 8.96259 17.3849 9.70141 17.8405 10.1572L20.5157 12.8325L3.63971 29.7097C3.5116 29.8378 3.41511 29.9939 3.35783 30.1658L2.27826 33.4048L1.30626 34.3769C-0.435198 36.1186 -0.435314 38.9525 1.30626 40.6943C3.04783 42.436 5.88157 42.4359 7.62314 40.6943L8.59514 39.7223L11.834 38.6426C12.0058 38.5853 12.1619 38.4888 12.29 38.3607L29.1661 21.4835L31.8413 24.1588C32.297 24.6145 33.0357 24.6145 33.4914 24.1588L36.9916 20.6584C37.4472 20.2028 37.4472 19.464 36.9916 19.0082L34.3164 16.3328L40.2086 10.4402C41.3639 9.28486 42.0001 7.74876 42.0001 6.11477ZM20.5157 26.8341H9.81507L22.1658 14.4826L27.516 19.8333L20.5157 26.8341ZM32.6663 21.6836L20.3156 9.332L22.1657 7.48168L34.5163 19.8333L32.6663 21.6836ZM38.5585 8.79014L32.6663 14.6827L27.316 9.332L33.2081 3.4394C34.6833 1.96421 37.0835 1.96409 38.5584 3.4394C40.0263 4.84774 40.0261 7.3818 38.5585 8.79014Z",fill:r}))}),tie=["color","size"],QA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,tie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 7.75049C0 6.92206 0.671573 6.25049 1.5 6.25049H48.5C49.3284 6.25049 50 6.92206 50 7.75049V9.43806C50 10.2665 49.3284 10.9381 48.5 10.9381H1.5C0.671571 10.9381 0 10.2665 0 9.43806V7.75049ZM0 24.1567C0 23.3283 0.671573 22.6567 1.5 22.6567H48.5C49.3284 22.6567 50 23.3283 50 24.1567V25.8443C50 26.6727 49.3284 27.3443 48.5 27.3443H1.5C0.671571 27.3443 0 26.6727 0 25.8443V24.1567ZM1.5 39.0629C0.671573 39.0629 0 39.7345 0 40.5629V42.2505C0 43.0789 0.671571 43.7505 1.5 43.7505H48.5C49.3284 43.7505 50 43.0789 50 42.2505V40.5629C50 39.7345 49.3284 39.0629 48.5 39.0629H1.5Z",fill:r}))}),nie=["color","size"],rie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,nie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.23229 1.23267C2.20863 0.256387 3.79154 0.256434 4.76782 1.23277L22.9989 19.465L41.2323 1.23267C42.2086 0.256387 43.7915 0.256434 44.7678 1.23277C45.7441 2.20911 45.7441 3.79203 44.7677 4.76831L24.7665 24.7683C24.2977 25.2371 23.6618 25.5005 22.9987 25.5005C22.3357 25.5005 21.6998 25.2371 21.231 24.7682L1.23218 4.7682C0.255899 3.79186 0.255946 2.20895 1.23229 1.23267Z",fill:r}))}),iie=["color","size"],aie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,iie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.2326 1.23271C22.2089 0.256404 23.7918 0.256417 24.7681 1.23274L44.7678 21.2327C45.7441 22.2091 45.7441 23.792 44.7678 24.7683C43.7914 25.7446 42.2085 25.7446 41.2322 24.7682L23.0003 6.53602L4.76775 24.7683C3.79143 25.7446 2.20852 25.7446 1.23222 24.7682C0.255916 23.7919 0.255928 22.209 1.23225 21.2327L21.2326 1.23271Z",fill:r}))}),oie=["color","size"],sie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,oie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M27.7355 35.1357C27.1751 35.7705 26.2217 35.7926 25.6359 35.1773L17.3026 26.423C17.0301 26.1368 16.8819 25.755 16.8752 25.3647C16.8686 24.9745 17.0037 24.5881 17.2652 24.2923L25.5985 14.8647C26.1593 14.2302 27.1128 14.2089 27.6981 14.8247C28.2539 15.4093 28.2679 16.3516 27.7348 16.9546L20.36 25.2978L27.6974 33.0057C28.2536 33.59 28.2681 34.5323 27.7355 35.1357ZM26.6695 34.3756C26.7058 34.3748 26.753 34.3599 26.7984 34.3085C26.9042 34.1886 26.8989 33.9798 26.792 33.8676L19.0594 25.7444C18.8357 25.5095 18.829 25.1425 19.0438 24.8995L26.7983 16.1268C26.9041 16.007 26.899 15.7983 26.7921 15.6859C26.7464 15.6377 26.7001 15.6249 26.6639 15.6256C26.6276 15.6263 26.5805 15.6412 26.5351 15.6926L18.2017 25.1202C18.1562 25.1717 18.1235 25.2514 18.1251 25.3435C18.1266 25.4356 18.1619 25.5128 18.208 25.5612L26.5413 34.3154C26.5871 34.3635 26.6334 34.3763 26.6695 34.3756Z",fill:r}),b.createElement("path",{d:"M26.7984 34.3085C26.753 34.3599 26.7058 34.3748 26.6695 34.3756C26.6334 34.3763 26.5871 34.3635 26.5413 34.3154L18.208 25.5612C18.1619 25.5128 18.1266 25.4356 18.1251 25.3435C18.1235 25.2514 18.1562 25.1717 18.2017 25.1202L26.5351 15.6926C26.5805 15.6412 26.6276 15.6263 26.6639 15.6256C26.7001 15.6249 26.7464 15.6377 26.7921 15.6859C26.899 15.7983 26.9041 16.007 26.7983 16.1268L19.0438 24.8995C18.829 25.1425 18.8357 25.5095 19.0594 25.7444L26.792 33.8676C26.8989 33.9798 26.9042 34.1886 26.7984 34.3085Z",fill:r}))}),lie=["color","size"],cie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.2645 14.8655C22.8249 14.2307 23.7783 14.2086 24.3641 14.8239L32.6974 23.5781C32.9699 23.8644 33.1181 24.2461 33.1248 24.6364C33.1314 25.0267 32.9963 25.4131 32.7348 25.7089L24.4015 35.1365C23.8406 35.7709 22.8872 35.7923 22.3019 35.1765C21.7461 34.5919 21.7321 33.6496 22.2652 33.0465L29.6399 24.7034L22.3026 16.9954C21.7464 16.4112 21.7319 15.4689 22.2645 14.8655ZM23.3305 15.6256C23.2942 15.6264 23.247 15.6413 23.2016 15.6927C23.0958 15.8126 23.1011 16.0214 23.208 16.1336L30.9406 24.2568C31.1643 24.4917 31.171 24.8586 30.9562 25.1016L23.2017 33.8744C23.0959 33.9942 23.101 34.2029 23.2079 34.3153C23.2536 34.3634 23.2999 34.3763 23.3361 34.3756C23.3724 34.3748 23.4195 34.36 23.4649 34.3086L31.7983 24.881C31.8438 24.8295 31.8765 24.7497 31.8749 24.6577C31.8734 24.5656 31.838 24.4883 31.792 24.44L23.4587 15.6858C23.4129 15.6377 23.3666 15.6249 23.3305 15.6256Z",fill:r}),b.createElement("path",{d:"M23.2016 15.6927C23.247 15.6413 23.2942 15.6264 23.3305 15.6256C23.3666 15.6249 23.4129 15.6377 23.4587 15.6858L31.792 24.44C31.838 24.4883 31.8734 24.5656 31.8749 24.6577C31.8765 24.7497 31.8438 24.8295 31.7983 24.881L23.4649 34.3086C23.4195 34.36 23.3724 34.3748 23.3361 34.3756C23.2999 34.3763 23.2536 34.3634 23.2079 34.3153C23.101 34.2029 23.0959 33.9942 23.2017 33.8744L30.9562 25.1016C31.171 24.8586 31.1643 24.4917 30.9406 24.2568L23.208 16.1336C23.1011 16.0214 23.0958 15.8126 23.2016 15.6927Z",fill:r}))}),uie=["color","size"],die=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,uie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M48.5577 38.9423H34.8557C31.8069 38.9423 29.327 41.4224 29.327 44.4712C29.327 45.9293 28.1406 47.1157 26.6827 47.1157H5.52902C4.07066 47.1157 2.88467 45.9293 2.88467 44.4712V42.5459C2.88467 41.0886 4.07028 39.9025 5.5275 39.9018L9.33952 39.8999C9.34067 39.8999 9.34219 39.8995 9.34334 39.8995C9.38683 39.8995 9.43031 39.8968 9.47418 39.893C9.49211 39.8915 9.50966 39.8884 9.52759 39.8861C9.54628 39.8835 9.56535 39.8819 9.58405 39.8789L19.7636 38.1229C19.7689 38.1217 19.7739 38.1206 19.7788 38.1195C19.7948 38.1164 19.8105 38.113 19.8261 38.1095C19.8517 38.1038 19.8769 38.0981 19.9017 38.0908C19.9192 38.0863 19.9368 38.0809 19.9543 38.0756C19.9776 38.068 20.0008 38.0599 20.0241 38.0512C20.0409 38.0447 20.0581 38.039 20.0748 38.0321C20.1107 38.0168 20.1458 38.0008 20.1805 37.9829C20.1942 37.9756 20.208 37.9672 20.2217 37.9596C20.2461 37.9459 20.2702 37.9321 20.2938 37.9169C20.3083 37.9077 20.3228 37.8978 20.3373 37.8879C20.3602 37.8719 20.3831 37.8551 20.4052 37.8375C20.417 37.8284 20.4292 37.8192 20.4411 37.8093C20.4746 37.7815 20.5074 37.7525 20.5383 37.7212L46.2479 12.0109C48.3097 9.94895 48.3097 6.59377 46.2479 4.53146L43.2632 1.54708C41.2014 -0.515234 37.846 -0.514853 35.7841 1.54708L10.075 27.2574C10.0437 27.2883 10.0147 27.3215 9.9865 27.355C9.97696 27.3665 9.9678 27.3783 9.95865 27.3901C9.9411 27.4127 9.92432 27.4355 9.90829 27.4588C9.89838 27.4729 9.88846 27.4874 9.8793 27.5019C9.86443 27.5252 9.85069 27.5488 9.83734 27.5729C9.82857 27.5885 9.81941 27.6042 9.81102 27.6198C9.79424 27.653 9.77898 27.6862 9.76448 27.7205C9.75723 27.7377 9.75113 27.7556 9.74426 27.7732C9.73625 27.7953 9.72824 27.8178 9.72099 27.8403C9.71527 27.8586 9.70993 27.8769 9.70497 27.8952C9.69849 27.9189 9.69276 27.9429 9.68742 27.9673C9.68361 27.9841 9.67979 28.0009 9.67674 28.0177C9.6756 28.0226 9.67445 28.0272 9.67369 28.0318L8.12378 37.0158L5.52597 37.017C2.47879 37.0185 0 39.4989 0 42.5459V44.4712C0 47.5201 2.48032 50.0005 5.52902 50.0005H26.6827C29.7314 50.0005 32.2117 47.5201 32.2117 44.4712C32.2117 43.0132 33.3977 41.8267 34.8557 41.8267H48.5577C49.3542 41.8267 50 41.1813 50 40.3847C50 39.5878 49.3542 38.9423 48.5577 38.9423ZM12.043 31.2653L16.5306 35.7531L11.1076 36.6885L12.043 31.2653ZM33.5567 7.85382L35.7288 10.026L15.3065 30.4493L13.1344 28.2771L33.5567 7.85382ZM19.5183 34.6613L17.3462 32.4891L37.7689 12.0658L39.941 14.238L19.5183 34.6613ZM37.8239 3.58651C38.7611 2.64958 40.2859 2.64958 41.2235 3.58651L44.2078 6.57126C45.145 7.50858 45.145 9.03376 44.2078 9.97108L41.9804 12.1986L35.5965 5.81401L37.8239 3.58651Z",fill:r}))}),hie=["color","size"],NO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M46.4326 40.0282C46.1217 40.5666 45.6098 40.9595 45.0093 41.1204C44.4088 41.2813 43.7691 41.197 43.2307 40.8862C42.6923 40.5754 42.2995 40.0634 42.1386 39.463C41.9777 38.8625 42.0619 38.2227 42.3727 37.6843C45.2819 32.6454 46.0703 26.6571 44.5644 21.0369C43.0584 15.4167 39.3816 10.6249 34.3426 7.71563C25.1427 2.4043 13.7736 4.38306 6.93632 12.1744L14.5457 12.0831H14.5744C15.196 12.0795 15.7937 12.3229 16.2358 12.7599C16.678 13.1969 16.9284 13.7916 16.9321 14.4133C16.9357 15.0349 16.6923 15.6326 16.2553 16.0747C15.8183 16.5169 15.2236 16.7673 14.6019 16.771L2.37222 16.9175H2.34409C2.03391 16.9175 1.72681 16.856 1.44059 16.7364C1.15437 16.6169 0.894721 16.4417 0.676697 16.2211C0.458674 16.0004 0.28661 15.7387 0.170478 15.4511C0.0543471 15.1635 -0.00354164 14.8557 0.000167612 14.5455L0.147346 2.31591C0.151046 2.00811 0.215338 1.70404 0.336549 1.42108C0.457761 1.13812 0.633519 0.881802 0.853788 0.666765C1.07406 0.451728 1.33453 0.282182 1.62032 0.167807C1.90611 0.0534328 2.21164 -0.00353076 2.51944 0.000169355C2.82725 0.00386947 3.13132 0.0681609 3.41428 0.189372C3.69724 0.310584 3.95356 0.486342 4.16859 0.706611C4.38363 0.926881 4.55318 1.18735 4.66755 1.47314C4.78193 1.75894 4.83889 2.06446 4.83519 2.37227L4.77171 7.65586C9.37537 3.16334 15.4496 0.489016 21.8718 0.127065C28.2941 -0.234886 34.6303 1.74001 39.7096 5.6868C44.7889 9.63359 48.2679 15.2855 49.5038 21.5981C50.7397 27.9107 49.6485 34.4574 46.4326 40.0282Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 28C26.6569 28 28 26.6569 28 25C28 23.3431 26.6569 22 25 22C23.3431 22 22 23.3431 22 25C22 26.6569 23.3431 28 25 28ZM25 32C28.866 32 32 28.866 32 25C32 21.134 28.866 18 25 18C21.134 18 18 21.134 18 25C18 28.866 21.134 32 25 32Z",fill:r}))}),JA={exports:{}},fie="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",pie=fie,gie=pie;function eI(){}function tI(){}tI.resetWarningCache=eI;var mie=function(){function e(r,i,a,o,c,u){if(u!==gie){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}e.isRequired=e;function t(){return e}var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:tI,resetWarningCache:eI};return n.PropTypes=n,n};JA.exports=mie();var vie=JA.exports;const xr=mh(vie);var Ii={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg"},yie="CrossButton",bie=A(A(A(A({},Ii.Xs,X(["padding:5px;height:20px;"])),Ii.Sm,X(["padding:6px;height:24px;"])),Ii.Md,X(["padding:9px;"])),Ii.Lg,X(["padding:12px;"])),wie=$.button.attrs({className:ve(yie,"root")}).withConfig({componentId:"sc-ygfku-0"})(function(e){var t=e.size,n=t===void 0?Ii.Lg:t,r=e.theme;return X(["display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:4px;"," color:",";background:transparent;border:none;transition:all 100ms ease-out;&:hover{color:",";background:",";}&:active{color:",";background:",";}"],bie[n],r.palette[F.IconsSecondary],r.palette[F.IconsPrimary],r.palette[F.BackgroundHover],r.palette[F.IconsPrimaryHover],r.palette[F.BackgroundActive])}),xie=jt({CrossButton:wie}),Cie=["size"],Sie=function(e){switch(e){case Ii.Lg:return 16;case Ii.Xs:return 10;case Ii.Sm:default:return 12}},W3=ct(function(e,t){var n=e.size,r=n===void 0?Ii.Lg:n,i=fe(e,Cie);return b.createElement(xie.CrossButton,le({type:"button",size:r},i,{ref:t}),b.createElement(NA,{size:Sie(r)}))}),Pl="Select",_ie=$.span.attrs({className:ve(Pl,"Icon")}).withConfig({componentId:"sc-mfrapg-0"})(function(e){var t=e.theme.palette,n=e.size,r=e.disabled;return X(["display:flex;flex-shrink:0;color:",";padding:",";"],r?t[F.IconsMuted]:t[F.IconsPrimary],n===Ri.Md?"2.5px":"2px")}),Oie=$.span.attrs({className:ve(Pl,"tickIcon")}).withConfig({componentId:"sc-mfrapg-1"})(function(e){var t=e.theme.palette;return X(["color:",";"],t[F.AccentStateless])}),Eie=$.div.attrs({className:ve(Pl,"Container")}).withConfig({componentId:"sc-mfrapg-2"})(function(e){var t=e.fullWidth,n=t===void 0?!1:t;return X(["position:relative;display:inline-flex;",""],n?"width: 100%":"")}),nI=$(W3).attrs({className:ve(Pl,"CrossButton")}).withConfig({componentId:"sc-mfrapg-3"})(function(){return X(["display:none;margin-right:6px;"])}),Pie=$(Rr.Input).attrs({className:ve(Pl,"root")}).withConfig({componentId:"sc-mfrapg-4"})(function(e){var t=e.theme.palette,n=e.disabled,r=e.readOnly,i=e.size,a=i===void 0?"sm":i,o=e.isValueExists;return X(["cursor:",";user-select:none;gap:0px;background:",";"," ",";"],n||r?"default":"pointer",n?t[F.BackgroundHover]:t[F.BackgroundStateless],o&&"\n &:hover {\n ".concat(nI," {\n display: flex;\n }\n }\n "),vA[a])}),kie=$.label.attrs({className:ve(Pl,"Label")}).withConfig({componentId:"sc-mfrapg-5"})(function(e){var t=e.hideEllipsis,n=e.size,r=n===void 0?Ri.Md:n;return"\n flex-grow: 1;\n margin-right: ".concat(r===Ri.Md?8:12,"px;\n\n ").concat(!t&&X(["white-space:nowrap;text-overflow:ellipsis;overflow:hidden;"]),"\n ")}),Lie=$.span.attrs({className:ve(Pl,"Placeholder")}).withConfig({componentId:"sc-mfrapg-6"})(function(e){var t=e.theme.palette,n=e.size;return X(["width:100%;color:",";margin-right:","px;"],t[F.TextPlaceholder],n===Ri.Md?16:12)}),Mie=$.input.attrs({className:ve(Pl,"Input"),"aria-hidden":"true"}).withConfig({componentId:"sc-mfrapg-7"})(["left:0;width:100%;bottom:0;opacity:0;position:absolute;pointer-events:none;box-sizing:border-box;"]),Ys=jt({Container:Eie,Select:Pie,Label:kie,Icon:_ie,TickIcon:Oie,Input:Mie,Placeholder:Lie,StyledCrossButton:nI});function RO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Tie(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=b.createElement(U3,null,e);if(t&&e){var a=b.createElement(DA,null,b.createElement(Ys.TickIcon,null,b.createElement(dA,{size:Aie(n)})));if(b.Children.count(e)===1)return b.createElement(b.Fragment,null,i,!r&&a);if(b.Children.count(e)>1&&!b.Children.toArray(e).some(function(o){var c;return(o==null||(c=o.type)===null||c===void 0?void 0:c.displayName)==="MenuItemActions"}))return b.createElement(b.Fragment,null,e,a)}return i},Fie=function(e,t){var n,r,i,a,o=t.value,c=t.multiple,u=c===void 0?!1:c,d=t.size,f=d===void 0?kt.Md:d,w=t.hideMenuItemsActions,m=w===void 0?!1:w,g=t.onClose,y=t.onChange;if(!b.isValidElement(e))return e;if(((n=e.type)===null||n===void 0?void 0:n.displayName)!=="MenuItem")return b.cloneElement(e);var C=e==null||(r=e.props)===null||r===void 0?void 0:r.value,P=u?Array.isArray(o)?o:[]:[o],S=P.length>0&&P.includes(C),E=e==null||(i=e.props)===null||i===void 0?void 0:i.disabled;return b.cloneElement(e,{active:S,size:f,children:Iie(e==null||(a=e.props)===null||a===void 0?void 0:a.children,S,f,m),onClick:function(){var p;if(!u&&typeof g=="function"&&g(),typeof y=="function"&&!E&&C!=null&&(p=C.toString())!==null&&p!==void 0&&p.length){var x=C;if(u){x=pn(Array.isArray(o)?o:[]);var O=x.indexOf(C);O>-1?x.splice(O,1):x.push(C)}y(x)}}})},jO=function e(t){var n=t.props?t.props.children:t;return Array.isArray(n)?n.map(function(r){return e(r)}).join(" "):Qr(n)==="object"?e(n.props.children):n},Die=function(e,t){if(e&&e.children){for(var n=t?e.value:e.children;typeof n!="string";)Array.isArray(n)?n=jO(n[1]):n=jO(n);return n}},Nie=function(e){var t=e.value,n=e.multiple,r=n===void 0?!1:n,i=e.children,a=e.showSelectionKey,o=a===void 0?!1:a,c=[];b.Children.forEach(i,function(d){if(b.isValidElement(d)){var f=(d==null?void 0:d.type)||{},w=f.displayName;w==="MenuItem"&&d.props&&c.push(Tie({},d.props))}});var u=r?c.filter(function(d){return Array.isArray(t)&&t.includes(d.value)}):[c.find(function(d){return d.value===t})];return u.length>0?u.map(function(d){return Die(d,o)}).join(", "):Array.isArray(t)?t.join(", "):t},Rie=["children","size","error","multiple","onChange","value","fullWidth","selectProps","MenuProps","readOnly","disabled","placeholder","showSelectionKey","hideMenuItemsActions","showClearIcon","renderLabel","onRequestClose","hideEllipsis"],D9=ct(function(e,t){var n,r=e.children,i=e.size,a=i===void 0?kt.Md:i,o=e.error,c=o===void 0?!1:o,u=e.multiple,d=u===void 0?!1:u,f=e.onChange,w=e.value,m=e.fullWidth,g=m===void 0?!1:m,y=e.selectProps,C=e.MenuProps,P=e.readOnly,S=P===void 0?!1:P,E=e.disabled,p=e.placeholder,x=e.showSelectionKey,O=e.hideMenuItemsActions,k=O===void 0?!1:O,I=e.showClearIcon,L=I===void 0?!1:I,D=e.renderLabel,M=e.onRequestClose,N=e.hideEllipsis,z=N===void 0?!1:N,H=fe(e,Rie),W=B.useState(void 0),K=ke(W,2),G=K[0],q=K[1],U=!!G,J=function(oe){return q(oe.currentTarget)},Q=Array.isArray(w)?!!w.length:!!(w!=null&&(n=w.toString())!==null&&n!==void 0&&n.length),ae=function(){M&&M(),q(void 0)},ie=function(oe){oe.stopPropagation(),typeof f=="function"&&f("")};return b.createElement(Ys.Container,{ref:t,fullWidth:!!g},b.createElement(Ys.Select,le({},H,{disabled:E,size:a,$error:c,$fullWidth:!!g,readOnly:S,showSelectionKey:x,isValueExists:Q,onClick:S||E?void 0:J}),Q&&b.createElement(Ys.Label,{hideEllipsis:z,size:a},typeof D=="function"?D(w):Nie({value:w,multiple:d,children:r,showSelectionKey:x})),!Q&&b.createElement(Ys.Placeholder,{size:a},p),!S&&L&&b.createElement(Ys.StyledCrossButton,{size:a===Ii.Md?Ii.Sm:Ii.Xs,onClick:ie}),b.createElement(Ys.Icon,{size:a,disabled:E},b.createElement(lA,{type:U?"top":"bottom",IconProps:{size:a===Ii.Md?11:10}})),b.createElement(Ys.Input,y)),b.createElement($c,le({onClose:ae},C,{open:U,anchorEl:G}),b.Children.map(r,function(oe){return Fie(oe,{value:w,multiple:d,size:a,hideMenuItemsActions:k,onClose:ae,onChange:S||E?void 0:f})})))});xr.oneOfType([xr.string,xr.number,xr.oneOf([null])]);function zO(e,t,n){var r=function(o){if(typeof e=="function"){var c;e(((c=o.touches)===null||c===void 0?void 0:c[0])||o)}},i=function o(c){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",o),document.removeEventListener("mouseleave",o),document.removeEventListener("touchmove",r),document.removeEventListener("touchend",o),document.removeEventListener("touchcancel",o)},a=function(o){if(document.addEventListener("mousemove",r),document.addEventListener("mouseup",i),document.addEventListener("mouseleave",i),document.addEventListener("touchmove",r),document.addEventListener("touchend",i),document.addEventListener("touchcancel",i),typeof t=="function"){var c;t(((c=o.touches)===null||c===void 0?void 0:c[0])||o)}};return{onMouseDown:a,onTouchStart:a}}function BO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jie(e){for(var t=1;t .item{margin-right:8px;display:flex;justify-content:center;}"]),Qie=$.div.attrs({className:ve(Ra,"select")}).withConfig({componentId:"sc-qj4xo5-12"})(function(e){var t=e.value;return X(["width:",";"],t==="rgb"?"25%":"35%")}),Jie=$.div.withConfig({componentId:"sc-qj4xo5-13"})({display:"flex",alignItems:"center",gap:"12px"}),Kr=jt({ColorPickerWrapper:Bie,RangePickerWrapper:Gie,WhiteGradient:Vie,BlackGradient:Uie,ColorPointer:Wie,BarWrapper:Xie,Bar:Yie,BarColorStop:Kie,ColorPickerAction:Zie,ColorPickerIcon:Hie,ColorItemsContainer:qie,ColorItemWrapper:$ie,Select:Qie,SelectWrapper:Jie}),eae=ct(function(e,t){var n=e.value,r=e.onChange,i=e.checked,a=e.size,o=a===void 0?24:a,c=B.useMemo(function(){return n==="#ffffff"||n==="rgba(0,0,0,0)"?"black":"white"},[n]);return b.createElement(Kr.ColorItemWrapper,{ref:t,color:n,size:o,stroke:n==="rgba(0,0,0,0)"?"#a8a8a8":"#E9EEF2",value:n},b.createElement("input",{type:"radio",value:n,checked:i,onChange:r}),i&&b.createElement(dA,{color:c}))}),tae=["defaultColor","onChange","pinnedColors","showTransparentColor","hidePinIcon","containerProps"];function HO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function my(e){for(var t=1;t255||Number.isNaN(Pe))){var vt=q;vt[ze]=Pe;var We=FM.apply(void 0,pn(vt));U(pn(vt)),CC(We)&&(k(my(my({},O),{},{color:We})),Me(We),It(We))}},Re=function(Pe){Pe.includes("rgb")?U(C7(Pe)):U(W2(Pe))},rt=function(Pe){return y(Pe)?c2:Pe},It=function(Pe){if(re!==null){var ze=ql(re),vt=ze.width,We=ze.height,Ge=tv(Pe),at=oB(Ge[0],Ge[1]/100,Ge[2]/100),$t=ev(at[1],0,100,0,vt),br=We-ev(at[2],0,100,0,We);k({color:rt(Pe),pointer:{left:$t,top:br}}),Me(Pe),Re(Pe),typeof i=="function"&&i(rt(Pe),Ae(Pe),ge(D))}},tt=function(Pe,ze,vt){if(re!==null){var We=ql(re),Ge=We.width,at=We.height,$t=tv(vt),br=ke($t,1),Or=br[0],da=ju(Pe,0,Ge)||0,Ve=ju(ze,0,at)||0,Ke=aB(Or,da/Ge,(at-Ve)/at),Lt=iB(Ke[0],Ke[1],Ke[2]);k({color:Lt,pointer:{left:da,top:Ve}}),typeof i=="function"&&i(Lt,"rgb(".concat(W2(Lt).join(", "),")"),ge(D))}},Ot=function(Pe){var ze=Ce;if(ze!==null){var vt=ql(ze),We=vt.width,Ge=ju(Math.round(ev(Pe,0,We,0,vy)),0,vy),at=ze.querySelector("[data-hue='".concat(Ge,"']")),$t=at.style.backgroundColor;return E({color:$t,pointerLeft:ju(Pe,0,We)}),$t}return S.color},ln=function(Pe){var ze=Ce;if(ze!==null){var vt,We=ql(ze),Ge=We.left,at=((vt=Pe.touches)===null||vt===void 0?void 0:vt[0])||Pe,$t=Ot(at.pageX-Ge);tt(O.pointer.left,O.pointer.top,$t)}},tn=function(Pe){var ze=re;if(ze!==null){var vt=ql(ze),We=vt.left,Ge=vt.top,at=vt.height,$t=vt.width,br=Pe?ju(Pe.pageX-We,0,$t):O.pointer.left||0,Or=Pe?ju(Pe.pageY-Ge,0,at):O.pointer.left||0;tt(br,Or,S.color)}},Kt=function(Pe){Pe.key!=="ArrowLeft"&&Pe.key!=="ArrowRight"||Ot(S.pointerLeft+(Pe.key==="ArrowLeft"?-1:1))},Zt=function(Pe){var ze=0;Pe.key==="ArrowLeft"||Pe.key==="ArrowUp"?ze=-1:(Pe.key==="ArrowRight"||Pe.key==="ArrowDown")&&(ze=1),ze&&tt((O.pointer.left||0)+(["ArrowLeft","ArrowRight"].includes(Pe.key)?ze:0),(O.pointer.top||0)+(["ArrowUp","ArrowDown"].includes(Pe.key)?ze:0),S.color)},yr=function(Pe){var ze=CC(Pe);ze&&It(Pe),ie(Pe)};B.useEffect(function(){Me(O.color),It(O.color)},[Ce]),B.useEffect(function(){ie(O.color),Re(O.color)},[O.color]);var nn=B.useMemo(function(){return pn(new Array(vy+1)).map(function(Pe,ze){return b.createElement(Kr.BarColorStop,{key:ze,$color:"hsl(".concat(ze,", 100%, 50%)"),"data-hue":ze})})},[]),Et=zO(ln,ln),ua=zO(tn,tn);return b.createElement(Kr.ColorPickerWrapper,le({ref:t},m),b.createElement(Kr.ColorPickerAction,null,b.createElement(Kr.SelectWrapper,null,b.createElement(Kr.Select,{value:H},b.createElement(D9,{size:"sm",value:H,MenuProps:my({zIndex:11112},w),onChange:function(Pe){return W(Pe)},fullWidth:!0,hideEllipsis:!0},b.createElement(es,{value:"hex"},"Hex"),b.createElement(es,{value:"rgb"},"RGB"))),H==="hex"?b.createElement(F1,{size:"sm",error:!/^#(?:[0-9a-fA-F]{3,4}){1,2}$/i.test(O.color),value:ae,onChange:function(Pe){return yr(Pe.target.value)},style:{width:"45%"}}):q.map(function(Pe,ze){return b.createElement(F1,{key:ze,size:"sm",value:Pe,onChange:function(vt){var We;return et(Number((We=vt.target)===null||We===void 0?void 0:We.value),ze)},style:{width:"20%"}})})),O.color!==c2&&!f&&b.createElement(Kr.ColorPickerIcon,{onClick:function(){return D.some(function(Pe){return xe(Pe)})?Ie(O.color,"delete"):Ie(O.color,"add")}},D.some(function(Pe){return xe(Pe)})?b.createElement(qA,null):b.createElement(Rre,null))),b.createElement(Kr.RangePickerWrapper,le({ref:be,color:S.color},ua),b.createElement(Kr.WhiteGradient,null),b.createElement(Kr.BlackGradient,null),b.createElement(Kr.ColorPointer,{tabIndex:-1,left:O.pointer.left||0,top:O.pointer.top||0,onKeyDown:Zt,pointerColor:ae,considerTopWidth:!0})),b.createElement(Kr.BarWrapper,Et,b.createElement(Kr.Bar,{ref:pe},b.createElement("tbody",null,b.createElement("tr",null,nn))),b.createElement(Kr.ColorPointer,{tabIndex:-1,left:S.pointerLeft,onKeyDown:Kt,considerTopWidth:!1,pointerColor:ae,style:{top:-3}})),b.createElement(Kr.ColorItemsContainer,null,D.map(function(Pe){return b.createElement("div",{className:"item",key:Pe},b.createElement(eae,{value:Pe,checked:xe(Pe),onChange:function(ze){return It(ze.target.value)}}))})))}),yy=A(A(A({},Bd.Primary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";&:hover{background-color:",";}&:focus{background-color:",";}&:active{background-color:",";}"," &:disabled{color:",";background:",";cursor:default;}"],t[F.AccentStateless],t[F.IconsInvert],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity])}),Bd.Secondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";&:hover{color:",";background-color:",";}&:focus{background-color:",";color:",";border:1px solid ",";}&:active{color:",";background-color:",";}"," &:disabled{color:",";background:",";border:none;cursor:default;}"],t[F.BackgroundStateless],t[F.AccentStateless],t[F.AccentStateless],t[F.IconsInvert],t[F.AccentPrimaryHover],t[F.Accent_1_2_Opacity],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive],t[F.IconsInvert],t[F.AccentPrimaryActive],n&&X(["color:",";background-color:",";&:hover,&:focus{color:",";background-color:",";}"],t[F.IconsInvert],t[F.AccentPrimaryActive],t[F.IconsInvert],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity])}),Bd.Basic,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:transparent;color:",";border:none;&:hover{background-color:",";color:",";}&:focus{background-color:",";color:",";}&:active{background-color:",";color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.IconsPrimary],t[F.BackgroundHover],t[F.IconsPrimaryHover],t[F.BackgroundActive],t[F.LinkActive],t[F.BackgroundActive],t[F.LinkActive],n&&X(["background-color:",";color:",";&:hover,&:focus{background-color:",";color:",";}"],t[F.BackgroundActive],t[F.LinkActive],t[F.BackgroundActive],t[F.LinkActive]),t[F.BordersDisabled])}),rae=A(A(A(A({},it.Xs,X(["padding:6px;"])),it.Sm,X(["padding:9px;"])),it.Md,X(["padding:12px;"])),it.Lg,X(["padding:11px;"])),iae="IconButton",aae=$(Qa.Button).attrs({className:ve(iae,"root")}).withConfig({componentId:"sc-10edh45-0"})(function(e){var t=e.theme,n=e.color,r=n===void 0?Bd.Secondary:n,i=e.size,a=i===void 0?it.Md:i,o=e.$active,c=o===void 0?!1:o;return X([""," ",""],rae[a],yy[r]?yy[r]({theme:t,active:c}):yy[Bd.Basic]({theme:t,active:c}))}),oae=jt({IconButton:aae}),sae=["children","size","color","active"],yl=ct(function(e,t){var n=e.children,r=e.size,i=r===void 0?it.Md:r,a=e.color,o=a===void 0?Bd.Primary:a,c=e.active,u=c===void 0?!1:c,d=fe(e,sae);return b.createElement(oae.IconButton,le({type:"button"},d,{size:i,color:o,$active:u,ref:t}),n&&(typeof n=="function"?n({size:Sc(i)}):n))}),by=function(e,t){e.preventDefault(),e.button===0&&t&&t(e)},lae=function(e){var t=e.theme.palette;return X(["background:"," !important;border:1px solid "," !important;"],t[F.BackgroundSecondary],t[F.Error])},cae=A(A({},kt.Sm,function(){return X(["height:136px;"])}),kt.Md,function(){return X(["height:152px;"])}),rI=A(A({},kt.Sm,function(e){var t=e.theme.typography.font;return X(["padding:8px 12px;",""],t[Oe.InputMd])}),kt.Md,function(e){var t=e.theme.typography.font;return X(["padding:8px 16px;",""],t[Oe.InputLg])}),X3="Textarea",uae=$.div.attrs({className:ve(X3,"root")}).withConfig({componentId:"sc-1usif6k-0"})(function(e){var t=e.size,n=t===void 0?kt.Md:t,r=e.error,i=r===void 0?!1:r,a=e.fullWidth,o=a===void 0?!1:a,c=e.readOnly,u=c===void 0?!1:c,d=e.disabled,f=d===void 0?!1:d,w=e.autoSize,m=w===void 0?!1:w,g=e.theme;return X(["position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:space-between;cursor:text;box-sizing:border-box;transition:all 100ms ease-out;width:",";pointer-events:",";background-color:",";border-radius:",";border:1px solid ",";color:",";"," "," &:hover{color:",";}"," ",""],o?"100%":"300px",f?"none":"auto",fA(u,f),g.shape.borderRadius[so.Md],gA(u,f),f?g.palette[F.TextPlaceholder]:g.palette[F.TextPrimary],cae[n],!u&&!f&&X(["&:focus-within{background-color:","!important;border:1px solid ",";&:hover{border:1px solid ",";}}&:hover{background-color:",";border:1px solid ",";}"],g.palette[F.BackgroundSecondary],g.palette[F.AccentStateless],g.palette[F.AccentStateless],g.palette[F.BackgroundStateless],g.palette[F.BordersPrimaryHover]),pA(u,f),i&&lae,m&&X(["width:auto;height:auto;"]))}),dae=$.textarea.attrs({className:ve(X3,"Base")}).withConfig({componentId:"sc-1usif6k-1"})(function(e){var t=e.theme.palette,n=e.readOnly,r=n===void 0?!1:n,i=e.size,a=i===void 0?kt.Md:i;return X(["display:block;width:100%;height:100%;color:inherit;outline:none;resize:none;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;font-family:inherit;box-sizing:border-box;flex:1;"," ",";&::placeholder{color:",";}::-webkit-scrollbar{width:12px;}::-webkit-scrollbar-track{width:8px;}::-webkit-scrollbar-thumb{background:",";border-radius:8px;border:4px solid ",";}"],r&&"padding-bottom: 0px;",rI[a],t[F.TextPlaceholder],t[F.BorderPrimaryStateless],t[F.BackgroundStateless])}),hae=$.div.attrs({className:ve(X3,"ActionsButtonsWrapper")}).withConfig({componentId:"sc-1usif6k-2"})(function(e){var t=e.size,n=t===void 0?kt.Md:t;return X(["display:flex;align-items:center;width:100%;column-gap:12px;box-sizing:border-box;",";.SfxButton-Label{font-weight:500;}"],rI[n])}),fae=$.span.attrs({className:ve(X3,"CopyIcon")}).withConfig({componentId:"sc-1usif6k-3"})(function(e){var t=e.theme.palette;return X(["cursor:pointer;color:",";margin-left:auto;"],t[F.IconsPrimary])}),u2=jt({Textarea:uae,CopyIcon:fae,Base:dae,ActionsButtonsWrapper:hae}),pae=["fullWidth","size","value","readOnly","disabled","error","cols","rows","copyTextMessage","copySuccessIcon","showActionButton","showClearButton","hideCopyIcon","disableActionButton","isActionButtonLoading","actionButtonLabel","clearAllButtonLabel","onClickActionButton","onClear","onChange"];function GO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function gae(e){for(var t=1;tEt.clientHeight&&xe({paddingRight:o===Ri.Md?"4px":"0px"})},[(n=ie.current)===null||n===void 0?void 0:n.scrollHeight,o]),B.useEffect(function(){setTimeout(function(){return Me(!1)},2e3)},[Ie]),B.useEffect(function(){It(c)},[c]);var Zt=function(){setTimeout(function(){R(!0)},150)},yr=function(){setTimeout(function(){R(!1)},200)},nn=function(){return b.createElement(Rr.NotificationBox,{size:o,isTextarea:!0},b.createElement(Rr.NotificationIcon,null,p),b.createElement(Rr.NotificationText,null,S))};return b.createElement(u2.Textarea,{size:o,value:rt,onMouseEnter:Zt,onMouseLeave:yr,readOnly:d,disabled:w,fullWidth:!!i,error:g,autoSize:!!y||!!C},b.createElement(u2.Base,le({},ae,{value:rt,ref:oe,size:o,onChange:tn,readOnly:d,disabled:w,style:gae({},be)})),(O||I||tt)&&b.createElement(u2.ActionsButtonsWrapper,{size:o},O&&b.createElement(Da,{color:"link-primary",size:"sm",disabled:N,loading:H,onMouseDown:function(Et){return by(Et,Ot)}},K),I&&b.createElement(Da,{color:"link-secondary",size:"sm",onMouseDown:function(Et){return by(Et,ln)}},q),tt&&b.createElement(u2.CopyIcon,{size:o,onMouseDown:function(Et){return by(Et,Kt)}},b.createElement(hA,{size:Sc(o)}),Ie&&nn())))}),wy={Input:"input",Textarea:"textarea"},vae="InputGroup",yae=$.div.attrs({className:ve(vae,"root")}).withConfig({componentId:"sc-zhtjwh-0"})(["","{margin-top:4px;}","{margin-bottom:4px;}"],RA.FormHint,tg.Label),iI=jt({InputGroup:yae}),bae=["type","error","label","hint","LabelProps","InputProps","inputProps","inputRef","TextareaProps","readOnly","disabled","size","value","hideCopyIcon","copyTextMessage","copySuccessIcon","placeholder","fullWidth","onChange"],aI=ct(function(e,t){var n=e.type,r=n===void 0?wy.Input:n,i=e.error,a=i===void 0?!1:i,o=e.label,c=e.hint,u=e.LabelProps,d=e.InputProps,f=e.inputProps,w=e.inputRef,m=e.TextareaProps,g=e.readOnly,y=g===void 0?!1:g,C=e.disabled,P=e.size,S=e.value,E=e.hideCopyIcon,p=e.copyTextMessage,x=p===void 0?"Copied!":p,O=e.copySuccessIcon,k=O===void 0?b.createElement(B3,{size:16}):O,I=e.placeholder,L=e.fullWidth,D=e.onChange,M=fe(e,bae),N=function(){return o?typeof o=="function"?o({error:a}):Qr(o)==="object"?o:b.createElement(hn,le({size:P,disabled:C},u||{}),o):null},z=function(){var W={value:S,readOnly:y,disabled:C,size:P,error:a,placeholder:I,hideCopyIcon:E,copyTextMessage:x,copySuccessIcon:k,fullWidth:L};return r===wy.Input?b.createElement(F1,le({},W,M,f,{InputProps:d,ref:w,readOnly:y,disabled:C,onChange:D})):r===wy.Textarea?b.createElement(mae,le({},W,m||{},{onChange:function(K){return D(K)}})):null},H=function(){return c?typeof c=="function"?c({error:a}):Qr(c)==="object"?c:b.createElement(jA,{size:P,error:a,disabled:C},c):null};return b.createElement(iI.InputGroup,{ref:t},N(),z(),H())});function wae(e){if(e==null)throw new TypeError("Cannot destructure "+e)}var _c={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg",Xl:"xl"},xae=B.createContext({modalOpened:!1}),Cae=A(A(A(A(A({},_c.Xs,X(["max-width:300px;"])),_c.Sm,X(["max-width:600px;"])),_c.Md,X(["max-width:960px;"])),_c.Lg,X(["max-width:1280px;"])),_c.Xl,X(["max-width:1920px;"])),Y3="Modal",Sae=$.div.attrs({className:ve(Y3,"Wrapper")}).withConfig({componentId:"sc-80m07l-0"})(function(e){var t=e.open;return X(["position:fixed;right:0px;bottom:0px;top:0px;left:0px;z-index:1200;visibility:",";"],t?"visible":"hidden")}),_ae=$.div.attrs({className:ve(Y3,"Overlay")}).withConfig({componentId:"sc-80m07l-1"})(function(e){var t=e.open;return X(["position:fixed;right:0px;bottom:0px;top:0px;left:0px;background-color:rgba(0,0,0,0.5);z-index:-1;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:",";"],t?"1":"0")}),Oae=$.div.attrs({className:ve(Y3,"Container")}).withConfig({componentId:"sc-80m07l-2"})(function(e){var t=e.theme,n=e.open,r=n===void 0?!1:n,i=e.fullWidth,a=i===void 0?!1:i,o=e.maxWidth,c=o===void 0?_c.Sm:o;return X(["position:absolute;overflow-x:hidden;overflow-y:auto;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms,transform 167ms cubic-bezier(0.4,0,0.2,1) 0ms;outline:0;border-radius:",";background-color:",";box-shadow:0px 2px 4px ",";visibility:",";opacity:",";display:flex;max-height:calc(100% - 64px);flex-direction:column;"," "," top:50%;left:50%;transform:translate(-50%,-50%);"],t.shape.borderRadius[so.Lg],t.palette[F.BackgroundSecondary],t.palette[F.LightShadow],r?"visible":"hidden",r?"1":"0",a&&X(["width:calc(100% - 64px);"]),Cae[c])}),Eae=$.div.attrs({className:ve(Y3,"root")}).withConfig({componentId:"sc-80m07l-3"})(function(){return X(["position:relative;padding-top:8px;padding-bottom:8px;margin:0;padding:0;outline:0;display:flex;flex-direction:column;"])}),d2=jt({Modal:Eae,Wrapper:Sae,Overlay:_ae,Container:Oae}),Pae=["children","open","onClose","onDragOver","onDrop","maxWidth","fullWidth","modalStyles","hideOverlay","disableOverlayClick"];function VO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function UO(e){for(var t=1;t input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}"],t[F.LinkActive])}),goe=$.div.attrs({className:ve(qc,"mark")}).withConfig({componentId:"sc-1xuruq0-5"})(["padding:4px;"]),moe=$.span.attrs({className:ve(qc,"mark-text")}).withConfig({componentId:"sc-1xuruq0-6"})(function(e){var t=e.theme.palette;return X(["position:absolute;top:20px;font-size:14px;transform:translateX(-10%);color:",";"],t[F.TextPrimary])}),mc=jt({RotationSliderList:uoe,RotationSliderBigDot:doe,RotationSliderSmallDotWrapper:hoe,RotationSliderSmallDot:foe,RotationSliderControl:poe,RotationSliderMark:goe,RotationSliderMarkText:moe}),voe=["min","max","angle","onChange","onMouseDown","onMouseUp","step","labelTooltipOptions","annotation","hideMarkText","showCurrentMarkText","value","railProps","trackProps","thumbProps","labelTooltipProps","markStyles","markTextStyles"];function WO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Dr(e){for(var t=1;ta?a:O *{color:",";}}",""],n?"none":"flex",t[F.BackgroundActive],t[F.AccentStateless],r&&X(["background-color:",";& > *{color:"," !important;}"],t[F.BackgroundActive],t[F.AccentStateless]))}),Noe=$.div.attrs({className:ve(Bi,"text")}).withConfig({componentId:"sc-1riasfx-8"})(function(e){var t=e.theme,n=t.palette,r=t.typography.font,i=e.font,a=e.isCollapsed;return X(["flex:1 1 auto;color:",";",";transition:color 100ms ease-out;display:",";user-select:none;"],n[F.TextPrimary],r[i||Oe.LabelLarge],a&&"none")}),Roe=$.span.attrs({className:ve(Bi,"icon")}).withConfig({componentId:"sc-1riasfx-9"})(function(e){var t=e.theme.palette,n=e.isCollapsed;return X(["display:flex;flex-shrink:0;color:",";margin-right:",";transition:color 100ms ease-out;"],t[F.IconsPrimary],n?"0px":"12px")}),sI=$.div.attrs({className:ve(Bi,"item-button")}).withConfig({componentId:"sc-1riasfx-10"})(function(e){var t=e.theme.palette,n=e.isCollapsed,r=e.selected;return X(["display:flex;justify-content:",";align-items:center;border-radius:4px;box-sizing:border-box;text-align:left;padding:",";width:",";margin-bottom:12px;",";transition:background-color 150ms cubic-bezier(0.4,0,0.2,1) 0ms;cursor:pointer;&:hover{background-color:",";& > *{color:",";}}",""],n?"center":"flex-start",n?"12px 0px":"13px 16px",n&&"44px",n&&"margin: 12px",t[F.BackgroundActive],t[F.AccentStateless],r&&X(["background-color:",";& > *{color:",";}"],t[F.BackgroundActive],t[F.AccentStateless]))}),joe=$(sI).attrs({className:ve(Bi,"item-button")}).withConfig({componentId:"sc-1riasfx-11"})(function(e){var t=e.theme.palette,n=e.isCollapsed;return X([""," &:hover{background-color:",";& > *{color:",";}svg{color:",";background-color:",";border-radius:50%;path:first-of-type{color:",";}}}"],!n&&X(["padding:13px 16px;"]),t[F.BackgroundActive],t[F.AccentStateless],t[F.BackgroundActive],t[F.AccentStateless],t[F.AccentStateless])}),zoe=$(uA).attrs({className:ve(Bi,"accordion")}).withConfig({componentId:"sc-1riasfx-12"})(function(e){var t=e.theme,n=t.palette,r=t.typography.font,i=e.selected;return X(["","{padding:13px 16px;transition:background-color 100ms ease-out;","{",";color:",";}&:hover{background-color:",";& > *{color:",";}}","}","{padding:0px 16px;}"],Hd.Header,Hd.Label,r[Oe.LabelLargeEmphasis],n[F.TextPrimary],n[F.BackgroundActive],n[F.AccentStateless],i&&X(["","{color:",";}"],Hd.Label,n[F.AccentStateless]),cA.AccordionDetails)}),Pa=jt({TemporaryDrawer:koe,PersistentDrawer:Loe,Drawer:Moe,Header:Toe,Body:Aoe,Footer:Ioe,List:Foe,Item:Doe,ItemButton:sI,Icon:Roe,ItemText:Noe,DrawerAccordion:zoe,CollapsedButton:joe}),K1=B.createContext({isCollapsed:!1,size:20}),Boe=["children","font"],Hoe=ct(function(e,t){var n=e.children,r=e.font,i=fe(e,Boe),a=B.useContext(K1),o=a.isCollapsed;return b.createElement(Pa.ItemText,le({font:r,isCollapsed:o},i,{ref:t}),n)}),Goe=["children","size"],Voe=ct(function(e,t){var n=e.children,r=e.size,i=r===void 0?20:r,a=fe(e,Goe),o=B.useContext(K1),c=o.isCollapsed,u=o.size;return b.createElement(Pa.Icon,le({},a,{isCollapsed:c,ref:t}),n&&typeof n=="function"?n({size:u||i}):n)}),h2={Auto:"auto",Temporary:"temporary",Persistent:"persistent"},Uoe=["children","open","iconsSize","collapsed","top","hideBackdrop","disablePortal","collapseButtonLabel","persistentDrawerStyles","temproryDrawerStyles","variant","onClose","onCollapse","onCollapseClick"];function XO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xy(e){for(var t=1;t0}Ce.key==="Escape"&&pe&&U()};B.useEffect(function(){return document.addEventListener("keydown",J),function(){return document.removeEventListener("keydown",J)}},[]);var Q=function(Ce){return b.createElement(Pa.Drawer,le({open:r,top:u},I,{isCollapsed:Ce?z:!1,ref:t}),n,Ce&&b.createElement(Pa.CollapsedButton,{onClick:q,isCollapsed:z},b.createElement(Voe,null,z?function(pe){return b.createElement(cie,le({},pe,{size:a}))}:function(pe){return b.createElement(sie,le({},pe,{size:a}))}),b.createElement(Hoe,null,g)))},ae=function(){return!f&&r?b.createElement(Poe,{onClick:x}):null},ie=function(){return w?b.createElement(Pa.TemporaryDrawer,{ref:W,style:xy({},S),open:r},ae(),Q(!1)):H3.createPortal(b.createElement(Pa.TemporaryDrawer,{ref:W,style:xy({},S),open:r},ae(),Q(!1)),G)},oe=function(){return b.createElement(Pa.PersistentDrawer,{style:xy({},C)},Q(!0))},ue=function(){switch(p){case h2.Auto:return D?ie():oe();case h2.Temporary:return ie();case h2.Persistent:return oe();default:return D?ie():oe()}};return b.createElement(K1.Provider,{value:{isCollapsed:D?!1:z,size:K}},ue())}),Xoe=["children"],Yoe=ct(function(e,t){var n=e.children,r=fe(e,Xoe),i=B.useContext(K1),a=i.isCollapsed;return b.createElement(Pa.Header,le({},r,{isCollapsed:a,ref:t}),n)}),Koe=["children"],Zoe=ct(function(e,t){var n=e.children,r=fe(e,Koe);return b.createElement(Pa.Body,le({},r,{ref:t}),n)}),$oe=["children"],qoe=ct(function(e,t){var n=e.children,r=fe(e,$oe);return b.createElement(Pa.List,le({},r,{ref:t}),n)}),Qoe=["children","selected"],Joe=ct(function(e,t){var n=e.children,r=e.selected,i=r===void 0?!1:r,a=fe(e,Qoe),o=B.useContext(K1),c=o.isCollapsed;return b.createElement(Pa.Item,le({selected:i,isCollapsed:c},a,{ref:t}),n)}),ese=$.div.withConfig({componentId:"sc-1rfxjvn-0"})(["display:flex;width:100%;justify-content:space-between;gap:10px;.SfxSlider-root{min-width:100px;}",""],function(e){var t=e.isPhoneScreen;return t&&"\n flex-direction: column;\n\n .SfxSlider-root {\n min-width: 230px;\n }\n "}),Fc=$.div.withConfig({componentId:"sc-1rfxjvn-1"})(["display:flex;flex-direction:column;"]),Dc=$(hn).withConfig({componentId:"sc-1rfxjvn-2"})(["",";"],function(e){var t=e.theme;return t.typography.font[Oe.LabelExtraSmallUp]}),Nc=$.div.withConfig({componentId:"sc-1rfxjvn-3"})(["display:flex;align-items:center;"]),Rc=$(F1).withConfig({componentId:"sc-1rfxjvn-4"})(["display:inline-block;width:40px;height:28px;padding:6px 2px;margin-left:10px;border:none;.SfxInput-Base{text-align:center;width:100%;min-width:100%;max-width:100%;}"]),YO=-1,Cy={brightness:0},KO=1,tse={width:150,padding:0,margin:0},nse=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Brighten,Cy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({brightness:$n(d,YO,KO)})};return b.createElement(Fc,{className:"FIE_brightness-option-wrapper"},b.createElement(Dc,{className:"FIE_brightness-option-label"},r("brightness")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_brightness-option",min:YO,step:.05,max:KO,width:"124px",value:(t=o.brightness)!==null&&t!==void 0?t:Cy.brightness,onChange:u,style:tse}),b.createElement(Rc,{value:(n=o.brightness)!==null&&n!==void 0?n:Cy.brightness,onChange:function(d){var f=d.target.value;return u(f)}})))},c3=function(e,t){return Math.min(e.width/t.width,e.height/t.height)||Fa},ZO=[{titleKey:"custom",ratio:xT,icon:Fne,hide:function(){var e=0g.width||k.height>g.height?c3(g,k):Fa}})),n()};return b.createElement(b.Fragment,null,b.createElement(rse,null,b.createElement(P9,{className:"FIE_crop-tool-label FIE_selected-crop-preset-label",isPhoneScreen:S},a(w||"cropTool")),b.createElement(ise,{className:"FIE_crop-presets-opener-button",color:"link-secondary",size:"lg"},t?b.createElement(aie,{size:10}):b.createElement(rie,{size:10}))),b.createElement($c,{className:"FIE_crop-presets-menu",anchorEl:t,enableOverlay:!0,onClose:n,open:!!t,position:"top",popperOptions:{modifiers:[{name:"offset",options:{offset:[0,4]}}]},maxHeight:"100%"},b.createElement(ose,null,E.map(function(x){var O=x.titleKey,k=x.descriptionKey,I=x.ratio,L=x.width,D=x.height,M=x.groups,N=x.icon,z=x.disableManualResize,H=x.noEffect;return M?b.createElement(uI,{key:O,titleKey:O,groups:M,Icon:N,theme:C,onItemSelect:p,t:a,disableManualResize:z}):b.createElement(z9,{key:I,ratio:I!=null?I:_n(L/D),titleKey:O,t:a,description:a(k),Icon:N,isActive:(f||M7)===(I!=null?I:_n(L/D))&&!m,theme:C,width:L,height:D,onClick:p,disableManualResize:z,noEffect:H})}))))};dI.defaultProps={anchorEl:null};var hI=function(e){var t=e.selectTool,n=e.isSelected,r=Ye(),i=r.config,a=r.t,o=B.useState(),c=ke(o,2),u=c[0],d=c[1];return b.createElement(or,{className:"FIE_crop-tool",id:se.CROP,Icon:ane,onClick:function(f,w){t(f),d(w.currentTarget)},isSelected:n},i[se.CROP].noPresets?b.createElement(P9,{className:"FIE_crop-tool-label"},a("cropTool")):b.createElement(dI,{anchorEl:u,onClose:function(){d(null)}}))};hI.defaultProps={isSelected:!1};var use={transform:"scaleX(-1)"},fI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t,i=Ye(),a=i.dispatch,o=i.adjustments.isFlippedX,c=Na(320),u=B.useCallback(function(){return b.createElement(jne,{size:c?20:16,style:o?use:void 0})},[o,c]),d=B.useMemo(function(){return{reverseLabelOfCurrXFlipDir:r(o?"unFlipX":"flipX"),reverseIconOfCurrXFlipDir:u}},[o,u]),f=d.reverseLabelOfCurrXFlipDir,w=d.reverseIconOfCurrXFlipDir,m=B.useCallback(function(){a({type:W9,payload:{direction:L7.X}})},[]),g=B.useCallback(function(y){t(y),m()},[]);return b.createElement(or,{className:"FIE_flip-x-tool-button",id:se.FLIP_X,label:f,Icon:w,onClick:g,isSelected:n})};fI.defaultProps={isSelected:!1};var dse={transform:"scaleY(-1)"},pI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t,i=Ye(),a=i.dispatch,o=i.adjustments.isFlippedY,c=Na(320),u=B.useCallback(function(){return b.createElement(Nne,{size:c?20:16,style:o?dse:void 0})},[o,c]),d=B.useMemo(function(){return{reverseLabelOfCurrYFlipDir:r(o?"unFlipY":"flipY"),reverseIconOfCurrYFlipDir:u}},[o]),f=d.reverseLabelOfCurrYFlipDir,w=d.reverseIconOfCurrYFlipDir,m=B.useCallback(function(){a({type:W9,payload:{direction:L7.Y}})},[]),g=B.useCallback(function(y){t(y),m()},[]);return b.createElement(or,{className:"FIE_flip-y-tool-button",id:se.FLIP_Y,label:f,Icon:w,onClick:g,isSelected:n})};pI.defaultProps={isSelected:!1};var gI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_rotate-tool-button",id:se.ROTATE,label:r("rotateTool"),Icon:WA,onClick:t,isSelected:n})};gI.defaultProps={isSelected:!1};var hse=$.div.withConfig({componentId:"sc-wbx58r-0"})(["display:flex;align-items:center;gap:16px;"]),fse=$(yoe).withConfig({componentId:"sc-wbx58r-1"})([".SfxRotationSlider-control{width:1px;height:10px;background-color:",";&:before{box-shadow:unset;}}.SfxRotationSlider-mark,.SfxRotationSlider-small-dot-wrapper{padding:0;.SfxRotationSlider-mark-text{top:10px;}.SfxRotationSlider-big-dot{width:4px;height:4px;}.SfxRotationSlider-small-dot{width:1px;height:1px;}}.SfxRotationSlider-list{gap:4px;}"],function(e){var t=e.theme.palette;return t[F.IconsSecondary]}),eE=$(yl).withConfig({componentId:"sc-wbx58r-2"})([""]),pse=function(){var e=Ye(),t=e.dispatch,n=e.adjustments.rotation,r=n===void 0?0:n,i=e.resize,a=i===void 0?{}:i,o=e.config,c=o[se.ROTATE],u=Na(),d=eA(function(f,w){var m=$n(w,-180,180);if(t({type:zI,payload:{rotation:m}}),a.width&&a.height){var g=vl(a.width,a.height,m);t({type:Gd,payload:{width:g.width,height:g.height}})}},20);return c.componentType==="buttons"?b.createElement(b.Fragment,null,b.createElement(or,{className:"FIE_rotate_button_left",id:se.IMAGE,label:"-".concat(c.angle,"°"),Icon:WA,onClick:function(f){var w=r-c.angle;d(f,w)}}),b.createElement(or,{className:"FIE_rotate_button_right",id:se.IMAGE,label:"+".concat(c.angle,"°"),Icon:wne,onClick:function(f){var w=r+c.angle;d(f,w)}})):b.createElement(hse,null,b.createElement(eE,{size:"sm",color:"basic",onClick:function(f){return d(f,r-90)}},b.createElement(NO,{width:15})),b.createElement(fse,{className:"FIE_rotate-slider",showCurrentMarkText:!0,min:-180,max:180,step:u?c.angle/3:1,value:r,angle:c.angle||90,onChange:d}),b.createElement(eE,{size:"sm",color:"basic",onClick:function(f){return d(f,r+90)}},b.createElement(NO,{width:15,style:{transform:"scaleX(-1)"}})))},mI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_contrast-tool-button",id:se.CONTRAST,label:r("contrastTool"),Icon:Pre,onClick:t,isSelected:n})};mI.defaultProps={isSelected:!1};var tE=-100,Sy={contrast:0},nE=100,gse={width:150,padding:0,margin:0},mse=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Contrast,Sy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({contrast:$n(d,tE,nE)})};return b.createElement(Fc,{className:"FIE_contrast-option-wrapper"},b.createElement(Dc,{className:"FIE_contrast-option-label"},r("contrastTool")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_contrast-option",min:tE,max:nE,width:"124px",value:(t=o.contrast)!==null&&t!==void 0?t:Sy.contrast,onChange:u,style:gse}),b.createElement(Rc,{value:(n=o.contrast)!==null&&n!==void 0?n:Sy.contrast,onChange:function(d){var f=d.target.value;return u(f)}})))},vI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_hsv-tool-button",id:se.HSV,label:r("hsvTool"),Icon:Tre,onClick:t,isSelected:n})};vI.defaultProps={isSelected:!1};var vc={hue:0,saturation:0,value:0},rE={hue:259,saturation:10,value:2},_y={padding:0,margin:0},vse=Na(),yse=function(e){var t,n,r,i,a,o,c=e.t,u=V1(Sn.Filters.HSV,vc),d=ke(u,2),f=d[0],w=d[1],m=function(g,y){w(A({},g,y>rE[g]?rE[g]:+y))};return b.createElement(ese,{isPhoneScreen:vse},b.createElement(Fc,{className:"FIE_hue-option-wrapper"},b.createElement(Dc,{className:"FIE_hue-option-label"},c("hue")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_hue-option",min:0,step:1,max:259,value:(t=f.hue)!==null&&t!==void 0?t:vc.hue,onChange:function(g){return m("hue",g)},style:_y}),b.createElement(Rc,{value:(n=f.hue)!==null&&n!==void 0?n:vc.hue,onChange:function(g){var y=g.target.value;return m("hue",y)}}))),b.createElement(Fc,{className:"FIE_saturation-option-wrapper"},b.createElement(Dc,{className:"FIE_saturation-option-label"},c("saturation")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_saturation-option",min:-2,step:.5,max:10,value:(r=f.saturation)!==null&&r!==void 0?r:vc.saturation,onChange:function(g){return m("saturation",g)},style:_y}),b.createElement(Rc,{value:(i=f.saturation)!==null&&i!==void 0?i:vc.saturation,onChange:function(g){var y=g.target.value;return m("saturation",y)}}))),b.createElement(Fc,{className:"FIE_value-option-wrapper"},b.createElement(Dc,{className:"FIE_value-option-label"},c("value")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_value-option",min:-2,step:.1,max:2,value:(a=f.value)!==null&&a!==void 0?a:vc.value,onChange:function(g){return m("value",g)},style:_y}),b.createElement(Rc,{value:(o=f.value)!==null&&o!==void 0?o:vc.value,onChange:function(g){var y=g.target.value;return m("value",y)}}))))},yI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_blur-tool-button",id:se.BLUR,label:r("blurTool"),Icon:Dre,onClick:t,isSelected:n})};yI.defaultProps={isSelected:!1};var iE=0,Oy={blurRadius:0},aE=100,bse={width:150,padding:0,margin:0},wse=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Blur,Oy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({blurRadius:$n(d,iE,aE)})};return b.createElement(Fc,{className:"FIE_blur-option-wrapper"},b.createElement(Dc,{className:"FIE_blur-option-label"},r("blur")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_blur-option",min:iE,max:aE,width:"124px",value:(t=o.blurRadius)!==null&&t!==void 0?t:Oy.blurRadius,onChange:u,style:bse}),b.createElement(Rc,{value:(n=o.blurRadius)!==null&&n!==void 0?n:Oy.blurRadius,onChange:function(d){var f=d.target.value;return u(f)}})))},bI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_warmth-tool-button",id:se.WARMTH,label:r("warmthTool"),Icon:Ore,onClick:t,isSelected:n})};bI.defaultProps={isSelected:!1};var oE=0,Ey={warmth:0},sE=200,xse={width:150,padding:0,margin:0},Cse=function(e){var t,n,r=e.t,i=V1(x9,Ey),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({warmth:$n(d,oE,sE)})};return b.createElement(Fc,{className:"FIE_warmth-option-wrapper"},b.createElement(Dc,{className:"FIE_warmth-option-label"},r("warmthTool")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_warmth-option",min:oE,max:sE,width:"124px",value:(t=o.warmth)!==null&&t!==void 0?t:Ey.warmth,onChange:u,style:xse}),b.createElement(Rc,{value:(n=o.warmth)!==null&&n!==void 0?n:Ey.warmth,onChange:function(d){var f=d.target.value;return u(f)}})))},Sse=$.div.withConfig({componentId:"sc-1nr0bka-0"})(["max-width:680px;min-width:150px;position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;"]),_se=$.ul.withConfig({componentId:"sc-1nr0bka-1"})(["padding:0;margin:0;white-space:nowrap;overflow:hidden;"]),Ose=$.li.withConfig({componentId:"sc-1nr0bka-2"})(["padding:4px;display:inline-block;list-style-type:none;user-select:none;"]),wI=X(["position:absolute;top:0;height:100%;width:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;svg{color:",";}"],function(e){var t=e.theme.palette;return t[F.IconsSecondary]}),Ese=$.div.withConfig({componentId:"sc-1nr0bka-3"})([""," left:0;justify-content:flex-start;background:linear-gradient( 90deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );"],wI),Pse=$.div.withConfig({componentId:"sc-1nr0bka-4"})([""," right:0;justify-content:flex-end;background:linear-gradient( 270deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );"],wI),K3=function(e){var t=e.children,n=e.style,r=e.className,i=B.useRef(!1),a=B.useRef(),o=O9(),c=ke(o,1),u=c[0],d=B.useState(!1),f=ke(d,2),w=f[0],m=f[1],g=B.useState(!1),y=ke(g,2),C=y[0],P=y[1],S=B.Children.toArray(t),E=function(){if(a.current){var I=a.current,L=I.scrollWidth,D=I.offsetWidth,M=I.scrollLeft,N=Math.round(L-D),z=Math.round(N-M);m(0d,w=f?f2:p2*d,m=f?f2/d:p2;return b.createElement(kse,{className:"FIE_filters-item",onClick:c,"aria-selected":i},b.createElement(Lse,{className:"FIE_filters-item-preview",width:f2,height:p2},b.createElement(P7,{onTap:c},b.createElement(F3,{image:a,filters:n?[n]:[],width:w,height:m,x:-(w-f2)/2,y:-(m-p2)/2,ref:o}))),b.createElement(Mse,{className:"FIE_filters-item-label"},t))};xI.defaultProps={filterFn:void 0};const Tse=B.memo(xI);var g2=Sn.Filters,Ase=[{label:"Original",filterFn:null},{label:"Invert",filterFn:g2.Invert},{label:"Black & White",filterFn:D7},{label:"Sepia",filterFn:g2.Sepia},{label:"Solarize",filterFn:g2.Solarize},{label:"Clarendon",filterFn:N7},{label:"Gingham",filterFn:R7},{label:"Moon",filterFn:j7},{label:"Lark",filterFn:z7},{label:"Reyes",filterFn:B7},{label:"Juno",filterFn:H7},{label:"Slumber",filterFn:G7},{label:"Crema",filterFn:V7},{label:"Ludwig",filterFn:U7},{label:"Aden",filterFn:W7},{label:"Perpetua",filterFn:X7},{label:"Amaro",filterFn:Y7},{label:"Mayfair",filterFn:K7},{label:"Rise",filterFn:Z7},{label:"Hudson",filterFn:$7},{label:"Valencia",filterFn:q7},{label:"X-Pro II",filterFn:Q7},{label:"Sierra",filterFn:J7},{label:"Willow",filterFn:e9},{label:"Lo-Fi",filterFn:t9},{label:"Inkwell",filterFn:g2.Grayscale},{label:"Hefe",filterFn:n9},{label:"Nashville",filterFn:r9},{label:"Stinson",filterFn:i9},{label:"Vesper",filterFn:a9},{label:"Earlybird",filterFn:o9},{label:"Brannan",filterFn:s9},{label:"Sutro",filterFn:l9},{label:"Toaster",filterFn:c9},{label:"Walden",filterFn:u9},{label:"1977",filterFn:d9},{label:"Kelvin",filterFn:h9},{label:"Maven",filterFn:f9},{label:"Ginza",filterFn:p9},{label:"Skyline",filterFn:g9},{label:"Dogpatch",filterFn:m9},{label:"Brooklyn",filterFn:v9},{label:"Helena",filterFn:y9},{label:"Ashby",filterFn:b9},{label:"Charmes",filterFn:w9}],Ise={maxWidth:"100%",width:"100%"},Fse=function(){var e=Ye(),t=e.originalImage,n=Yq(),r=ke(n,2),i=r[0],a=r[1];return b.createElement(K3,{className:"FIE_filters",style:Ise},Ase.map(function(o){return b.createElement(Tse,{key:o.label,filterLabel:o.label,filterFn:o.filterFn,applyFilter:a,isActive:i===o.filterFn,image:t})}))},CI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_text-tool-button",id:se.TEXT,label:r("textTool"),Icon:VA,onClick:t,isSelected:n})};CI.defaultProps={isSelected:!1};var Dse=$.div.withConfig({componentId:"sc-qvjmv1-0"})(["display:flex;align-items:center;justify-content:center;padding:8px 16px;margin-top:4px;gap:8px;flex-wrap:wrap;"," svg{color:",";}"],function(e){var t=e.isPhoneScreen;return t&&"\n max-width: 315px;\n padding: 0;\n "},function(e){var t=e.theme.palette;return t[F.IconsPrimary]}),Nse=$.div.withConfig({componentId:"sc-qvjmv1-1"})(["display:flex;flex-wrap:wrap;margin-left:-4px;gap:4px;.FIE_annotation-option-triggerer{padding:6px;}"]),u3=$.div.withConfig({componentId:"sc-qvjmv1-2"})(["background:",";border-radius:4px;display:flex;flex-direction:column;padding:8px 12px;overflow:visible;"," "," *{font-family:'Roboto',sans-serif;}"],function(e){var t=e.theme;return t.palette["bg-secondary"]},function(e){var t=e.position;return t&&"\n display: grid;\n grid-template-columns: repeat(4, auto);\n padding: 0;\n margin-top: 8px;\n box-shadow: 0px 1px 2px ".concat(function(n){var r=n.theme;return r.palette["light-shadow"]},";\n ")},function(e){var t=e.disablePadding;return t&&"\n padding: 0;\n "}),kl=$.div.withConfig({componentId:"sc-qvjmv1-3"})(["display:flex;align-items:center;gap:12px;",""],function(e){var t=e.preventFlex;return t&&"\n display: block;\n\n label {\n margin-bottom: 8px;\n }\n "}),lE=$.div.withConfig({componentId:"sc-qvjmv1-4"})(["display:flex;align-items:center;justify-content:space-between;"]),m2=$.div.withConfig({componentId:"sc-qvjmv1-5"})(["&:not(:first-child){margin-left:12px;}"]),hl=$.div.withConfig({componentId:"sc-qvjmv1-6"})(function(e){var t=e.theme,n=e.addThinBorder,r=e.secondaryIconColor,i=e.active,a=e.watermarkTool;return"\n cursor: pointer;\n padding: ".concat(a?"6px":"8px 12px",";\n border-radius: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n svg {\n vertical-align: middle;\n margin: 0 auto;\n }\n\n ").concat(n?"border: 0.5px solid ".concat(t.palette["borders-secondary"],";\n padding: 8px 8px;"):"",";\n color: ").concat(r?t.palette[F.IconsSecondary]:"",";\n\n ").concat(i&&"\n border-radius: 4px;\n border-color: ".concat(t.palette[F.AccentStateless],";\n background-color: ").concat(t.palette[F.BackgroundActive],";\n\n * {\n color: ").concat(t.palette[F.AccentStateless],";\n }\n "),"\n\n :hover {\n background: ").concat(t.palette["bg-primary-active"],";\n }\n ")}),SI=$(hn).withConfig({componentId:"sc-qvjmv1-7"})(["color:",";"],function(e){var t=e.theme.palette;return t[F.TextPrimary]}),Rse=0,jse=1,zse=function(e){var t=e.annotation,n=e.updateAnnotation,r=e.t,i=t.opacity,a=Math.round(100*i);return b.createElement(u3,{disablePadding:!0},b.createElement(hn,null,r("transparency")),b.createElement(kl,null,b.createElement(ar,{annotation:"%",onChange:function(o){n({opacity:$n(o/100,Rse,jse)})},value:a,noMargin:!0}),b.createElement(SI,null,"".concat(a,"%"))))},Bse=$(oI).withConfig({componentId:"sc-7tf41j-0"})(["max-width:350px;"]),Hse=$.div.withConfig({componentId:"sc-7tf41j-1"})([".SfxColorPicker-root{max-width:100%;padding:0;box-shadow:none;border:none;","}.SfxColorPicker-action{display:flex;gap:12px;.SfxColorPicker-select{width:100px;}.SfxInput-root{width:190px !important;}}.SfxColorPicker-icon{color:",";}.SfxColorPicker-range-picker,.SfxColorPicker-bar-wrapper{width:100%;}"],function(e){var t=e.hideModalTitle;return t&&"padding-top: 12px;"},function(e){var t=e.theme.palette;return t[F.IconsPrimary]}),Gse=$(N9).withConfig({componentId:"sc-7tf41j-2"})(["gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}"]),Py={ColorPickerModal:Bse,ColorPickerWrap:Hse,ModalActions:Gse},Vse={zIndex:1301},_I=function(e){var t=e.hideModalTitle,n=e.defaultColor,r=n===void 0?"":n,i=e.onChange,a=e.open,o=e.pinnedColors,c=e.onClose,u=e.onApply,d=Ye(),f=d.t;return a?b.createElement(Py.ColorPickerModal,{onClose:c,open:a,fullWidth:!0,modalStyles:Vse},!t&&b.createElement(j9,{onClose:c,primary:f("colorPickerModalTitleLabel","Pick color"),icon:b.createElement(eie,{size:29}),iconShadow:!0,variant:"with-icon"}),b.createElement(R9,null,b.createElement(Py.ColorPickerWrap,{hideModalTitle:t},b.createElement(nae,{onChange:i,pinnedColors:o,defaultColor:r,showTransparentColor:!0}))),b.createElement(Py.ModalActions,null,b.createElement(Da,{color:"basic",onClick:c},f("cancel")),b.createElement(Da,{color:"primary",onClick:u},f("apply")))):null};_I.defaultProps={defaultColor:"",pinnedColors:[],onChange:function(){},open:!1,hideModalTitle:!1,onClose:function(){},onApply:function(){}};var Use=$.div.attrs(function(e){var t=e.$color;return{style:{background:t==="rgba(0,0,0,0)"?"repeating-conic-gradient(#5d6d7e 0% 25%, transparent 0% 50%) 50% / 8px 8px":t}}}).withConfig({componentId:"sc-zmv0gj-0"})(["background:",";border-radius:4px;width:32px;height:32px;border:1px solid ",";cursor:pointer;box-sizing:border-box;"],function(e){var t=e.theme;return t.palette["icons-primary"]},function(e){var t=e.theme;return t.palette[F.BorderPrimaryStateless]}),ky="FIE_pinnedColors",Z3=function(e){var t,n=e.onChange,r=e.color,i=e.colorFor,a=Ye(),o=a.selectionsIds,c=o===void 0?[]:o,u=a.config.annotationsCommon,d=u===void 0?{}:u,f=a.dispatch,w=a.latestColors,m=w===void 0?{}:w,g=m[i],y=B.useState(),C=ke(y,2),P=C[0],S=C[1],E=B.useState(function(){return g||r||d.fill}),p=ke(E,2),x=p[0],O=p[1],k=B.useState((t=window)!==null&&t!==void 0&&t.localStorage?JSON.parse(localStorage.getItem(ky)||"[]"):[]),I=ke(k,2),L=I[0],D=I[1],M=B.useRef(x),N=function(H){var W;if((W=window)!==null&&W!==void 0&&W.localStorage){var K=window.localStorage.getItem(ky);if(JSON.stringify(H)!==K){var G=H.slice(-9);window.localStorage.setItem(ky,JSON.stringify(G)),D(G)}}},z=function(H){S(P?null:H.currentTarget)};return B.useEffect(function(){var H=c.length===0&&g||r;O(H),n(H)},[r,c]),b.createElement(b.Fragment,null,b.createElement(Use,{className:"FIE_color-picker-triggerer",onClick:z,$color:x,onChange:n}),b.createElement(_I,{hideModalTitle:!0,onChange:function(H,W,K){O(W),n(W),N(K),g!==W&&f({type:XI,payload:{latestColors:A({},i,W)}})},defaultColor:x,pinnedColors:L,open:!!P,onClose:function(H){n(M.current||x),z(H)},onApply:z}))};Z3.defaultProps={color:void 0};var Wse=0,Xse=100,Yse=function(e){var t=e.annotation,n=e.updateAnnotation,r=t.stroke,i=t.strokeWidth;return b.createElement(kl,null,b.createElement(ar,{annotation:"px",onChange:function(a){n({strokeWidth:$n(a,Wse,Xse)})},value:i,noMargin:!0}),b.createElement(Z3,{color:r,onChange:function(a){n({stroke:a})},colorFor:"stroke"}))},Kse=function(e){var t=e.annotation,n=e.updateAnnotation,r=e.t,i=t.shadowOffsetX,a=t.shadowOffsetY,o=t.shadowBlur,c=t.shadowColor,u=t.shadowOpacity,d=function(f,w){var m=2parseFloat(M))){var N=Math.min(10*c.width,10*c.height),z=vl(c.width,c.height,g),H=D==="height",W=H?"width":"height",K=A(A({},D,M&&$n(M,0,N)),W,P[W]),G=(I=n.ratioUnlocked)!==null&&I!==void 0?I:u.ratioUnlocked;if(!G){var q=z.width/z.height;K[W]=Math.round(H?K[D]*q:K[D]/q)}if(K[D]!==u[D]||K[W]!==u[W]){if(typeof t=="function")return void t(K);o({type:Gd,payload:K});var U=w.width&&w.height&&w||d,J=SE(SE({},u),K);o({type:gh,payload:{factor:J.width&&J.height?c3(U,J):Fa,isAbsoluteZoom:!0}})}}},E=typeof u.width>"u"&&typeof u.height>"u"||c.width===u.width&&c.height===u.height,p=u.manualChangeDisabled,x=typeof u.width<"u"&&!u.width,O=typeof u.height<"u"&&!u.height;return b.createElement(Ile,{className:"FIE_resize-tool-options",alignment:i},b.createElement(xE,{className:"FIE_resize-width-option",value:x?"":P.width,name:"width",onChange:p?void 0:S,inputMode:"numeric",title:C("resizeWidthTitle"),label:C("width"),inputProps:{type:"number"},size:"sm",iconEnd:"px",placeholder:"Width",disabled:p}),b.createElement(Fle,{className:"FIE_resize-ratio-locker",title:C("toggleRatioLockTitle"),onClick:p?void 0:function(){return typeof t=="function"?void t({ratioUnlocked:!n.ratioUnlocked}):void o({type:Gd,payload:{ratioUnlocked:!u.ratioUnlocked}})},color:"basic",size:"sm",disabled:p},n.ratioUnlocked||u.ratioUnlocked?b.createElement(_ne,{size:16,color:y.palette.success}):b.createElement(Cne,{size:16,color:y.palette.error})),b.createElement(xE,{className:"FIE_resize-height-option",value:O?"":P.height,name:"height",onChange:p?void 0:S,inputMode:"numeric",title:C("resizeHeightTitle"),label:C("height"),inputProps:{type:"number"},size:"sm",iconEnd:"px",placeholder:"Height",disabled:p}),!r&&b.createElement(Dle,{className:"FIE_resize-reset-button",size:"sm",color:"basic",onClick:E||p?void 0:function(){o({type:Gd,payload:{width:void 0,height:void 0,ratioUnlocked:!1}});var k=w.width&&w.height&&w||d;o({type:gh,payload:{factor:c3(k,k)}})},disabled:E||p},b.createElement(GA,null)))};G9.defaultProps={onChange:void 0,currentSize:{},hideResetButton:!1,alignment:"center"};var Nle=$.div.withConfig({componentId:"sc-fvaj5j-0"})(["display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;overflow:hidden;",";"],function(e){var t=e.noWrap;return t?"flex-wrap: nowrap;":""}),_E=$.div.withConfig({componentId:"sc-fvaj5j-1"})(["margin-bottom:8px;"]),Rle=$.div.withConfig({componentId:"sc-fvaj5j-2"})(function(e){var t=e.theme;return"\n padding: 6px 4px;\n border: 1px solid ".concat(t.palette["borders-secondary"],";\n width: fit-content;\n height: 32px;\n border-radius: 2px;\n overflow: hidden;\n cursor: pointer;\n border-radius: 4px;\n\n :hover {\n background: ").concat(t.palette["bg-primary-active"],";\n }\n\n &[aria-selected='true'] {\n background: ").concat(t.palette["bg-primary-active"],";\n border-color: ").concat(t.palette["accent-primary-active"],";\n }\n\n img {\n max-width: 100%;\n max-height: 100%;\n }\n ")}),NI=function(e){var t=e.addImgWatermark,n=e.loadAndSetWatermarkImg,r=e.style,i=Ye(),a=i.config,o=i.annotations,c=i.dispatch,u=i.t,d=B.useMemo(function(){var y;return(y=(o[ml]||{}).image)===null||y===void 0?void 0:y.src},[o[ml]]),f=function(y){var C=y.currentTarget.children[0];if(C.complete){if(!C.naturalWidth)return void c({type:Cl,payload:{feedback:{message:u("mutualizedFailedToLoadImg"),duration:2e3}}});t(C)}},w=a[se.WATERMARK]||{},m=w.gallery,g=m===void 0?[]:m;return g.length===0?null:b.createElement(K3,{className:"FIE_watermark-gallery",style:r},g.map(function(y){var C=(y==null?void 0:y.url)||y,P=(y==null?void 0:y.previewUrl)||C;return b.createElement(Rle,{className:"FIE_watermark-selected-item",onClick:function(S){return C===P?f(S):n(C)},key:C,"aria-selected":C===d},b.createElement("img",{src:P,alt:"Failed to load.",crossOrigin:"Anonymous",draggable:!1}))}))};NI.defaultProps={style:void 0};var jle=function(e){var t=e.watermark,n=e.saveWatermark,r=e.t,i=B.useState(null),a=ke(i,2),o=a[0],c=a[1],u=t.padding||0;return b.createElement(b.Fragment,null,b.createElement(hl,{className:"FIE_watermark-padding-triggerer",title:r("padding"),onClick:function(d){c(d.currentTarget)},active:o},b.createElement(tre,{size:20})),b.createElement($c,{className:"FIE_watermark-padding-popup",anchorEl:o,open:!!o,onClose:function(){c(null)},position:"top"},b.createElement(u3,null,b.createElement(hn,null,r("padding")),b.createElement(kl,null,b.createElement(ar,{annotation:"px",onChange:function(d){n({padding:$n(d,0,100)})},value:u,noMargin:!0}),b.createElement(SI,null,"".concat(u,"px"))))))};function OE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Do(e){for(var t,n=1;nS?E*k/K:S*k/W,q=Do(Do(Do({},i.annotationsCommon),i[se.IMAGE]),{},{scaleX:G,scaleY:G,padding:1,image:H,width:W,height:K,x:p+S/2-W*G/2,y:x+E/2-K*G/2,id:od,name:se.IMAGE,replaceCurrent:!0});a({type:jc,payload:q})},L=function(H){a({type:jc,payload:Do(Do({},typeof H=="function"?H(P):H),{},{id:od})})},D=function(H){a({type:Cl,payload:{feedback:{message:H,status:ah.WARNING}}})},M=function(H,W){if(H){g(!0);var K=new Image;K.onload=function(){I(K),W&&URL.revokeObjectURL(H),g(!1)},K.onerror=function(){D(o("mutualizedFailedToLoadImg")),W&&URL.revokeObjectURL(H),g(!1)},K.src=H}};B.useEffect(function(){P&&(a({type:U9}),a({type:ph,payload:{annotationId:"watermark"}}))},[P]),B.useEffect(function(){P&&(r.length===0||r[0].id!==od)&&a({type:ph,payload:{annotationId:"watermark"}})},[r]);var N=[(!i.useCloudimage||typeof C.onUploadWatermarkImgClick=="function")&&{key:"upload-watermark",label:o("uploadWatermark"),icon:ZA,onClick:function(){if(typeof C.onUploadWatermarkImgClick=="function"){var H=C.onUploadWatermarkImgClick(M);return void(H instanceof Promise&&H.then(function(){var W=0t.factor,a={x:(e.x-t.x||0)/t.factor,y:(e.y-t.y||0)/t.factor},o={x:e.x-a.x*e.factor,y:e.y-a.y*e.factor};if(i&&t.factor===1||(o.x=Math.min(0,Math.max(o.x,n*(1-t.factor))),o.y=Math.min(0,Math.max(o.y,r*(1-t.factor)))),1>e.factor){var c=n-n*e.factor,u=r-r*e.factor;o.x+=c/2,o.y+=u/2}return XE(XE({},o),{},{factor:e.factor})},ece=["preparedDimensions"];function YE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function cd(e){for(var t,n=1;na.x+a.width&&(o.width=a.x+a.width-o.x),o.y+o.height>a.y+a.height&&(o.height=a.y+a.height-o.y),typeof r=="number"&&!jce(o.width/o.height,r)){var c=o.height*r,u=o.width/r;_n(o.y+u)<=a.y+a.height?o.height=u:o.width=c}if((i.minWidth&&o.width<=i.minWidth||i.maxWidth&&o.width>=i.maxWidth)&&(o.width=$n(o.width,i.minWidth,i.maxWidth),o.x=e.x,o.y=e.y,typeof r=="number"&&(o.height=o.width/r)),(i.minHeight&&t.height<=i.minHeight||i.maxHeight&&t.height>=i.maxHeight)&&(o.height=$n(o.height,i.minHeight,i.maxHeight),o.x=e.x,o.y=e.y,typeof r=="number"&&(o.width=o.height*r)),typeof i.lockCropAreaAt=="string"){var d=Hce(i.lockCropAreaAt,a,o),f=d.x,w=d.y;o.x=f,o.y=w}return o};function TP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Wr(e){for(var t,n=1;n=g.width&&d.height>=g.height;g.width&&g.height&&(Ya.scaledBy?a.scaledBy:1,q=Wr(Wr({},a),{},{width:a.width/G,height:a.height/G});H=Iy(q,Wr(Wr({},q),{},{x:0,y:0}),Wr(Wr({},q),{},{abstractX:0,abstractY:0}),!(L||D)&&M(),O)}else H=d;var U=H,J=U.x,Q=J===void 0?0:J,ae=U.y,ie=ae===void 0?0:ae,oe=U.width,ue=U.height,Ce={x:Q,y:ie,ref:P,fill:"#FFFFFF",scaleX:1,scaleY:1,globalCompositeOperation:"destination-out",onDragEnd:k?void 0:K,onDragMove:k?void 0:function(pe){var R=pe.target;R.setAttrs(Bce(R.attrs,p.current))},onTransformEnd:k?void 0:K,draggable:!k};return b.createElement(b.Fragment,null,b.createElement(F3,{image:i,x:f?a.width:0,y:w?a.height:0,width:a.width,height:a.height,filters:[Sn.Filters.Blur,Sn.Filters.Brighten],blurRadius:10,brightness:-.3,scaleX:f?-1:1,scaleY:w?-1:1,ref:E}),D?b.createElement(pT,le({},Ce,{radiusX:oe/2,radiusY:ue/2,offset:{x:-oe/2,y:-ue/2}})):b.createElement(k7,le({},Ce,{width:d.noEffect?0:oe,height:d.noEffect?0:ue})),d.noEffect&&b.createElement(K9,{name:"Text",id:"no-preview-text-node",text:C("cropItemNoEffect"),x:a.width/2-C2.width/2,y:a.height/2-C2.height/2,fontSize:20,fill:"#ffffff",stroke:"#ff0000",strokeWidth:.2,shadowColor:"#ff0000",shadowBlur:10,annotationEvents:{},align:"center",width:C2.width,height:C2.height}),b.createElement(gT,{centeredScaling:!1,flipEnabled:!1,rotateEnabled:!1,nodes:P.current?[P.current]:[],anchorSize:14,anchorCornerRadius:7,enabledAnchors:W,ignoreStroke:!1,anchorStroke:n.palette["accent-primary"],anchorFill:n.palette["access-primary"],anchorStrokeWidth:2,borderStroke:n.palette["accent-primary"],borderStrokeWidth:2,borderDash:[4],keepRatio:!L||!D,ref:S,boundBoxFunc:function(pe,R){return Iy(pe,R,p.current,!(L||D)&&M(),O)}}))},Vce=function(){var e,t=Ye(),n=t.selectionsIds,r=n===void 0?[]:n,i=t.theme,a=t.designLayer,o=t.dispatch,c=t.config.useCloudimage,u=B.useMemo(function(){return a!=null&&a.findOne?r.map(function(w){return a.findOne("#".concat(w))}).filter(Boolean):[]},[r]),d=function(){u.length===1&&u[0].name()===se.TEXT&&o({type:Y9,payload:{textIdOfEditableContent:u[0].id()}})},f=c?["top-left","bottom-left","top-right","bottom-right"]:void 0;return b.createElement(gT,{id:bT,centeredScaling:!1,rotationSnaps:[0,45,90,135,180,225,270,315],nodes:u,rotateAnchorOffset:30,anchorSize:14,anchorCornerRadius:7,padding:u.length===1&&(e=u[0].attrs.padding)!==null&&e!==void 0?e:1,ignoreStroke:!1,anchorStroke:i.palette["accent-primary"],anchorFill:i.palette["access-primary"],anchorStrokeWidth:2,borderStroke:i.palette["accent-primary"],borderStrokeWidth:2,borderDash:[4],rotateEnabled:!c,onMouseOver:function(){o({type:R1,payload:{pointerCssIcon:Wo.MOVE}})},onMouseLeave:function(){o({type:R1,payload:{pointerCssIcon:Wo.DRAW}})},onDblClick:d,onDblTap:d,enabledAnchors:f,flipEnabled:!c,shouldOverdrawWholeArea:!0})},Uce=function(){var e=Ye(),t=e.toolId,n=e.shownImageDimensions;return b.createElement(P7,{id:vT,x:n.abstractX||0,y:n.abstractY||0},b.createElement(Vce,null),t===se.CROP&&b.createElement(Gce,null))},Wce=$.div.withConfig({componentId:"sc-1tst9ex-0"})(function(e){var t=e.theme,n=e.top,r=e.left;return"\n position: absolute;\n z-index: 1;\n background: ".concat(t.palette["bg-secondary"],";\n border-radius: 2px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0px 1px 2px ").concat(t.palette["light-shadow"],";\n top: ").concat((n||0)+8,"px;\n left: ").concat((r||0)+4,"px;\n transform: translateX(-50%);\n height: 32px;\n")}),Xce=function(){var e=Ye(),t=e.selectionsIds,n=t===void 0?[]:t,r=e.designLayer,i=e.annotations,a=e.dispatch,o=B.useState({left:0,top:0}),c=ke(o,2),u=c[0],d=c[1],f=B.useMemo(function(){var g;return r==null||(g=r.getStage())===null||g===void 0?void 0:g.findOne("#".concat(bT))},[r]),w=n.length,m=j3(function(){f&&d({left:(f.x()+f.width()/2)*f.scaleX(),top:(f.y()+f.height())*f.scaleY()})},0);return B.useEffect(function(){m()},[n,f,i]),w===0||!f?null:b.createElement(Wce,{className:"FIE_annotation-controls-overlay",left:u.left,top:u.top},n[0]!==ml&&b.createElement(yl,{color:"basic",size:"sm",onClick:function(){a({type:UI,payload:{annotationsIds:n}})}},b.createElement(zre,null)),b.createElement(yl,{color:"basic",size:"sm",onClick:function(){a({type:VI,payload:{annotationsIds:n}})}},b.createElement(qA,null)))};function AP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function IP(e){for(var t,n=1;nE),O=ke(x,2),k=O[0],I=O[1],L=B.useMemo(function(){return{cursor:a===Wo.DEFAULT&&o===en.ANNOTATE?Wo.DRAW:a}},[o,a]),D=function(G){i({type:gh,payload:G})},M=B.useCallback(function(G){var q,U;G.evt.preventDefault(),(q=(U=G.currentTarget).container)===null||q===void 0||q.call(U).focus(),G.target instanceof Sn.Stage&&0E&&p&&(G.preventDefault(),I(!0),i({type:R1,payload:{pointerCssIcon:Wo.DRAG}}))},H=function(G){G.code==="Space"&&(G.preventDefault(),N())},W=function(){n.current&&n.current.container().focus()};B.useEffect(function(){i({type:R1,payload:{pointerCssIcon:Wo[k?"DRAG":"DEFAULT"]}})},[k]),B.useEffect(function(){I(o!==en.ANNOTATE&&o!==en.WATERMARK&&y.factor>E);var G;return n.current&&(G=n.current.container(),G.addEventListener("mouseenter",W),G.addEventListener("keydown",z),G.addEventListener("keyup",H)),function(){G&&(G.removeEventListener("mouseenter",W),G.removeEventListener("keydown",z),G.removeEventListener("keyup",H))}},[o,y.factor,E]);var K=f*(p&&y.factor||E);return b.createElement(Qce,{className:"FIE_canvas-node",tabIndex:-1,ref:n,width:u,height:d,scaleX:K,scaleY:K,x:p&&y.x||null,y:p&&y.y||null,zoomFactor:p&&y.factor||E,onWheel:p?function(G){G.evt.preventDefault();var q=(y.factor||E)+G.evt.deltaY*-.006,U=G.currentTarget.getPointerPosition();D(NP(NP({},U),{},{factor:q}))}:void 0,onTap:M,onClick:M,onTouchMove:p?function(G){return Kce(G,D)}:void 0,onDragStart:function(G){var q;1<((q=G.evt.touches)===null||q===void 0?void 0:q.length)&&I(!1)},onTouchEnd:p?function(){Zce(N)}:void 0,dragBoundFunc:function(G){var q=Math.min(0,Math.max(G.x,u*(1-y.factor))),U=Math.min(0,Math.max(G.y,d*(1-y.factor)));return{x:q,y:U}},draggable:p&&k,onDragEnd:function(G){G.currentTarget.draggable()&&G.target.nodeType.toLowerCase()==="stage"&&p&&k&&D({factor:y.factor,x:G.target.x(),y:G.target.y(),preparedDimensions:!0})},style:L},t)};const eue=B.memo(Jce);var tue=function(){var e=O9(),t=ke(e,1),n=t[0],r=Ye(),i=B.useRef(null),a=B.useCallback(function(o){var c=o.width,u=o.height;r.dispatch({type:BI,payload:{canvasWidth:c,canvasHeight:u}})},[]);return B.useEffect(function(){n(i.current,a)},[]),b.createElement($ce,{className:"FIE_canvas-container",ref:i},!r.textIdOfEditableContent&&b.createElement(Xce,null),r.isShowOriginalImage&&b.createElement(qce,{className:"FIE_original-image-compare",src:r.originalImage.src}),b.createElement(eue,null,b.createElement(Xq,{overridingValue:r},b.createElement(Rce,null),b.createElement(Uce,null))))},nue=$.div.withConfig({componentId:"sc-etsyb6-0"})(["display:inline-block;height:",";width:",";border-radius:1px;background:",";"],function(e){return e.height},function(e){return e.width},function(e){var t=e.theme.palette;return t[F.BordersSecondary]}),Z9=function(e){var t=e.height,n=e.width;return b.createElement(nue,{height:t,width:n})};Z9.defaultProps={height:"24px",width:"1px"};var rue=$.div.withConfig({componentId:"sc-21g986-0"})(["padding:16px;box-sizing:border-box;position:relative;width:100%;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid ",";[data-phone='true'] &{padding:6px 6px 4px 6px;","}"],function(e){var t=e.theme.palette;return t[F.BordersSecondary]},function(e){var t=e.isPhoneScreen;return t&&"\n padding: 12px 12px 0px;\n gap: 12px;\n "}),iue=$.div.withConfig({componentId:"sc-21g986-1"})(["display:flex;align-items:center;order:1;"]),aue=$.div.withConfig({componentId:"sc-21g986-2"})(["display:flex;align-items:center;order:3;gap:4px;"]),$9=$(yl).withConfig({componentId:"sc-21g986-3"})(["margin:",";svg{color:",";}"],function(e){var t=e.margin;return t!=null?t:"0 4px"},function(e){var t=e.theme.palette,n=e.disabled;return n?t[F.IconsMuted]:t[F.IconsPrimary]}),oue=$.div.withConfig({componentId:"sc-21g986-4"})(["display:flex;align-items:center;gap:2px;"]),sue=$(hn).withConfig({componentId:"sc-21g986-5"})(["flex-shrink:0;color:",";",";"],function(e){var t=e.theme.palette;return t[F.TextPlaceholder]},function(e){var t=e.theme.typography;return t.font[Oe.LabelMedium]}),S8=$(yl).withConfig({componentId:"sc-21g986-6"})(["padding:8px;svg{color:",";}"],function(e){var t=e.theme.palette,n=e.showBackButton;return n?t[F.IconsPrimary]:t[F.IconsMuted]}),lue=$.div.withConfig({componentId:"sc-21g986-7"})(["width:",";height:32px;display:block;width:100%;order:4;",";@media (min-width:761px){display:flex;align-items:center;justify-content:center;width:fit-content;order:2;}"],function(e){var t=e.showBackButton;return t?"318px":"384px"},function(e){var t=e.reverseDirection;return t?"flex-direction: row-reverse":""}),cue=$(hn).withConfig({componentId:"sc-21g986-8"})(["cursor:pointer;color:",";",";"],function(e){var t=e.theme.palette;return t[F.TextPrimary]},function(e){var t=e.theme.typography;return t.font[Oe.InputMd]}),uue=$.span.withConfig({componentId:"sc-21g986-9"})(["",";"],function(e){var t=e.theme.typography;return t.font[Oe.ButtonMdEmphasis]}),due=$(W3).withConfig({componentId:"sc-21g986-10"})(["padding:8px;z-index:111;"]);$(Da).withConfig({componentId:"sc-21g986-11"})(["padding:4px 12px;"]);var hue=$(aI).withConfig({componentId:"sc-21g986-12"})([""]),fue=$(Soe).withConfig({componentId:"sc-21g986-13"})(["margin-top:16px;"]),pue=$.div.withConfig({componentId:"sc-21g986-14"})(["width:100%;margin-top:16px;"]),gue=$.div.withConfig({componentId:"sc-21g986-15"})(["margin-top:16px;width:100%;"]),mue=$(hn).withConfig({componentId:"sc-21g986-16"})(["margin-bottom:4px;"]),vue=$.div.withConfig({componentId:"sc-21g986-17"})(["display:flex;gap:6px;"]),yue=$.div.withConfig({componentId:"sc-21g986-18"})(["display:flex;gap:12px;justify-content:",";"],function(e){var t=e.isPhoneScreen;return t?"space-between":"center"}),bue=$(yl).withConfig({componentId:"sc-21g986-19"})(["@media (min-width:761px){display:none;}"]),wue=$.div.withConfig({componentId:"sc-21g986-20"})(["display:flex;gap:12px;align-items:center;"]),xue=$(oI).withConfig({componentId:"sc-kpjpf5-0"})(["width:",";max-width:unset;"],function(e){var t=e.width;return t||"300px"}),Cue=$(j9).withConfig({componentId:"sc-kpjpf5-1"})(function(e){var t=e.theme,n=e.isWarning;return X(["padding-bottom:0;.SfxModalTitle-Icon{background-color:",";}.SfxModalTitle-LabelPrimary{margin-bottom:24px;",";}.SfxModalTitle-LabelSecondary{",";text-align:center;}"],n&&t.palette[F.Orange_0_1_Overlay],t.typography.font[Oe.TitleH3],t.typography.font[Oe.TextLarge])}),Sue=$(N9).withConfig({componentId:"sc-kpjpf5-2"})(["gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}"]),q9=function(e){var t=e.title,n=e.hint,r=e.Icon,i=e.onDone,a=e.onCancel,o=e.doneLabel,c=e.cancelLabel,u=e.isOpened,d=e.doneButtonStyle,f=e.doneButtonColor,w=f===void 0?"basic":f,m=e.cancelButtonColor,g=m===void 0?"basic":m,y=e.children,C=e.areButtonsDisabled,P=e.zIndex,S=e.className,E=e.width,p=e.isWarning;return b.createElement(xue,{className:S,open:u,onClose:a,style:{zIndex:P},onKeyUp:function(x){x.key==="Enter"&&i(x),x.key==="Escape"&&a()},width:E,role:"dialog",tabIndex:-1,"aria-modal":"true","aria-label":t},b.createElement(Cue,{icon:b.createElement(r,{size:25}),iconShadow:!0,isWarning:p,onClose:a,primary:t,secondary:n,variant:"with-icon"}),y&&b.createElement(R9,null,y),b.createElement(Sue,{align:"center"},b.createElement(Da,{color:g,onClick:a,size:"md",disabled:C},c),b.createElement(Da,{color:w,onClick:i,size:"md",warning:p,style:d,disabled:C},o)))};q9.defaultProps={hint:"",isOpened:!1,doneLabel:"Yes",cancelLabel:"No",doneButtonStyle:void 0,doneButtonColor:"basic",cancelButtonColor:"basic",children:void 0,areButtonsDisabled:!1,zIndex:void 0,className:void 0,width:"",isWarning:!1};var q3=function(e){var t=e.children,n=e.isReset,r=Ye(),i=r.t,a=r.theme,o=r.config,c=r.dispatch,u=r.isResetted,d=r.haveNotSavedChanges,f=r.config.onClose,w=B.useState(!1),m=ke(w,2),g=m[0],y=m[1];if(typeof f!="function"&&!n)return b.createElement("span",null);var C=function(){y(!1)},P=B.useCallback(function(){c({type:N3,payload:{config:o}}),C()},[o]),S=function(){n||(f(CT.CLOSE_BUTTON,d),P())};return b.createElement(b.Fragment,null,b.cloneElement(t,{onClick:u===void 0||u?S:function(){y(!0)}}),g&&b.createElement(q9,{title:i(n?"warning":"discardChanges"),hint:i(n?"changesLoseWarningHint":"discardChangesWarningHint"),isOpened:g,onCancel:C,onDone:n?P:S,Icon:function(){return b.createElement(XA,{color:a.palette.warning,size:25})},doneLabel:i("confirm"),doneButtonColor:"warning-primary",cancelLabel:i("cancel"),width:"400px",isWarning:!0}))};q3.defaultProps={isReset:!1};var _ue=function(){var e=Ye(),t=e.config.onClose;return typeof t=="function"?b.createElement(b.Fragment,null,b.createElement(Z9,null),b.createElement(q3,null,b.createElement(due,{className:"FIE_topbar-close-button",color:"basic",size:"md"},b.createElement(NA,null)))):null},Oue=function(e){return 0>=e||1 svg:not([color]){color:",'}:disabled,[aria-disabled="true"]{cursor:not-allowed;}&::-webkit-scrollbar{width:4px;height:4px;}&::-webkit-scrollbar-track{background:rgba(203,211,218,0.35);}&::-webkit-scrollbar-thumb{background:rgba(203,211,218,1);border-radius:10px;}}'],xm,xm,function(e){var t=e.theme;return t.palette["icons-primary"]}),hF=function(e){var t=e.source,n=e.useCloudimage,r=e.cloudimage;if(!t||typeof t!="string"&&!(t instanceof HTMLImageElement))throw new Error("`source` property is required either a string of image url or a HTMLImageElement for the image that will be edited.");if(n){var i,a;if(r!=null&&(i=r.imageSealing)!==null&&i!==void 0&&i.enable&&!(r!=null&&(a=r.imageSealing)!==null&&a!==void 0&&a.salt))throw new Error("`salt` property of imageSealing object is required in cloudimage mode as long as `imageSealing` is enabled.")}B.useEffect(function(){$ue()},[]);var o=Z1(OT,e);return b.createElement(b.StrictMode,null,b.createElement(OB,{theme:o.theme},b.createElement(que,null),b.createElement(Que,null),b.createElement(qT,{config:o},b.createElement(Zue,null))))};hF.defaultProps={useCloudimage:!1,cloudimage:{}};const Jue=B.memo(hF);function UP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function WP(e){for(var t,n=1;narguments.length?t:n;throw new TypeError("Private element is not present on this object")}var dd=new WeakMap,_2=new WeakMap,O2=new WeakMap,E2=function(){function e(t){var n=1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import o,{useRef as r,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.14\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var o=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,W=G?Symbol.for(\"react.forward_ref\"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:q;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if(\"string\"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n)}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document ``\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a ``\"}:{};function de(){for(var e=[],t=0;t0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;sme))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var o,r=n.split(\",\"),s=0,i=r.length;s=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e0&&(c+=\"\".concat(e,\",\"))}),o+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,r,s,a){void 0===r&&(r=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=r,o=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||r?\"\".concat(s,\" \").concat(r,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=o.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=o.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],r=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return o.createElement($e.Provider,{value:d},o.createElement(Le.Provider,{value:u},e.children))}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}o=ie(o,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),o=ie(o,d)}}return o},e}(),et=o.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function ot(e){var n=o.useContext(et),r=i(function(){return function(e,n){if(!e)throw he(14);if(re(e)){var o=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===o||Array.isArray(o)||\"object\"!=typeof o))throw he(7);return o}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?o.createElement(et.Provider,{value:r},e.children):null}var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);rt[n]=(rt[n]||0)+1;var o=\"\".concat(n,\"-\").concat($(v+n+rt[n]));return t?\"\".concat(t,\"-\").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=r.displayName&&r.componentId?\"\".concat(R(r.displayName),\"-\").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=o.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=t(t({},n),{className:void 0,theme:o}),i=0;i` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(o),o}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,r)}O.displayName=y;var D=o.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"),o=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},e}();function ft(n){for(var r=[],s=1;s meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"),t.styleSheet.server&&u(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect(function(){if(!t.styleSheet.server)return u(r,e,t.styleSheet,n,t.stylis),function(){return c.removeStyles(r,t.styleSheet)}},[r,e,t.styleSheet,n,t.stylis]),null};function u(e,n,o,r,s){if(c.isStatic)c.renderStyles(e,b,o,s);else{var i=t(t({},n),{theme:I(n,r,l.defaultProps)});c.renderStyles(e,i,o,s)}}return o.memo(l)}function mt(t){for(var n=[],o=1;o\").concat(t,\"\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var r=e.instance.toString();if(!r)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:r},n),i=Ce();return i&&(s.nonce=i),[o.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return o.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw he(3)},e}(),gt={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var St=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[St]+=1);export{vt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,ot as ThemeProvider,gt as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nexport function generateClassNames(componentName, subClassNames) {\n var generateClassName = function generateClassName(subClassName) {\n return \"Sfx\".concat(componentName).concat(subClassName ? \"-\".concat(subClassName) : '');\n };\n var classNameArray = [];\n if (subClassNames) {\n if (Array.isArray(subClassNames)) {\n classNameArray.push.apply(classNameArray, _toConsumableArray(subClassNames.filter(function (subClassName) {\n return typeof subClassName === 'string';\n }).map(function (subClassName) {\n return generateClassName(subClassName);\n })));\n } else if (typeof subClassNames === 'string') {\n classNameArray.push(generateClassName(subClassNames));\n }\n }\n if (classNameArray.length === 0) {\n classNameArray.push(generateClassName());\n }\n return classNameArray.join(' ');\n}","import { forwardRef } from 'react';\n/**\r\n * Wrapper around React's `forwardRef` function, which adds a `displayName` to each component\r\n * created using it\r\n */\nexport function intrinsicComponent(render, displayName) {\n var component = /*#__PURE__*/forwardRef(render);\n component.displayName = displayName || render.name;\n return component;\n}","/**\r\n * If your prop can be either a function or a plain value, this function handles\r\n * its usage for you – just provide the reference for a 'maybe function' and the arguments\r\n * to call it with\r\n */\nexport function applyPolymorphicFunctionProp(prop) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return typeof prop === 'function' ? prop.apply(void 0, args) : prop;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\r\n * If you are using a namespace for your styled components, this can come in handy giving each\r\n * styled component in this namespace a displayName which gives better debugging experience\r\n */\nexport function applyDisplayNames(styledObject) {\n return Object.keys(styledObject).reduce(function (newStyledObject, styledComponentName) {\n var styledComponent = styledObject[styledComponentName];\n styledComponent.displayName = \"\".concat(styledComponentName);\n return Object.assign(newStyledObject, _defineProperty({}, styledComponentName, styledComponent));\n }, {});\n}","/**\r\n * passes {value} to {ref}\r\n * Useful if you want to expose the ref of an inner component to the public API\r\n * while still using it inside the component.\r\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\r\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import * as React from 'react';\nimport setRef from './set-ref';\nexport function useForkRef(refA, refB) {\n /**\r\n * This will create a new function if the ref props change and are defined.\r\n * This means react will call the old forkRef with `null` and the new forkRef\r\n * with the ref. Cleanup naturally emerges from this behavior.\r\n */\n return React.useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n return function (refValue) {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}","export function restrictNumber(number) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 ? arguments[2] : undefined;\n // we are not assigning default value for it as if max was null it will override the default value.\n var currentMax = max || 1000000;\n var convertedNumber = +number;\n return Math.min(Math.max(min, convertedNumber), currentMax);\n}","export function mapNumber(number, oldMin, oldMax, newMin, newMax) {\n return (number - oldMin) * (newMax - newMin) / (oldMax - oldMin) + newMin;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nexport var rgbStringToArray = function rgbStringToArray(rgbColorString) {\n return rgbColorString.replaceAll(/[^\\d,]/gi, '').split(',').map(function (n) {\n return +n;\n });\n};\nexport var hexToRgb = function hexToRgb(hexColor) {\n // if (!hexColor) return { r: 0, g: 0, b: 0 };\n if (!hexColor) return [0, 0, 0];\n return [Number.parseInt(hexColor.slice(1, 3), 16), Number.parseInt(hexColor.slice(3, 5), 16), Number.parseInt(hexColor.slice(5, 7), 16)];\n};\nvar rgbChannelToHex = function rgbChannelToHex(channel) {\n return channel.toString(16).padStart(2, '0');\n};\nexport var rgbToHex = function rgbToHex() {\n for (var _len = arguments.length, rgbColor = new Array(_len), _key = 0; _key < _len; _key++) {\n rgbColor[_key] = arguments[_key];\n }\n return \"#\".concat(rgbColor.map(rgbChannelToHex).join(''));\n};\nexport var hslToHex = function hslToHex(h, s, l) {\n var dividedL = l / 100;\n var a = s * Math.min(dividedL, 1 - dividedL) / 100;\n var f = function f(n) {\n var k = (n + h / 30) % 12;\n var color = dividedL - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return rgbChannelToHex(Math.round(255 * color));\n };\n return \"#\".concat(f(0)).concat(f(8)).concat(f(4));\n};\nexport var rgbToHsl = function rgbToHsl() {\n for (var _len2 = arguments.length, rgbColor = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n rgbColor[_key2] = arguments[_key2];\n }\n var r = rgbColor[0],\n g = rgbColor[1],\n b = rgbColor[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n if (max === min) {\n h = 0;\n s = 0;\n } else {\n var diff = max - min;\n s = l > 0.5 ? diff / (2 - max - min) : diff / (max + min);\n switch (max) {\n case r:\n h = (g - b) / diff + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / diff + 2;\n break;\n case b:\n h = (r - g) / diff + 4;\n break;\n default:\n h = 0;\n }\n h /= 6;\n }\n\n // * 360 for having the hue in degrees\n return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)];\n};\nexport var colorToHsl = function colorToHsl(color) {\n if (color.startsWith('#')) {\n var hex = color;\n if (color.length === 4) {\n hex = \"#\".concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]).concat(color[3]).concat(color[3]);\n }\n return rgbToHsl.apply(void 0, _toConsumableArray(hexToRgb(hex)));\n }\n if (color.startsWith('rgb')) {\n var colorInRgb = rgbStringToArray(color);\n return rgbToHsl.apply(void 0, _toConsumableArray(colorInRgb));\n }\n\n // if the color is in text and no one from previous then return the default color which is black\n if (typeof color === 'string') {\n return [0, 0, 0];\n }\n return color;\n};\nexport var colorToRgb = function colorToRgb(color) {\n // we are not handling (hsl/color name) here cause we are accepting only HEX and RGB colors as default colors from user.\n if (color.startsWith('#')) {\n return hexToRgb(color);\n }\n if (color.startsWith('rgb')) {\n return rgbStringToArray(color);\n }\n if (typeof color === 'string') {\n return [0, 0, 0];\n }\n return color;\n};\nexport var colorToHex = function colorToHex(color) {\n if (color.startsWith('#')) {\n if (color.length === 7) {\n return color;\n }\n return \"#\".concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n }\n if (color.startsWith('rgb')) {\n return rgbToHex.apply(void 0, _toConsumableArray(rgbStringToArray(color)));\n }\n if (typeof color === 'string') {\n return '#000000';\n }\n return color;\n};\nvar checkIsBlack = function checkIsBlack(s, l) {\n return l === 0 && (s === 0 || s === 1);\n};\nvar checkIsWhite = function checkIsWhite(s, l) {\n return s === 0 && l === 1;\n};\n\n// both hsv and hsl values are in [0, 1] except h is in [0, 360]\nexport var hsvToHsl = function hsvToHsl(h, s, v) {\n var newS = s;\n var l = (2 - s) * v / 2;\n if (l !== 0) {\n if (l === 1) {\n newS = 0;\n } else if (l < 0.5) {\n newS = newS * v / (l * 2);\n } else {\n newS = newS * v / (2 - l * 2);\n }\n }\n var isBlack = checkIsBlack(newS, l);\n return [isBlack || checkIsWhite(newS, l) ? 0 : h, isBlack ? 0 : Math.round(newS * 100), Math.round(l * 100)];\n};\n\n// both hsv and hsl values are in [0, 1] except h is in [0, 360]\nexport var hslToHsv = function hslToHsv(h, s, l) {\n var newS = s;\n var newL = l * 2;\n newS *= newL <= 1 ? newL : 2 - newL;\n var v = (newL + newS) / 2;\n newS = 2 * newS / (newL + newS);\n\n // return [h, newS, v];\n var isBlack = checkIsBlack(newS, l);\n return [isBlack || checkIsWhite(newS, l) ? 0 : h, isBlack ? 0 : Math.round(newS * 100), Math.round(v * 100)];\n};\n\n// TODO: validating 3 color code for Hex\n// /^#([\\da-f]{3}){1,2}$/i.test(color)colorToHex\nexport var validateHex = function validateHex(color) {\n return /^#[\\da-f]{6}$/i.test(color);\n};","export function getElemDocumentCoords(elem) {\n if (!elem) {\n return null;\n }\n var box = elem.getBoundingClientRect();\n var _document = document,\n body = _document.body;\n var docEl = document.documentElement;\n var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var top = box.top + scrollTop - clientTop;\n var left = box.left + scrollLeft - clientLeft;\n return {\n top: Math.round(top),\n left: Math.round(left),\n width: box.width,\n height: box.height\n };\n}","export function asc(a, b) {\n return a - b;\n}\nexport function valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\nexport function percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + Number.parseInt(parts[1], 10);\n }\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nexport function roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\nexport function setValueIndex(_ref) {\n var values = _ref.values,\n newValue = _ref.newValue,\n index = _ref.index;\n var output = values.slice();\n output[index] = newValue;\n return output.sort(asc);\n}\nexport function findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n return closestIndex;\n}\nexport function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\nexport function clamp(value, min, max) {\n if (value == null) {\n return min;\n }\n return Math.min(Math.max(min, value), max);\n}\nexport function trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return false;\n }\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\nexport var axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\nexport function focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n var doc = ownerDocument(sliderRef.current);\n if (!sliderRef.current.contains(doc.activeElement) || Number(doc.activeElement.getAttribute('data-index')) !== activeIndex) {\n var _sliderRef$current$qu;\n (_sliderRef$current$qu = sliderRef.current.querySelector(\"[type=\\\"range\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\"))) === null || _sliderRef$current$qu === void 0 || _sliderRef$current$qu.focus();\n }\n if (setActive) {\n setActive(activeIndex);\n }\n}","export var Color = {\n TextPrimary: 'txt-primary',\n TextSecondary: 'txt-secondary',\n TextSecondaryInvert: 'txt-secondary-invert',\n TextPlaceholder: 'txt-placeholder',\n TextWarning: 'txt-warning',\n TextError: 'txt-error',\n TextInfo: 'txt-info',\n AccentPrimary: 'accent-primary',\n AccentPrimaryHover: 'accent-primary-hover',\n AccentPrimaryActive: 'accent-primary-active',\n AccentPrimaryDisabled: 'accent-primary-disabled',\n AccentSecondaryDisabled: 'accent-secondary-disabled',\n AccentStateless: 'accent-stateless',\n AccentStateless_0_4_Opacity: 'accent-stateless_0_4_opacity',\n Accent_0_5_5_Opacity: 'accent_0_5_5_opacity',\n Accent_0_5_Opacity: 'accent_0_5_opacity',\n Accent_0_7_Opacity: 'accent_0_7_opacity',\n Accent_1_2_Opacity: 'accent_1_2_opacity',\n Accent_1_8_Opacity: 'accent_1_8_opacity',\n Accent_2_8_Opacity: 'accent_2_8_opacity',\n Accent_4_0_Opacity: 'accent_4_0_opacity',\n BackgroundGrey: 'bg-grey',\n BackgroundStateless: 'bg-stateless',\n BackgroundActive: 'bg-active',\n BackgroundBaseLight: 'bg-base-light',\n BackgroundBaseMedium: 'bg-base-medium',\n BackgroundPrimary: 'bg-primary',\n BackgroundPrimaryLight: 'bg-primary-light',\n BackgroundPrimaryHover: 'bg-primary-hover',\n BackgroundPrimaryActive: 'bg-primary-active',\n BackgroundPrimaryStateless: 'bg-primary-stateless',\n BackgroundPrimary_0_5_Opacity: 'bg-primary-0-5-opacity',\n BackgroundSecondary: 'bg-secondary',\n BackgroundHover: 'bg-hover',\n BackgroundGreen: 'bg-green',\n BackgroundGreenMedium: 'bg-green-medium',\n BackgroundBlue: 'bg-blue',\n BackgroundRed: 'bg-red',\n BackgroundRedLight: 'bg-red-light',\n BackgroundRedMedium: 'background-red-medium',\n BackgroundOrange: 'bg-orange',\n BackgroundTooltip: 'bg-tooltip',\n IconsPrimary: 'icon-primary',\n IconsPrimaryOpacity_0_6: 'icons-primary-opacity-0-6',\n IconsSecondary: 'icons-secondary',\n IconsPlaceholder: 'icons-placeholder',\n IconsInvert: 'icons-invert',\n IconsMuted: 'icons-muted',\n IconsPrimaryHover: 'icons-primary-hover',\n IconsSecondaryHover: 'icons-secondary-hover',\n ButtonPrimaryText: 'btn-primary-text',\n ButtonPrimaryText_0_6: 'btn-primary-text-0-6',\n ButtonPrimaryText_0_4: 'btn-primary-text-0-4',\n ButtonDisabledText: 'btn-disabled-text',\n ButtonSecondaryText: 'btn-secondary-text',\n LinkPrimary: 'link-primary',\n LinkStateless: 'link-stateless',\n LinkHover: 'link-hover',\n LinkActive: 'link-active',\n LinkMuted: 'link-muted',\n LinkPressed: 'link-pressed',\n BordersPrimary: 'borders-primary',\n BordersPrimaryHover: 'borders-primary-hover',\n BordersSecondary: 'borders-secondary',\n BordersStrong: 'borders-strong',\n BordersInvert: 'borders-invert',\n BorderHoverBottom: 'border-hover-bottom',\n BorderActiveBottom: 'border-active-bottom',\n BorderPrimaryStateless: 'border-primary-stateless',\n BordersDisabled: 'borders-disabled',\n BordersButton: 'borders-button',\n BordersItem: 'borders-item',\n BordersBaseLight: 'borders-base-light',\n BordersBaseMedium: 'borders-base-medium',\n BordersGreen: 'borders-green',\n BordersGreenMedium: 'borders-green-medium',\n BordersRed: 'borders-red',\n ActiveSecondary: 'active-secondary',\n ActiveSecondaryHover: 'active-secondary-hover',\n Tag: 'tag',\n StatesErrorDisabledText: 'states-error-disabled-text',\n Error: 'error',\n Error_0_28_Opacity: 'error-0-28-opacity',\n Error_0_12_Opacity: 'error-0-12-opacity',\n ErrorHover: 'error-hover',\n ErrorActive: 'error-active',\n Success: 'success',\n SuccessHover: 'success-hover',\n SuccessActive: 'success-Active',\n Warning: 'warning',\n WarningHover: 'warning-hover',\n WarningActive: 'warning-active',\n Info: 'info',\n Modified: 'modified',\n Red: 'red',\n Orange: 'orange',\n Salad: 'salad',\n Green: 'green',\n Blue: 'blue',\n Indigo: 'indigo',\n Violet: 'violet',\n Pink: 'pink',\n GradientRight: 'gradient-right',\n Extra_0_3_Overlay: 'extra-0-3-overlay',\n GradientRightActive: 'gradient-right-active',\n GradientRightHover: 'gradient-right-hover',\n Extra_0_5_Overlay: 'extra-0-5-overlay',\n Extra_0_7_Overlay: 'extra-0-7-overlay',\n Extra_0_9_Overlay: 'extra-0-9-overlay',\n Red_0_1_Overlay: 'red-0-1-overlay',\n Orange_0_1_Overlay: 'orange-0-1-overlay',\n Accent_0_8_Overlay: 'accent-0-8-overlay',\n Green_0_2_Overlay: 'green-0-2-Overlay',\n Link: 'link',\n Camera: 'camera',\n GoogleDrive: 'google-drive',\n Dropbox: 'dropbox',\n OneDrive: 'one-drive',\n Device: 'device',\n Instagram: 'instagram',\n FreeImages: 'free-images',\n FreeIcons: 'free-icons',\n Canvas: 'canvas',\n Box: 'box',\n ScreenCast: 'screen-cast',\n Unsplash: 'unsplash',\n LightShadow: 'light-shadow',\n MediumShadow: 'medium-shadow',\n LargeShadow: 'large-shadow',\n XLargeShadow: 'x-large-shadow'\n};","import { css } from 'styled-components';\nimport { Color as PaletteColor } from '../types/palette';\nexport var scrollBar = function scrollBar(_ref) {\n var palette = _ref.theme.palette;\n return css([\"&::-webkit-scrollbar{width:12px;}&::-webkit-scrollbar-thumb{background:\", \";border:4px solid \", \";border-radius:99px;height:92px;padding:4px 6px;}\"], palette[PaletteColor.BorderPrimaryStateless], palette[PaletteColor.ActiveSecondary]);\n};","export var ignoreEvent = function ignoreEvent(event) {\n var tagName = event.target.tagName;\n if (tagName === 'INPUT' || tagName === 'TEXTAREA') {\n event.stopPropagation();\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n};","export var BorderRadiusSize = {\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","import { createGlobalStyle, css } from 'styled-components';\nvar Typography = /*#__PURE__*/createGlobalStyle([\"\", \";\"], function (_ref) {\n var theme = _ref.theme;\n var baseLineHeight = theme.typography.baseLineHeight;\n return css([\"h1,h2,h3,h4,h5,h6,p,small{line-height:\", \";}\"], baseLineHeight);\n});\nexport default Typography;","export var FontWeight = {\n Thin: 100,\n ExtraLight: 200,\n Light: 300,\n Regular: 400,\n Medium: 500,\n SemiBold: 600,\n Bold: 700,\n ExtraBold: 800,\n Black: 900\n};","export var FontVariant = {\n TextExtraSmall: 'text-extra-small',\n TextSmall: 'text-small',\n TextSmallUp: 'text-small-up',\n TextMedium: 'text-medium',\n TextLarge: 'text-large',\n TextExtraLarge: 'text-extra-large',\n TextXExtraLarge: 'text-x-extra-large',\n TitleH6: 'title-h6',\n TitleH5: 'title-h5',\n TitleH4: 'title-h4',\n TitleH3: 'title-h3',\n TitleH2: 'title-h2',\n TitleH1: 'title-h1',\n LabelExtraSmall: 'label-extra-small',\n LabelExtraSmallEmphasis: 'label-extra-small-emphasis',\n LabelExtraSmallUp: 'label-extra-small-up',\n LabelSmall: 'label-small',\n LabelSmallEmphasis: 'label-small-emphasis',\n LabelSmallUp: 'label-small-up',\n LabelSmallUpEmphasis: 'label-small-up-emphasis',\n LabelMedium: 'label-medium',\n LabelMediumEmphasis: 'label-medium-emphasis',\n LabelLarge: 'label-large',\n LabelLargeEmphasis: 'label-large-emphasis',\n LabelLargeUp: 'label-large-up',\n LabelExtraLargeEmphasis: 'label-extra-large-emphasis',\n LabelExtraLarge: 'label-extra-large',\n LabelXExtraLargeEmphasis: 'label-x-extra-large-emphasis',\n LabelXExtraLarge: 'label-x-extra-large',\n LabelXXExtraLargeEmphasis: 'label-x-x-extra-large-emphasis',\n LabelXXExtraLarge: 'label-x-x-extra-large',\n LabelXXXExtraLarge: 'label-x-x-x-extra-large',\n ButtonSmEmphasis: 'btn-sm-emphasis',\n ButtonSm: 'btn-sm',\n ButtonSmUpEmphasis: 'btn-sm-up-emphasis',\n ButtonSmUp: 'btn-sm-up',\n ButtonMdEmphasis: 'btn-md-emphasis',\n ButtonMd: 'btn-md',\n ButtonLgEmphasis: 'btn-lg-emphasis',\n ButtonLg: 'btn-lg',\n ButtonLgUpEmphasis: 'btn-lg-up-emphasis',\n ButtonLgUp: 'btn-lg-up',\n LinkSmall: 'link-small',\n LinkSmallEmphasis: 'link-small-emphasis',\n LinkSmallUp: 'link-small-up',\n LinkSmallUpEmphasis: 'link-small-up-emphasis',\n LinkMedium: 'link-medium',\n LinkMediumEmphasis: 'link-medium-emphasis',\n LinkLarge: 'link-large',\n LinkLargeEmphasis: 'link-large-emphasis',\n LinkLargeUp: 'link-large-up',\n LinkLargeUpEmphasis: 'link-large-up-emphasis',\n InputSm: 'input-sm',\n InputSmUp: 'input-sm-up',\n InputMd: 'input-md',\n InputLg: 'input-lg'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { FontVariant, FontWeight } from '../../../../utils/types/typography';\nvar defaultFontValue = {\n fontFamily: '\"Roboto\"',\n fontStyle: 'normal',\n fontWeight: FontWeight.Regular\n};\nvar getLabelFontVariants = function getLabelFontVariants() {\n var _ref;\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, FontVariant.LabelExtraSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '10px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelExtraSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: 'Bold',\n fontSize: '10px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelExtraSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '11px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LabelSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LabelSmallUp, _objectSpread(_objectSpread({\n fontSize: '13px',\n lineHeight: '16px'\n }, defaultFontValue), fontOverride)), FontVariant.LabelSmallUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LabelMedium, _objectSpread(_objectSpread({\n fontSize: '14px',\n lineHeight: '16px'\n }, defaultFontValue), fontOverride)), FontVariant.LabelMediumEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LabelLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, FontVariant.LabelLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LabelLargeUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Regular,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.LabelExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '24px',\n lineHeight: '28px'\n }, fontOverride)), FontVariant.LabelExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Regular,\n fontSize: '24px',\n lineHeight: '28px'\n }, fontOverride)), FontVariant.LabelXExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '32px',\n lineHeight: '36px'\n }, fontOverride)), FontVariant.LabelXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '32px',\n lineHeight: '36px'\n }, fontOverride)), FontVariant.LabelXXExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '48px',\n lineHeight: '54px'\n }, fontOverride)), FontVariant.LabelXXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '48px',\n lineHeight: '54px'\n }, fontOverride)), FontVariant.LabelXXXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '60px',\n lineHeight: '68px'\n }, fontOverride));\n};\nvar getTextFontVariants = function getTextFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.TextExtraSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '11px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.TextSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TextSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TextMedium, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.TextLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '22px'\n }, fontOverride)), FontVariant.TextExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '26px'\n }, fontOverride)), FontVariant.TextXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '28px',\n lineHeight: '40px'\n }, fontOverride));\n};\nvar getButtonFontVariants = function getButtonFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.ButtonSmEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.ButtonSm, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.ButtonSmUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonSmUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonMdEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonMd, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonLgEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.ButtonLg, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.ButtonLgUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.ButtonLgUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride));\n};\nvar getLinkFontVariants = function getLinkFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.LinkSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LinkSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LinkSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkSmallUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkMedium, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkMediumEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LinkLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LinkLargeUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.LinkLargeUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride));\n};\nvar getInputFontVariants = function getInputFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.InputSm, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.InputSmUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.InputMd, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.InputLg, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride));\n};\nvar getTitleFontVariants = function getTitleFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.TitleH6, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TitleH5, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '21px'\n }, fontOverride)), FontVariant.TitleH4, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '24px'\n }, fontOverride)), FontVariant.TitleH3, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '27px'\n }, fontOverride)), FontVariant.TitleH2, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '20px',\n lineHeight: '30px'\n }, fontOverride)), FontVariant.TitleH1, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '28px',\n lineHeight: '42px'\n }, fontOverride));\n};\nexport var getDefaultTypography = function getDefaultTypography() {\n var typographyOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _objectSpread(_objectSpread({\n fontFamily: defaultFontValue.fontFamily,\n baseLineHeight: 1.375\n }, typographyOverride), {}, {\n font: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, getLabelFontVariants(typographyOverride)), getTextFontVariants(typographyOverride)), getButtonFontVariants(typographyOverride)), getLinkFontVariants(typographyOverride)), getInputFontVariants(typographyOverride)), getTitleFontVariants(typographyOverride))\n });\n};","import { createGlobalStyle /* , css */ } from 'styled-components';\n\n// Example with theme: ${({ theme }) => css``;\n\nvar CommonStyles = /*#__PURE__*/createGlobalStyle([\"@keyframes spinner{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.Menu-open{overflow:hidden;}.Modal-open{overflow:hidden;}\"]);\nexport default CommonStyles;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _accent, _background, _borders, _states, _uploader, _extra;\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { Color } from '../../../../utils/types/palette';\n//TODO: update theme to include grouped palette\n//TODO:change color values from rgb to hex\nexport var groupedPalette = {\n text: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.TextPrimary, 'rgba(55, 65, 75, 1)'), Color.TextSecondary, 'rgba(118, 138, 159, 1)'), Color.TextSecondaryInvert, 'rgba(213, 216, 220, 1)'), Color.TextPlaceholder, 'rgba(169, 182, 194, 1)'), Color.TextWarning, 'rgba(196, 110, 0, 1)'), Color.TextError, 'rgba(185, 33, 46, 1)'), Color.TextInfo, 'rgba(35, 117, 171, 1)'),\n accent: (_accent = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_accent, Color.AccentPrimary, 'rgba(104, 121, 235, 1)'), Color.AccentPrimaryHover, 'rgba(96, 111, 209, 1)'), Color.AccentPrimaryActive, 'rgba(73, 88, 188, 1)'), Color.AccentPrimaryDisabled, 'rgba(233, 238, 242, 1)'), Color.AccentSecondaryDisabled, '#F9FBFC'), Color.AccentStateless, 'rgba(104, 121, 235, 1)'), Color.AccentStateless_0_4_Opacity, 'rgba(104, 121, 235, 0.4)'), Color.Accent_0_5_5_Opacity, 'rgba(96, 111, 209, 0.55)'), Color.Accent_0_7_Opacity, 'rgba(96, 111, 209, 0.7)'), Color.Accent_0_5_Opacity, 'rgba(104, 121, 235, 0.05)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_accent, Color.Accent_1_2_Opacity, 'rgba(104, 121, 235, 0.12)'), Color.Accent_1_8_Opacity, 'rgba(104, 121, 235, 0.18)'), Color.Accent_2_8_Opacity, 'rgba(104, 121, 235, 0.28)'), Color.Accent_4_0_Opacity, 'rgba(104, 121, 235, 0.4)')),\n background: (_background = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_background, Color.BackgroundGrey, 'rgba(216, 224, 232, 1)'), Color.BackgroundStateless, 'rgba(255, 255, 255, 1)'), Color.BackgroundActive, 'rgba(243, 247, 250, 1)'), Color.BackgroundBaseLight, 'rgba(235, 239, 252, 1)'), Color.BackgroundBaseMedium, 'rgba(227, 231, 251, 1)'), Color.BackgroundPrimary, 'rgba(243, 245, 247, 1)'), Color.BackgroundPrimaryLight, 'rgba(243, 245, 247, 1)'), Color.BackgroundPrimaryHover, 'rgba(239, 243, 246, 1)'), Color.BackgroundPrimaryActive, 'rgba(93, 109, 126, 1)'), Color.BackgroundPrimary_0_5_Opacity, 'rgba(255, 255, 255, 0.500)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_background, Color.BackgroundPrimaryStateless, '#CCD6DE'), Color.BackgroundSecondary, 'rgba(255, 255, 255, 1)'), Color.BackgroundHover, 'rgba(249, 251, 252, 1)'), Color.BackgroundGreen, 'rgba(237, 250, 244, 1)'), Color.BackgroundGreenMedium, 'rgba(227, 250, 239, 1)'), Color.BackgroundBlue, 'rgba(244, 249, 255, 1)'), Color.BackgroundRed, 'rgba(253, 244, 242, 1)'), Color.BackgroundRedLight, 'rgba(255, 245, 245, 1)'), Color.BackgroundRedMedium, 'rgba(247, 228, 230, 1)'), Color.BackgroundOrange, 'rgba(255, 249, 242, 1)'), _defineProperty(_background, Color.BackgroundTooltip, 'rgba(79, 98, 118, 1)')),\n icons: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.IconsPrimary, 'rgba(118, 138, 159, 1)'), Color.IconsPrimaryOpacity_0_6, 'rgba(93, 109, 126, 0.600)'), Color.IconsSecondary, 'rgba(151, 166, 182, 1)'), Color.IconsPlaceholder, 'rgba(223, 231, 237, 1)'), Color.IconsInvert, 'rgba(255, 255, 255, 1)'), Color.IconsMuted, 'rgba(169, 182, 194, 1)'), Color.IconsPrimaryHover, 'rgba(79, 98, 118, 1)'), Color.IconsSecondaryHover, 'rgba(118, 138, 159, 1)'),\n button: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.ButtonPrimaryText, 'rgba(255, 255, 255, 1)'), Color.ButtonPrimaryText_0_6, 'rgba(255, 255, 255, 0.6)'), Color.ButtonPrimaryText_0_4, 'rgba(255, 255, 255, 0.4)'), Color.ButtonDisabledText, 'rgba(169, 182, 194, 1)'), Color.ButtonSecondaryText, 'rgba(0, 0, 0, 1)'),\n link: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.LinkPrimary, 'rgba(118, 138, 159, 1)'), Color.LinkStateless, 'rgba(118, 138, 159, 1)'), Color.LinkHover, 'rgba(79, 98, 118, 1)'), Color.LinkActive, 'rgba(55, 65, 75, 1)'), Color.LinkPressed, 'rgba(104, 121, 235, 1)'), Color.LinkMuted, 'rgba(169, 182, 194, 1)'),\n borders: (_borders = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_borders, Color.BordersPrimary, 'rgba(204, 214, 222, 1)'), Color.BordersPrimaryHover, 'rgba(104, 118, 134, 1)'), Color.BordersSecondary, 'rgba(236, 240, 243, 1)'), Color.BordersStrong, 'rgba(204, 214, 222, 1)'), Color.BordersInvert, 'rgba(85, 99, 115, 1)'), Color.BorderHoverBottom, 'rgba(104, 121, 235, 0.18)'), Color.BorderActiveBottom, '#4958BC'), Color.BorderPrimaryStateless, 'rgba(204, 214, 222, 1)'), Color.BordersDisabled, 'rgba(73, 88, 188, 0.4)'), Color.BordersButton, 'rgba(151, 166, 182, 1)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_borders, Color.BordersItem, 'rgba(226, 232, 236, 1)'), Color.BordersBaseLight, 'rgba(211, 219, 250, 1)'), Color.BordersBaseMedium, 'rgba(164, 175, 227, 1)'), Color.BordersGreen, 'rgba(27, 161, 99, 0.22)'), Color.BordersGreenMedium, 'rgba(27, 161, 99, 0.4)'), Color.BordersRed, 'rgba(185, 33, 46, 0.4)')),\n states: (_states = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_states, Color.Error, 'rgba(246, 61, 61, 1)'), Color.Error_0_28_Opacity, 'rgba(185, 33, 46, 0.28)'), Color.Error_0_12_Opacity, 'rgba(255, 86, 78, 0.1)'), Color.ErrorHover, 'rgba(216, 46, 46, 1)'), Color.ErrorActive, 'rgba(185, 33, 46, 1)'), Color.Success, 'rgba(38, 193, 122, 1)'), Color.SuccessHover, 'rgba(30, 154, 98, 1)'), Color.SuccessActive, 'rgba(23, 116, 73, 1)'), Color.Warning, 'rgba(255, 172, 74, 1)'), Color.WarningHover, 'rgba(237, 145, 7, 1)'), _defineProperty(_defineProperty(_defineProperty(_states, Color.WarningActive, 'rgba(224, 135, 0, 1)'), Color.Info, 'rgba(41, 127, 184, 1)'), Color.Modified, 'rgba(165, 166, 246, 1)')),\n flat: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.Red, 'rgba(219, 46, 50, 1)'), Color.Orange, 'rgba(255, 168, 0, 1)'), Color.Salad, 'rgba(143, 176, 33, 1)'), Color.Green, 'rgba(22, 160, 134, 1)'), Color.Blue, 'rgba(41, 127, 184, 1)'), Color.Indigo, 'rgba(91, 72, 162, 1)'), Color.Violet, 'rgba(141, 68, 173, 1)'), Color.Pink, 'rgba(211, 92, 158, 1)'),\n uploader: (_uploader = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_uploader, Color.Link, 'rgba(250, 166, 68, 1)'), Color.Camera, 'rgba(73, 186, 224, 1)'), Color.GoogleDrive, 'rgba(81, 136, 238, 1)'), Color.Dropbox, 'rgba(17, 40, 124, 1)'), Color.OneDrive, 'rgba(40, 100, 186, 1)'), Color.Device, 'rgba(102, 73, 209, 1)'), Color.Instagram, 'rgba(244, 70, 154, 1)'), Color.Unsplash, 'rgba(173, 38, 220, 1)'), Color.FreeImages, 'rgba(16, 163, 135, 1)'), Color.FreeIcons, 'rgba(62, 207, 139, 1)'), _defineProperty(_defineProperty(_defineProperty(_uploader, Color.Canvas, 'rgba(36, 190, 202, 1)'), Color.Box, 'rgba(0, 97, 213, 1)'), Color.ScreenCast, 'rgba(48, 61, 78, 1)')),\n extra: (_extra = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extra, Color.GradientRight, 'linear-gradient(270deg, #FFFFFF 1.56%, rgba(255, 255, 255, 0.89) 52.4%, rgba(255, 255, 255, 0.532165) 76.04%, rgba(255, 255, 255, 0) 100%)'), Color.Extra_0_3_Overlay, 'rgba(79, 98, 118, 0.3)'), Color.GradientRightActive, 'linear-gradient(270deg, #F3F7FA 1.56%, #F3F7FA 52.4%, rgba(243, 247, 250, 0.53) 76.04%, rgba(243, 247, 250, 0) 100%)'), Color.GradientRightHover, 'linear-gradient(270deg, #F9FBFC 1.56%, #F9FBFC 52.4%, rgba(249, 251, 252, 0.53) 76.04%, rgba(249, 251, 252, 0) 100%)'), Color.Extra_0_5_Overlay, 'rgba(79, 98, 118, 0.5)'), Color.Extra_0_7_Overlay, 'rgba(79, 98, 118, 0.7)'), Color.Extra_0_9_Overlay, 'rgba(79, 98, 118, 0.9)'), Color.Red_0_1_Overlay, 'rgba(232, 91, 70, 0.1)'), Color.Orange_0_1_Overlay, 'rgba(250, 157, 47, 0.1)'), Color.Accent_0_8_Overlay, 'rgba(104, 121, 235, 0.08)'), _defineProperty(_extra, Color.Green_0_2_Overlay, 'rgba(27, 161, 99, 0.2)'))\n};\nexport var lightPalette = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, groupedPalette.text), groupedPalette.accent), groupedPalette.background), groupedPalette.icons), groupedPalette.button), groupedPalette.link), groupedPalette.borders), groupedPalette.states), groupedPalette.flat), groupedPalette.uploader), groupedPalette.extra), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.ActiveSecondary, '#FFFFFF'), Color.ActiveSecondaryHover, 'rgba(104, 121, 235, 0.05)'), Color.Tag, '#889AAC'), Color.StatesErrorDisabledText, 'rgba(185, 33, 46, 0.3)'), Color.LightShadow, 'rgba(146, 166, 188, 0.2)'), Color.MediumShadow, 'rgba(146, 166, 188, 0.24)'), Color.LargeShadow, 'rgba(146, 166, 188, 0.32)'), Color.XLargeShadow, 'rgba(146, 166, 188, 0.5)'));\nexport var defaultPalette = lightPalette;","export var Shadows = {\n ShadowSm: 'shadow-sm',\n ShadowMd: 'shadow-md',\n ShadowLg: 'shadow-lg',\n ShadowXl: 'shadow-xl',\n Label: 'label',\n Header: 'header',\n HeaderPopup: 'header-popup',\n FooterPopup: 'footer-popup',\n LeftPanelMd: 'left-panel-md',\n RightPanelMd: 'right-panel-md',\n LeftPanelSm: 'left-panel-sm',\n RightPanelSm: 'right-panel-sm'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _shadows;\nimport { Shadows } from '../../../../utils/types/shadows';\nexport var shadows = (_shadows = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_shadows, Shadows.ShadowSm, '0px 1px 2px 0px rgba(146, 166, 188, 0.2)'), Shadows.ShadowMd, ' 0px 1px 4px 0px rgba(146, 166, 188, 0.24)'), Shadows.ShadowLg, ' 0px 2px 6px 0px rgba(146, 166, 188, 0.32)'), Shadows.ShadowXl, ' 0px 2px 6px 0px rgba(146, 166, 188, 0.5)'), Shadows.Label, ' 0px 1px 3px 0px rgba(77, 78, 78, 0.15)'), Shadows.Header, ' 0px 6px 10px 0px rgba(146, 166, 188, 0.2)'), Shadows.HeaderPopup, ' 0px 3px 7px 0px rgba(146, 166, 188, 0.16)'), Shadows.FooterPopup, ' 0px -4px 8px 0px rgba(208, 215, 220, 0.22)'), Shadows.LeftPanelMd, ' 6px 8px 12px 0px rgba(146, 166, 188, 0.14)'), Shadows.RightPanelMd, '-6px 8px 12px 0px rgba(146, 166, 188, 0.14)'), _defineProperty(_defineProperty(_shadows, Shadows.LeftPanelSm, '6px -4px 12px 0px rgba(146, 166, 188, 0.14)'), Shadows.RightPanelSm, '-6px -4px 12px 0px rgba(146, 166, 188, 0.14)'));\nexport var defaultShadows = shadows;","export var Breakpoint = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg',\n Xl: 'xl',\n Xxl: 'xxl',\n Xxxl: 'xxxl'\n};\nexport var BreakpointClass = {\n Xs: '.sfx-breakpoint-xs',\n Sm: '.sfx-breakpoint-sm',\n Md: '.sfx-breakpoint-md',\n Lg: '.sfx-breakpoint-lg',\n Xl: '.sfx-breakpoint-xl',\n Xxl: '.sfx-breakpoint-xxl',\n Xxxl: '.sfx-breakpoint-xxxl'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Breakpoint } from '../../../../utils/types/css';\nexport var defaultBreakpoints = {\n keys: [Breakpoint.Xs, Breakpoint.Sm, Breakpoint.Md, Breakpoint.Lg, Breakpoint.Xl],\n values: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Breakpoint.Xs, 0), Breakpoint.Sm, 576), Breakpoint.Md, 768), Breakpoint.Lg, 1084), Breakpoint.Xl, 1342), Breakpoint.Xxl, 1600), Breakpoint.Xxxl, 1920),\n classes: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Breakpoint.Xs, '.sfx-breakpoint-xs'), Breakpoint.Sm, '.sfx-breakpoint-sm'), Breakpoint.Md, '.sfx-breakpoint-md'), Breakpoint.Lg, '.sfx-breakpoint-lg'), Breakpoint.Xl, '.sfx-breakpoint-xl'), Breakpoint.Xxl, '.sfx-breakpoint-xxl'), Breakpoint.Xxxl, '.sfx-breakpoint-xxxl'),\n getBreakpointClass: function getBreakpointClass() {\n return '';\n },\n up: function up() {\n return '';\n },\n down: function down() {\n return '';\n },\n between: function between() {\n return '';\n },\n only: function only() {\n return '';\n }\n};","import { defaultBreakpoints } from './default-breakpoints';\nvar createBreakpoints = function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? defaultBreakpoints.values : _breakpoints$values,\n _breakpoints$classes = breakpoints.classes,\n classes = _breakpoints$classes === void 0 ? defaultBreakpoints.classes : _breakpoints$classes;\n var unit = 'px';\n var keys = Object.keys(values);\n var up = function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n };\n var down = function down(key) {\n var value = values[key];\n return \"@media (max-width:\".concat(value).concat(unit, \")\");\n };\n var between = function between(start, end) {\n var endIndex = keys.indexOf(end);\n return \"@media (min-width:\".concat(values[start]).concat(unit, \") and (max-width:\").concat(values[keys[endIndex]]).concat(unit, \")\");\n };\n var only = function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n };\n var getBreakpointClass = function getBreakpointClass(width, hideSelector) {\n var removeSelector = function removeSelector(str) {\n return str.slice(1);\n };\n if (width >= values.xs && width < values.sm) {\n return hideSelector ? removeSelector(classes.xs) : classes.xs;\n }\n if (width >= values.sm && width < values.md) {\n return hideSelector ? removeSelector(classes.sm) : classes.sm;\n }\n if (width >= values.md && width < values.lg) {\n return hideSelector ? removeSelector(classes.md) : classes.md;\n }\n if (width >= values.lg && width < values.xl) {\n return hideSelector ? removeSelector(classes.lg) : classes.lg;\n }\n if (width >= values.xl && width < values.xxl) {\n return hideSelector ? removeSelector(classes.xl) : classes.xl;\n }\n if (width >= values.xxl && width < values.xxxl) {\n return hideSelector ? removeSelector(classes.xxl) : classes.xxl;\n }\n if (width >= values.xxxl) {\n return hideSelector ? removeSelector(classes.xxxl) : classes.xxxl;\n }\n return hideSelector ? removeSelector(classes.md) : classes.md;\n };\n return {\n keys: keys,\n values: values,\n classes: classes,\n getBreakpointClass: getBreakpointClass,\n up: up,\n down: down,\n between: between,\n only: only\n };\n};\nexport default createBreakpoints;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useMemo } from 'react';\nimport { ThemeProvider as SCThemeProvider } from 'styled-components';\nimport merge from 'lodash.merge';\nimport { applyPolymorphicFunctionProp } from '../../utils/functions';\nimport { BorderRadiusSize } from '../../utils/types/shape';\nimport { Typography, CommonStyles } from '../roots';\nimport { defaultPalette } from '../roots/palette';\nimport { defaultShadows } from '../roots/shadows';\nimport { getDefaultTypography } from '../roots/typography';\nimport createBreakpoints from '../roots/breakpoints/entity/create-breakpoints';\nvar defaultShape = {\n borderRadius: _defineProperty(_defineProperty(_defineProperty({}, BorderRadiusSize.Sm, '2px'), BorderRadiusSize.Md, '4px'), BorderRadiusSize.Lg, '8px')\n};\nvar ThemeProvider = function ThemeProvider(_ref) {\n var children = _ref.children,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? {} : _ref$theme;\n var _theme$palette = theme.palette,\n paletteOverride = _theme$palette === void 0 ? {} : _theme$palette,\n _theme$breakpoints = theme.breakpoints,\n breakpointsOverride = _theme$breakpoints === void 0 ? {} : _theme$breakpoints,\n _theme$typography = theme.typography,\n typographyOverride = _theme$typography === void 0 ? {} : _theme$typography,\n _theme$shape = theme.shape,\n shapeOverride = _theme$shape === void 0 ? {} : _theme$shape,\n _theme$shadows = theme.shadows,\n shadowsOverride = _theme$shadows === void 0 ? {} : _theme$shadows;\n var finalTheme = useMemo(function () {\n var palette = _objectSpread(_objectSpread({}, defaultPalette), paletteOverride);\n var breakpoints = createBreakpoints(breakpointsOverride);\n var shadows = _objectSpread(_objectSpread({}, defaultShadows), shadowsOverride);\n return {\n palette: palette,\n breakpoints: breakpoints,\n typography: getDefaultTypography(typographyOverride),\n shape: _objectSpread({}, merge(_objectSpread({}, defaultShape), _objectSpread({}, shapeOverride))),\n shadows: shadows\n };\n }, [JSON.stringify(theme)]);\n return /*#__PURE__*/React.createElement(SCThemeProvider, {\n theme: finalTheme\n }, /*#__PURE__*/React.createElement(React.Fragment, null, applyPolymorphicFunctionProp(children, finalTheme), /*#__PURE__*/React.createElement(CommonStyles, null), /*#__PURE__*/React.createElement(Typography, null)));\n};\nexport default ThemeProvider;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._registerNode = exports.Konva = exports.glob = void 0;\nconst PI_OVER_180 = Math.PI / 180;\nfunction detectBrowser() {\n return (typeof window !== 'undefined' &&\n ({}.toString.call(window) === '[object Window]' ||\n {}.toString.call(window) === '[object global]'));\n}\nexports.glob = typeof global !== 'undefined'\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof WorkerGlobalScope !== 'undefined'\n ? self\n : {};\nexports.Konva = {\n _global: exports.glob,\n version: '9.3.18',\n isBrowser: detectBrowser(),\n isUnminified: /param/.test(function (param) { }.toString()),\n dblClickWindow: 400,\n getAngle(angle) {\n return exports.Konva.angleDeg ? angle * PI_OVER_180 : angle;\n },\n enableTrace: false,\n pointerEventsEnabled: true,\n autoDrawEnabled: true,\n hitOnDragEnabled: false,\n capturePointerEventsEnabled: false,\n _mouseListenClick: false,\n _touchListenClick: false,\n _pointerListenClick: false,\n _mouseInDblClickWindow: false,\n _touchInDblClickWindow: false,\n _pointerInDblClickWindow: false,\n _mouseDblClickPointerId: null,\n _touchDblClickPointerId: null,\n _pointerDblClickPointerId: null,\n _fixTextRendering: false,\n pixelRatio: (typeof window !== 'undefined' && window.devicePixelRatio) || 1,\n dragDistance: 3,\n angleDeg: true,\n showWarnings: true,\n dragButtons: [0, 1],\n isDragging() {\n return exports.Konva['DD'].isDragging;\n },\n isTransforming() {\n var _a;\n return (_a = exports.Konva['Transformer']) === null || _a === void 0 ? void 0 : _a.isTransforming();\n },\n isDragReady() {\n return !!exports.Konva['DD'].node;\n },\n releaseCanvasOnDestroy: true,\n document: exports.glob.document,\n _injectGlobal(Konva) {\n exports.glob.Konva = Konva;\n },\n};\nconst _registerNode = (NodeClass) => {\n exports.Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nexports._registerNode = _registerNode;\nexports.Konva._injectGlobal(exports.Konva);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Transform = void 0;\nconst Global_1 = require(\"./Global\");\nclass Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n const m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n const c = Math.cos(rad);\n const s = Math.sin(rad);\n const m11 = this.m[0] * c + this.m[2] * s;\n const m12 = this.m[1] * c + this.m[3] * s;\n const m21 = this.m[0] * -s + this.m[2] * c;\n const m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n const m11 = this.m[0] + this.m[2] * sy;\n const m12 = this.m[1] + this.m[3] * sy;\n const m21 = this.m[2] + this.m[0] * sx;\n const m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n const m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n const m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n const m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n const m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n const dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n const dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n const d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n const m0 = this.m[3] * d;\n const m1 = -this.m[1] * d;\n const m2 = -this.m[2] * d;\n const m3 = this.m[0] * d;\n const m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n const m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n const a = this.m[0];\n const b = this.m[1];\n const c = this.m[2];\n const d = this.m[3];\n const e = this.m[4];\n const f = this.m[5];\n const delta = a * d - b * c;\n const result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n const r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n const s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = exports.Util._getRotation(result.rotation);\n return result;\n }\n}\nexports.Transform = Transform;\nconst OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/;\nlet animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexports.Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n const firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n const canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n const imageObj = exports.Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n const bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n let randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n let rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (exports.Util._namedColorToRBA(str) ||\n exports.Util._hex3ColorToRGBA(str) ||\n exports.Util._hex4ColorToRGBA(str) ||\n exports.Util._hex6ColorToRGBA(str) ||\n exports.Util._hex8ColorToRGBA(str) ||\n exports.Util._rgbColorToRGBA(str) ||\n exports.Util._rgbaColorToRGBA(str) ||\n exports.Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n const c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n const parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n const parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n const retObj = {};\n for (const key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n exports.Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return exports.Util.degToRad(deg);\n },\n _radToDeg(rad) {\n exports.Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return exports.Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Global_1.Konva.angleDeg ? exports.Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Global_1.Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (const key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n let x, y, dist;\n const pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n const u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n const pc = exports.Util.cloneObject(pt);\n let dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n const p2 = line[(i + 1) % line.length];\n const proj = exports.Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n const px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n const start = [], end = [];\n if (startArray.length > endArray.length) {\n const temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (let n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (let n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n const newStart = [];\n end.forEach(function (point) {\n const pr = exports.Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n let desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (const key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n exports.Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (exports.Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (const key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Global_1.Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach((c) => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBComponent = RGBComponent;\nexports.alphaComponent = alphaComponent;\nexports.getNumberValidator = getNumberValidator;\nexports.getNumberOrArrayOfNumbersValidator = getNumberOrArrayOfNumbersValidator;\nexports.getNumberOrAutoValidator = getNumberOrAutoValidator;\nexports.getStringValidator = getStringValidator;\nexports.getStringOrGradientValidator = getStringOrGradientValidator;\nexports.getFunctionValidator = getFunctionValidator;\nexports.getNumberArrayValidator = getNumberArrayValidator;\nexports.getBooleanValidator = getBooleanValidator;\nexports.getComponentValidator = getComponentValidator;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nfunction _formatValue(val) {\n if (Util_1.Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util_1.Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nfunction RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nfunction alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nfunction getNumberValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isNumber(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nfunction getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util_1.Util._isNumber(val);\n let isValidArray = Util_1.Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nfunction getNumberOrAutoValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util_1.Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nfunction getStringValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isString(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nfunction getStringOrGradientValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util_1.Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val['addColorStop']);\n if (!(isString || isGradient)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nfunction getFunctionValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isFunction(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nfunction getNumberArrayValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util_1.Util._isArray(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util_1.Util._isNumber(item)) {\n Util_1.Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nfunction getBooleanValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nfunction getComponentValidator(components) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util_1.Util.isObject(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Factory = void 0;\nconst Util_1 = require(\"./Util\");\nconst Validators_1 = require(\"./Validators\");\nconst GET = 'get';\nconst SET = 'set';\nexports.Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n exports.Factory.addGetter(constructor, attr, def);\n exports.Factory.addSetter(constructor, attr, validator, after);\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n const val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n exports.Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n const len = components.length, capitalize = Util_1.Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr);\n constructor.prototype[getter] = function () {\n const ret = {};\n for (let n = 0; n < len; n++) {\n const component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n const basicValidator = (0, Validators_1.getComponentValidator)(components);\n constructor.prototype[setter] = function (val) {\n const oldVal = this.attrs[attr];\n if (validator) {\n val = validator.call(this, val, attr);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (const key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util_1.Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util_1.Util.error('Adding deprecated ' + attr);\n const method = GET + Util_1.Util._capitalize(attr);\n const message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util_1.Util.error(message);\n const val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n exports.Factory.addSetter(constructor, attr, validator, function () {\n Util_1.Util.error(message);\n });\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util_1.Util.each(methods, function (oldMethodName, newMethodName) {\n const method = constructor.prototype[newMethodName];\n const oldGetter = GET + Util_1.Util._capitalize(oldMethodName);\n const oldSetter = SET + Util_1.Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util_1.Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitContext = exports.SceneContext = exports.Context = void 0;\nconst Util_1 = require(\"./Util\");\nconst Global_1 = require(\"./Global\");\nfunction simplifyArray(arr) {\n const retArr = [], len = arr.length, util = Util_1.Util;\n for (let n = 0; n < len; n++) {\n let val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nconst COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'roundRect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nconst CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'letterSpacing',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'direction',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nclass Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Global_1.Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n let traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util_1.Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n let traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n const canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n const absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(x, y, radius, startAngle, endAngle, counterClockwise) {\n this._context.arc(x, y, radius, startAngle, endAngle, counterClockwise);\n }\n arcTo(x1, y1, x2, y2, radius) {\n this._context.arcTo(x1, y1, x2, y2, radius);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\n this._context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n clearRect(x, y, width, height) {\n this._context.clearRect(x, y, width, height);\n }\n clip(...args) {\n this._context.clip.apply(this._context, args);\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(width, height) {\n const a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(width, height);\n }\n else if (a.length === 1) {\n return this._context.createImageData(width);\n }\n }\n createLinearGradient(x0, y0, x1, y1) {\n return this._context.createLinearGradient(x0, y0, x1, y1);\n }\n createPattern(image, repetition) {\n return this._context.createPattern(image, repetition);\n }\n createRadialGradient(x0, y0, r0, x1, y1, r1) {\n return this._context.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) {\n const a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(image, sx, sy);\n }\n else if (a.length === 5) {\n _context.drawImage(image, sx, sy, sWidth, sHeight);\n }\n else if (a.length === 9) {\n _context.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n }\n ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise) {\n this._context.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(...args) {\n this._context.fill.apply(this._context, args);\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(sx, sy, sw, sh) {\n return this._context.getImageData(sx, sy, sw, sh);\n }\n lineTo(x, y) {\n this._context.lineTo(x, y);\n }\n moveTo(x, y) {\n this._context.moveTo(x, y);\n }\n rect(x, y, width, height) {\n this._context.rect(x, y, width, height);\n }\n roundRect(x, y, width, height, radii) {\n this._context.roundRect(x, y, width, height, radii);\n }\n putImageData(imageData, dx, dy) {\n this._context.putImageData(imageData, dx, dy);\n }\n quadraticCurveTo(cpx, cpy, x, y) {\n this._context.quadraticCurveTo(cpx, cpy, x, y);\n }\n restore() {\n this._context.restore();\n }\n rotate(angle) {\n this._context.rotate(angle);\n }\n save() {\n this._context.save();\n }\n scale(x, y) {\n this._context.scale(x, y);\n }\n setLineDash(segments) {\n if (this._context.setLineDash) {\n this._context.setLineDash(segments);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = segments;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = segments;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a, b, c, d, e, f) {\n this._context.setTransform(a, b, c, d, e, f);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(text, x, y, maxWidth) {\n this._context.strokeText(text, x, y, maxWidth);\n }\n transform(a, b, c, d, e, f) {\n this._context.transform(a, b, c, d, e, f);\n }\n translate(x, y) {\n this._context.translate(x, y);\n }\n _enableTrace() {\n let that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n const func = function (methodName) {\n let origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n const prop = arguments[0];\n let val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n const def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nexports.Context = Context;\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nclass SceneContext extends Context {\n constructor(canvas, { willReadFrequently = false } = {}) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently,\n });\n }\n _fillColor(shape) {\n const fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n const grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n const dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n const hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n const color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexports.SceneContext = SceneContext;\nclass HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n const hitStrokeWidth = shape.hitStrokeWidth();\n const strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\nexports.HitContext = HitContext;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitCanvas = exports.SceneCanvas = exports.Canvas = void 0;\nconst Util_1 = require(\"./Util\");\nconst Context_1 = require(\"./Context\");\nconst Global_1 = require(\"./Global\");\nconst Factory_1 = require(\"./Factory\");\nconst Validators_1 = require(\"./Validators\");\nlet _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n const canvas = Util_1.Util.createCanvasElement();\n const context = canvas.getContext('2d');\n _pixelRatio = (function () {\n const devicePixelRatio = Global_1.Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util_1.Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nclass Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n const conf = config || {};\n const pixelRatio = conf.pixelRatio || Global_1.Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util_1.Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n const previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n const pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n const pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util_1.Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nexports.Canvas = Canvas;\nFactory_1.Factory.addGetterSetter(Canvas, 'pixelRatio', undefined, (0, Validators_1.getNumberValidator)());\nclass SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0, willReadFrequently: false }) {\n super(config);\n this.context = new Context_1.SceneContext(this, {\n willReadFrequently: config.willReadFrequently,\n });\n this.setSize(config.width, config.height);\n }\n}\nexports.SceneCanvas = SceneCanvas;\nclass HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new Context_1.HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexports.HitCanvas = HitCanvas;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DD = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nexports.DD = {\n get isDragging() {\n let flag = false;\n exports.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n let node;\n exports.DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n exports.DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util_1.Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n const dragDistance = node.dragDistance();\n const distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n exports.DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n exports.DD.justDragged = true;\n Global_1.Konva._mouseListenClick = false;\n Global_1.Konva._touchListenClick = false;\n Global_1.Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Global_1.Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n exports.DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n exports.DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Global_1.Konva.isBrowser) {\n window.addEventListener('mouseup', exports.DD._endDragBefore, true);\n window.addEventListener('touchend', exports.DD._endDragBefore, true);\n window.addEventListener('touchcancel', exports.DD._endDragBefore, true);\n window.addEventListener('mousemove', exports.DD._drag);\n window.addEventListener('touchmove', exports.DD._drag);\n window.addEventListener('mouseup', exports.DD._endDragAfter, false);\n window.addEventListener('touchend', exports.DD._endDragAfter, false);\n window.addEventListener('touchcancel', exports.DD._endDragAfter, false);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Global_1 = require(\"./Global\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Validators_1 = require(\"./Validators\");\nconst ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nclass Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n let cache = this._cache.get(attr);\n const isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n const invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util_1.Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n const conf = config || {};\n let rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent() || undefined,\n });\n }\n let width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util_1.Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n const extraPaddingX = Math.abs(Math.round(rect.x) - x) > 0.5 ? 1 : 0;\n const extraPaddingY = Math.abs(Math.round(rect.y) - y) > 0.5 ? 1 : 0;\n width += offset * 2 + extraPaddingX;\n height += offset * 2 + extraPaddingY;\n x -= offset;\n y -= offset;\n const cachedSceneCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n willReadFrequently: true,\n }), cachedHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n const points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n const trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n const transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n const cacheCanvas = this._getCachedSceneCanvas();\n const ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n const canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n let filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n const ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util_1.Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util_1.Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n let events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n let events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n const e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n const stopNode = this;\n this.on(event, function (evt) {\n const targets = evt.target.findAncestors(selector, true, stopNode);\n for (let i = 0; i < targets.length; i++) {\n evt = Util_1.Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DragAndDrop_1.DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n const parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n const method = 'get' + Util_1.Util._capitalize(attr);\n if (Util_1.Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n let parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return (this.attrs || {});\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n let key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util_1.Util._capitalize(key);\n if (Util_1.Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n const layer = this.getLayer();\n let layerUnderDrag = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n const dragSkip = !skipDragCheck &&\n !Global_1.Konva.hitOnDragEnabled &&\n (layerUnderDrag || Global_1.Konva.isTransforming());\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n let depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n const stage = this.getStage();\n if (that.nodeType !== UPPER_STAGE && stage) {\n addChildren(stage.getChildren());\n }\n return index;\n }\n getDepth() {\n let depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n const stage = this.getStage();\n if (!stage) {\n return null;\n }\n const pos = stage.getPointerPosition();\n if (!pos) {\n return null;\n }\n const transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n const absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Util_1.Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n const { x, y, ...origTrans } = this._clearTransform();\n this.attrs.x = x;\n this.attrs.y = y;\n this._clearCache(TRANSFORM);\n const it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n let key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n const trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n let changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n let family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n const index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n const index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n const index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n const index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util_1.Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n const index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n let absOpacity = this.opacity();\n const parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n let attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n const obj = {\n attrs: {},\n className: this.getClassName(),\n };\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util_1.Util.isObject(val) && !Util_1.Util._isPlainObject(val) && !Util_1.Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n return Util_1.Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n const res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n let ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n let selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util_1.Util.isValidSelector(sel)) {\n Util_1.Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util_1.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util_1.Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n const parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n const parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return null;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n let at;\n if (top) {\n at = new Util_1.Transform();\n this._eachAncestorReverse(function (node) {\n const transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Util_1.Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n const transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n let parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n const m = this._cache.get(TRANSFORM) || new Util_1.Transform();\n m.reset();\n const x = this.x(), y = this.y(), rotation = Global_1.Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n let attrs = Util_1.Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n const node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n const box = this.getClientRect();\n const stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new Canvas_1.SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n const bufferCanvas = new Canvas_1.SceneCanvas({\n width: canvas.width / canvas.pixelRatio + Math.abs(x),\n height: canvas.height / canvas.pixelRatio + Math.abs(y),\n pixelRatio: canvas.pixelRatio,\n });\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas, undefined, bufferCanvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n const mimeType = config.mimeType || null, quality = config.quality || null;\n const url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util_1.Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n }, config === null || config === void 0 ? void 0 : config.mimeType, config === null || config === void 0 ? void 0 : config.quality);\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Global_1.Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n let evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n const oldName = this.name();\n const newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n const names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n const names = (this.name() || '').split(/\\s/g);\n const index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n const func = this[SET + Util_1.Util._capitalize(attr)];\n if (Util_1.Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Global_1.Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n const oldVal = this.attrs[key];\n if (oldVal === val && !Util_1.Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n let oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n const shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n const stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n var _a, _b, _c;\n const allListeners = (_a = this._cache.get(ALL_LISTENERS)) !== null && _a !== void 0 ? _a : {};\n let events = allListeners === null || allListeners === void 0 ? void 0 : allListeners[eventType];\n if (events === undefined) {\n events = [];\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n const hierarchyEvents = (_c = (_b = obj.eventListeners) === null || _b === void 0 ? void 0 : _b[eventType]) !== null && _c !== void 0 ? _c : [];\n events.push(...hierarchyEvents);\n obj = Object.getPrototypeOf(obj);\n }\n allListeners[eventType] = events;\n this._cache.set(ALL_LISTENERS, allListeners);\n }\n return events;\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n const pointerId = evt ? evt.pointerId : undefined;\n const stage = this.getStage();\n const ap = this.getAbsolutePosition();\n if (!stage) {\n return;\n }\n const pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DragAndDrop_1.DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DragAndDrop_1.DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n let newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n const dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util_1.Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DragAndDrop_1.DD._endDragBefore(evt);\n DragAndDrop_1.DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n const shouldCheckButton = evt.evt['button'] !== undefined;\n const canDrag = !shouldCheckButton || Global_1.Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n let hasDraggingChild = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n const stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DragAndDrop_1.DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DragAndDrop_1.DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util_1.Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util_1.Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n let className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Global_1.Konva[className]) {\n Util_1.Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Global_1.Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nexports.Node = Node;\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory_1.Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'y', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'opacity', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'name', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'id', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'rotation', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'scaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'skewY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'offsetY', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'dragDistance', undefined, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'width', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'height', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'listening', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'preventDefault', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'filters', undefined, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'transformsEnabled', 'all', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Container = void 0;\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nclass Container extends Node_1.Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n const results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (let i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n const result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n const retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n const obj = Node_1.Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n let parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n const node = Node_1.Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n const arr = [];\n this.find('Shape').forEach((shape) => {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top, bufferCanvas) {\n const layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n const caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top, bufferCanvas);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n const layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top, bufferCanvas) {\n var _a;\n const context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (typeof clipWidth === 'number' && typeof clipHeight === 'number') ||\n clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n const transform = this.getAbsoluteTransform(top);\n let m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n let clipArgs;\n if (clipFunc) {\n clipArgs = clipFunc.call(this, context, this);\n }\n else {\n const clipX = this.clipX();\n const clipY = this.clipY();\n context.rect(clipX || 0, clipY || 0, clipWidth, clipHeight);\n }\n context.clip.apply(context, clipArgs);\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n const hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top, bufferCanvas);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config = {}) {\n var _a;\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n let minX, minY, maxX, maxY;\n let selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n const that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n const rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n const shapes = this.find('Shape');\n let hasVisible = false;\n for (let i = 0; i < shapes.length; i++) {\n const shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nexports.Container = Container;\nFactory_1.Factory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory_1.Factory.addGetterSetter(Container, 'clipX', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipY', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipWidth', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipHeight', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipFunc');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCapturedShape = getCapturedShape;\nexports.createEvent = createEvent;\nexports.hasPointerCapture = hasPointerCapture;\nexports.setPointerCapture = setPointerCapture;\nexports.releaseCapture = releaseCapture;\nconst Global_1 = require(\"./Global\");\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;\nfunction getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nfunction createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nfunction hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nfunction setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nfunction releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stage = exports.stages = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nconst Canvas_1 = require(\"./Canvas\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nconst STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Global_1.Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util_1.Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexports.stages = [];\nclass Stage extends Container_1.Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n exports.stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util_1.Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n const className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n const layers = this.children, len = layers.length;\n for (let n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container_1.Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n const content = this.content;\n if (content && Util_1.Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n const index = exports.stages.indexOf(this);\n if (index > -1) {\n exports.stages.splice(index, 1);\n }\n Util_1.Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util_1.Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n const canvas = new Canvas_1.SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n const _context = canvas.getContext()._context;\n const layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n const layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n const layers = this.children, len = layers.length, end = len - 1;\n for (let n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n const width = this.width();\n const height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (let i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n const length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util_1.Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Global_1.Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const targetShape = this._getTargetShape(eventType);\n const eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = null;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = this.getIntersection(pos);\n DragAndDrop_1.DD.justDragged = false;\n Global_1.Konva['_' + eventType + 'ListenClick'] = true;\n if (!shape || !shape.isListening()) {\n this[eventType + 'ClickStartShape'] = undefined;\n return;\n }\n if (Global_1.Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (Global_1.Konva.isDragging() && DragAndDrop_1.DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n const eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n const processedShapesIds = {};\n let triggeredOnShape = false;\n const targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n const differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, { ...event }, shape);\n targetShape._fireAndBubble(events.pointerleave, { ...event }, shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, { ...event }, targetShape);\n shape._fireAndBubble(events.pointerenter, { ...event }, targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, { ...event });\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n const processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Global_1.Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DragAndDrop_1.DD.justDragged) {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Global_1.Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, { ...event });\n if (Global_1.Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, { ...event });\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, { ...event });\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Global_1.Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Global_1.Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch' && eventType !== 'pointer') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n const shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n const shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n const contentPosition = this._getContentPosition();\n let x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util_1.Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util_1.Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util_1.Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n const rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new Canvas_1.SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n const container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util_1.Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nexports.Stage = Stage;\nStage.prototype.nodeType = STAGE;\n(0, Global_2._registerNode)(Stage);\nFactory_1.Factory.addGetterSetter(Stage, 'container');\nif (Global_1.Konva.isBrowser) {\n document.addEventListener('visibilitychange', () => {\n exports.stages.forEach((stage) => {\n stage.batchDraw();\n });\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = exports.shapes = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nconst HAS_SHADOW = 'hasShadow';\nconst SHADOW_RGBA = 'shadowRGBA';\nconst patternImage = 'patternImage';\nconst linearGradient = 'linearGradient';\nconst radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexports.shapes = {};\nfunction _fillFunc(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nclass Shape extends Node_1.Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util_1.Util.getRandomColor();\n if (key && !(key in exports.shapes)) {\n break;\n }\n }\n this.colorKey = key;\n exports.shapes[key] = this;\n }\n getContext() {\n Util_1.Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util_1.Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n const ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Util_1.Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Global_1.Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n const colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n const ctx = getDummyContext();\n const start = this.fillLinearGradientStartPoint();\n const end = this.fillLinearGradientEndPoint();\n const grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n const colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n const ctx = getDummyContext();\n const start = this.fillRadialGradientStartPoint();\n const end = this.fillRadialGradientEndPoint();\n const grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n const rgba = Util_1.Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const bufferHitCanvas = stage.bufferHitCanvas;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, undefined, true);\n const p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node_1.Node.prototype.destroy.call(this);\n delete exports.shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util_1.Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n const size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n let hasCachedParent = false;\n let parent = this.getParent();\n while (parent) {\n if (parent.isCached()) {\n hasCachedParent = true;\n break;\n }\n parent = parent.getParent();\n }\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo || (hasCachedParent && this.getStage()) || undefined;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top, bufferCanvas) {\n const layer = this.getLayer();\n let canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferContext;\n const skipBuffer = canvas.isCache;\n const cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n const bc = bufferCanvas || stage.bufferCanvas;\n bufferContext = bc.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n const ratio = bc.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bc._canvas, 0, 0, bc.width / ratio, bc.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n const layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util_1.Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n const o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n const cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight();\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n const hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n const hitData = hitImageData.data;\n const len = hitData.length;\n const rgbColorKey = Util_1.Util._hexToRgb(this.colorKey);\n for (let i = 0; i < len; i += 4) {\n const alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util_1.Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nexports.Shape = Shape;\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n(0, Global_2._registerNode)(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory_1.Factory.addGetterSetter(Shape, 'stroke', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeWidth', 2, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory_1.Factory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeHitEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'perfectDrawEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'lineJoin');\nFactory_1.Factory.addGetterSetter(Shape, 'lineCap');\nFactory_1.Factory.addGetterSetter(Shape, 'sceneFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'hitFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'dash');\nFactory_1.Factory.addGetterSetter(Shape, 'dashOffset', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowColor', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowBlur', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOpacity', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternImage');\nFactory_1.Factory.addGetterSetter(Shape, 'fill', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory_1.Factory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleX', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRule', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Node_1 = require(\"./Node\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Validators_1 = require(\"./Validators\");\nconst Shape_1 = require(\"./Shape\");\nconst Global_1 = require(\"./Global\");\nconst HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nclass Layer extends Container_1.Container {\n constructor(config) {\n super(config);\n this.canvas = new Canvas_1.SceneCanvas();\n this.hitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n const stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node_1.Node.prototype.moveToTop.call(this);\n const stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n const moved = Node_1.Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n const stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node_1.Node.prototype.moveDown.call(this)) {\n const stage = this.getStage();\n if (stage) {\n const children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node_1.Node.prototype.moveToBottom.call(this)) {\n const stage = this.getStage();\n if (stage) {\n const children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n const _canvas = this.getNativeCanvasElement();\n Node_1.Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util_1.Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n const type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node_1.Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util_1.Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util_1.Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util_1.Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n let spiralSearchDistance = 1;\n let continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util_1.Util._rgbToHex(p[0], p[1], p[2]);\n const shape = Shape_1.shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n const layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container_1.Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n const layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container_1.Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n const parent = this.parent;\n const added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nexports.Layer = Layer;\nLayer.prototype.nodeType = 'Layer';\n(0, Global_1._registerNode)(Layer);\nFactory_1.Factory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory_1.Factory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory_1.Factory.addGetterSetter(Layer, 'hitGraphEnabled', true, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastLayer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Layer_1 = require(\"./Layer\");\nconst Global_1 = require(\"./Global\");\nclass FastLayer extends Layer_1.Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util_1.Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nexports.FastLayer = FastLayer;\nFastLayer.prototype.nodeType = 'FastLayer';\n(0, Global_1._registerNode)(FastLayer);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nclass Group extends Container_1.Container {\n _validateAdd(child) {\n const type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nexports.Group = Group;\nGroup.prototype.nodeType = 'Group';\n(0, Global_1._registerNode)(Group);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animation = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst now = (function () {\n if (Global_1.glob.performance && Global_1.glob.performance.now) {\n return function () {\n return Global_1.glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nclass Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n let lays = [];\n if (layers) {\n lays = Array.isArray(layers) ? layers : [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n const layers = this.layers;\n const len = layers.length;\n for (let n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n const a = Animation;\n const animations = a.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n const id = anim.id;\n const animations = this.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n const layerHash = {};\n const animations = this.animations;\n for (let n = 0; n < animations.length; n++) {\n const anim = animations[n];\n const layers = anim.layers;\n const func = anim.func;\n anim._updateFrameObject(now());\n const layersLen = layers.length;\n let needRedraw;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (let i = 0; i < layersLen; i++) {\n const layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (const key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n const Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util_1.Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util_1.Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nexports.Animation = Animation;\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Easings = exports.Tween = void 0;\nconst Util_1 = require(\"./Util\");\nconst Animation_1 = require(\"./Animation\");\nconst Node_1 = require(\"./Node\");\nconst Global_1 = require(\"./Global\");\nconst blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nlet idCounter = 0;\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n const handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n const t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nclass Tween {\n constructor(config) {\n const that = this, node = config.node, nodeId = node._id, easing = config.easing || exports.Easings.Linear, yoyo = !!config.yoyo;\n let duration, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n const layers = node.getLayer() ||\n (node instanceof Global_1.Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util_1.Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation_1.Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n const node = this.node, nodeId = node._id;\n let diff, len, trueEnd, trueStart, endRGBA;\n const tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n let start = node.getAttr(key);\n if (Util_1.Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util_1.Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util_1.Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (let n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n const startRGBA = Util_1.Util.colorToRGBA(start[n]);\n endRGBA = Util_1.Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (let n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util_1.Util.colorToRGBA(start);\n endRGBA = Util_1.Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n const node = this.node, attrs = Tween.attrs[node._id][this._id];\n let key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util_1.Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n const node = this.node;\n const attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n const node = this.node;\n const attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n const nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId];\n this.pause();\n for (const key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nexports.Tween = Tween;\nTween.attrs = {};\nTween.tweens = {};\nNode_1.Node.prototype.to = function (params) {\n const onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n const tween = new Tween(params);\n tween.play();\n};\nexports.Easings = {\n BackEaseIn(t, b, c, d) {\n const s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n const s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n let s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - exports.Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return exports.Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return exports.Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Node_1 = require(\"./Node\");\nconst Container_1 = require(\"./Container\");\nconst Stage_1 = require(\"./Stage\");\nconst Layer_1 = require(\"./Layer\");\nconst FastLayer_1 = require(\"./FastLayer\");\nconst Group_1 = require(\"./Group\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Shape_1 = require(\"./Shape\");\nconst Animation_1 = require(\"./Animation\");\nconst Tween_1 = require(\"./Tween\");\nconst Context_1 = require(\"./Context\");\nconst Canvas_1 = require(\"./Canvas\");\nexports.Konva = Util_1.Util._assign(Global_1.Konva, {\n Util: Util_1.Util,\n Transform: Util_1.Transform,\n Node: Node_1.Node,\n Container: Container_1.Container,\n Stage: Stage_1.Stage,\n stages: Stage_1.stages,\n Layer: Layer_1.Layer,\n FastLayer: FastLayer_1.FastLayer,\n Group: Group_1.Group,\n DD: DragAndDrop_1.DD,\n Shape: Shape_1.Shape,\n shapes: Shape_1.shapes,\n Animation: Animation_1.Animation,\n Tween: Tween_1.Tween,\n Easings: Tween_1.Easings,\n Context: Context_1.Context,\n Canvas: Canvas_1.Canvas,\n});\nexports.default = exports.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arc = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Arc extends Shape_1.Shape {\n _sceneFunc(context) {\n const angle = Global_1.Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Global_1.Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nexports.Arc = Arc;\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_2._registerNode)(Arc);\nFactory_1.Factory.addGetterSetter(Arc, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'clockwise', false, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Line = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Global_1 = require(\"../Global\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n const d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n const len = p.length, allPoints = [];\n for (let n = 2; n < len - 2; n += 2) {\n const cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nclass Line extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n let points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n const p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n let points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n let minX = points[0];\n let maxX = points[0];\n let minY = points[1];\n let maxY = points[1];\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nexports.Line = Line;\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n(0, Global_1._registerNode)(Line);\nFactory_1.Factory.addGetterSetter(Line, 'closed', false);\nFactory_1.Factory.addGetterSetter(Line, 'bezier', false);\nFactory_1.Factory.addGetterSetter(Line, 'tension', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Line, 'points', [], (0, Validators_1.getNumberArrayValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.t2length = exports.getQuadraticArcLength = exports.getCubicArcLength = exports.binomialCoefficients = exports.cValues = exports.tValues = void 0;\nexports.tValues = [\n [],\n [],\n [\n -0.5773502691896257645091487805019574556476,\n 0.5773502691896257645091487805019574556476,\n ],\n [\n 0, -0.7745966692414833770358530799564799221665,\n 0.7745966692414833770358530799564799221665,\n ],\n [\n -0.3399810435848562648026657591032446872005,\n 0.3399810435848562648026657591032446872005,\n -0.8611363115940525752239464888928095050957,\n 0.8611363115940525752239464888928095050957,\n ],\n [\n 0, -0.5384693101056830910363144207002088049672,\n 0.5384693101056830910363144207002088049672,\n -0.9061798459386639927976268782993929651256,\n 0.9061798459386639927976268782993929651256,\n ],\n [\n 0.6612093864662645136613995950199053470064,\n -0.6612093864662645136613995950199053470064,\n -0.2386191860831969086305017216807119354186,\n 0.2386191860831969086305017216807119354186,\n -0.9324695142031520278123015544939946091347,\n 0.9324695142031520278123015544939946091347,\n ],\n [\n 0, 0.4058451513773971669066064120769614633473,\n -0.4058451513773971669066064120769614633473,\n -0.7415311855993944398638647732807884070741,\n 0.7415311855993944398638647732807884070741,\n -0.9491079123427585245261896840478512624007,\n 0.9491079123427585245261896840478512624007,\n ],\n [\n -0.1834346424956498049394761423601839806667,\n 0.1834346424956498049394761423601839806667,\n -0.5255324099163289858177390491892463490419,\n 0.5255324099163289858177390491892463490419,\n -0.7966664774136267395915539364758304368371,\n 0.7966664774136267395915539364758304368371,\n -0.9602898564975362316835608685694729904282,\n 0.9602898564975362316835608685694729904282,\n ],\n [\n 0, -0.8360311073266357942994297880697348765441,\n 0.8360311073266357942994297880697348765441,\n -0.9681602395076260898355762029036728700494,\n 0.9681602395076260898355762029036728700494,\n -0.3242534234038089290385380146433366085719,\n 0.3242534234038089290385380146433366085719,\n -0.6133714327005903973087020393414741847857,\n 0.6133714327005903973087020393414741847857,\n ],\n [\n -0.1488743389816312108848260011297199846175,\n 0.1488743389816312108848260011297199846175,\n -0.4333953941292471907992659431657841622,\n 0.4333953941292471907992659431657841622,\n -0.6794095682990244062343273651148735757692,\n 0.6794095682990244062343273651148735757692,\n -0.8650633666889845107320966884234930485275,\n 0.8650633666889845107320966884234930485275,\n -0.9739065285171717200779640120844520534282,\n 0.9739065285171717200779640120844520534282,\n ],\n [\n 0, -0.2695431559523449723315319854008615246796,\n 0.2695431559523449723315319854008615246796,\n -0.5190961292068118159257256694586095544802,\n 0.5190961292068118159257256694586095544802,\n -0.7301520055740493240934162520311534580496,\n 0.7301520055740493240934162520311534580496,\n -0.8870625997680952990751577693039272666316,\n 0.8870625997680952990751577693039272666316,\n -0.9782286581460569928039380011228573907714,\n 0.9782286581460569928039380011228573907714,\n ],\n [\n -0.1252334085114689154724413694638531299833,\n 0.1252334085114689154724413694638531299833,\n -0.3678314989981801937526915366437175612563,\n 0.3678314989981801937526915366437175612563,\n -0.587317954286617447296702418940534280369,\n 0.587317954286617447296702418940534280369,\n -0.7699026741943046870368938332128180759849,\n 0.7699026741943046870368938332128180759849,\n -0.9041172563704748566784658661190961925375,\n 0.9041172563704748566784658661190961925375,\n -0.9815606342467192506905490901492808229601,\n 0.9815606342467192506905490901492808229601,\n ],\n [\n 0, -0.2304583159551347940655281210979888352115,\n 0.2304583159551347940655281210979888352115,\n -0.4484927510364468528779128521276398678019,\n 0.4484927510364468528779128521276398678019,\n -0.6423493394403402206439846069955156500716,\n 0.6423493394403402206439846069955156500716,\n -0.8015780907333099127942064895828598903056,\n 0.8015780907333099127942064895828598903056,\n -0.9175983992229779652065478365007195123904,\n 0.9175983992229779652065478365007195123904,\n -0.9841830547185881494728294488071096110649,\n 0.9841830547185881494728294488071096110649,\n ],\n [\n -0.1080549487073436620662446502198347476119,\n 0.1080549487073436620662446502198347476119,\n -0.3191123689278897604356718241684754668342,\n 0.3191123689278897604356718241684754668342,\n -0.5152486363581540919652907185511886623088,\n 0.5152486363581540919652907185511886623088,\n -0.6872929048116854701480198030193341375384,\n 0.6872929048116854701480198030193341375384,\n -0.8272013150697649931897947426503949610397,\n 0.8272013150697649931897947426503949610397,\n -0.928434883663573517336391139377874264477,\n 0.928434883663573517336391139377874264477,\n -0.986283808696812338841597266704052801676,\n 0.986283808696812338841597266704052801676,\n ],\n [\n 0, -0.2011940939974345223006283033945962078128,\n 0.2011940939974345223006283033945962078128,\n -0.3941513470775633698972073709810454683627,\n 0.3941513470775633698972073709810454683627,\n -0.5709721726085388475372267372539106412383,\n 0.5709721726085388475372267372539106412383,\n -0.7244177313601700474161860546139380096308,\n 0.7244177313601700474161860546139380096308,\n -0.8482065834104272162006483207742168513662,\n 0.8482065834104272162006483207742168513662,\n -0.9372733924007059043077589477102094712439,\n 0.9372733924007059043077589477102094712439,\n -0.9879925180204854284895657185866125811469,\n 0.9879925180204854284895657185866125811469,\n ],\n [\n -0.0950125098376374401853193354249580631303,\n 0.0950125098376374401853193354249580631303,\n -0.281603550779258913230460501460496106486,\n 0.281603550779258913230460501460496106486,\n -0.45801677765722738634241944298357757354,\n 0.45801677765722738634241944298357757354,\n -0.6178762444026437484466717640487910189918,\n 0.6178762444026437484466717640487910189918,\n -0.7554044083550030338951011948474422683538,\n 0.7554044083550030338951011948474422683538,\n -0.8656312023878317438804678977123931323873,\n 0.8656312023878317438804678977123931323873,\n -0.9445750230732325760779884155346083450911,\n 0.9445750230732325760779884155346083450911,\n -0.9894009349916499325961541734503326274262,\n 0.9894009349916499325961541734503326274262,\n ],\n [\n 0, -0.1784841814958478558506774936540655574754,\n 0.1784841814958478558506774936540655574754,\n -0.3512317634538763152971855170953460050405,\n 0.3512317634538763152971855170953460050405,\n -0.5126905370864769678862465686295518745829,\n 0.5126905370864769678862465686295518745829,\n -0.6576711592166907658503022166430023351478,\n 0.6576711592166907658503022166430023351478,\n -0.7815140038968014069252300555204760502239,\n 0.7815140038968014069252300555204760502239,\n -0.8802391537269859021229556944881556926234,\n 0.8802391537269859021229556944881556926234,\n -0.9506755217687677612227169578958030214433,\n 0.9506755217687677612227169578958030214433,\n -0.9905754753144173356754340199406652765077,\n 0.9905754753144173356754340199406652765077,\n ],\n [\n -0.0847750130417353012422618529357838117333,\n 0.0847750130417353012422618529357838117333,\n -0.2518862256915055095889728548779112301628,\n 0.2518862256915055095889728548779112301628,\n -0.4117511614628426460359317938330516370789,\n 0.4117511614628426460359317938330516370789,\n -0.5597708310739475346078715485253291369276,\n 0.5597708310739475346078715485253291369276,\n -0.6916870430603532078748910812888483894522,\n 0.6916870430603532078748910812888483894522,\n -0.8037049589725231156824174550145907971032,\n 0.8037049589725231156824174550145907971032,\n -0.8926024664975557392060605911271455154078,\n 0.8926024664975557392060605911271455154078,\n -0.9558239495713977551811958929297763099728,\n 0.9558239495713977551811958929297763099728,\n -0.9915651684209309467300160047061507702525,\n 0.9915651684209309467300160047061507702525,\n ],\n [\n 0, -0.1603586456402253758680961157407435495048,\n 0.1603586456402253758680961157407435495048,\n -0.3165640999636298319901173288498449178922,\n 0.3165640999636298319901173288498449178922,\n -0.4645707413759609457172671481041023679762,\n 0.4645707413759609457172671481041023679762,\n -0.6005453046616810234696381649462392798683,\n 0.6005453046616810234696381649462392798683,\n -0.7209661773352293786170958608237816296571,\n 0.7209661773352293786170958608237816296571,\n -0.8227146565371428249789224867127139017745,\n 0.8227146565371428249789224867127139017745,\n -0.9031559036148179016426609285323124878093,\n 0.9031559036148179016426609285323124878093,\n -0.960208152134830030852778840687651526615,\n 0.960208152134830030852778840687651526615,\n -0.9924068438435844031890176702532604935893,\n 0.9924068438435844031890176702532604935893,\n ],\n [\n -0.0765265211334973337546404093988382110047,\n 0.0765265211334973337546404093988382110047,\n -0.227785851141645078080496195368574624743,\n 0.227785851141645078080496195368574624743,\n -0.3737060887154195606725481770249272373957,\n 0.3737060887154195606725481770249272373957,\n -0.5108670019508270980043640509552509984254,\n 0.5108670019508270980043640509552509984254,\n -0.6360536807265150254528366962262859367433,\n 0.6360536807265150254528366962262859367433,\n -0.7463319064601507926143050703556415903107,\n 0.7463319064601507926143050703556415903107,\n -0.8391169718222188233945290617015206853296,\n 0.8391169718222188233945290617015206853296,\n -0.9122344282513259058677524412032981130491,\n 0.9122344282513259058677524412032981130491,\n -0.963971927277913791267666131197277221912,\n 0.963971927277913791267666131197277221912,\n -0.9931285991850949247861223884713202782226,\n 0.9931285991850949247861223884713202782226,\n ],\n [\n 0, -0.1455618541608950909370309823386863301163,\n 0.1455618541608950909370309823386863301163,\n -0.288021316802401096600792516064600319909,\n 0.288021316802401096600792516064600319909,\n -0.4243421202074387835736688885437880520964,\n 0.4243421202074387835736688885437880520964,\n -0.551618835887219807059018796724313286622,\n 0.551618835887219807059018796724313286622,\n -0.667138804197412319305966669990339162597,\n 0.667138804197412319305966669990339162597,\n -0.7684399634756779086158778513062280348209,\n 0.7684399634756779086158778513062280348209,\n -0.8533633645833172836472506385875676702761,\n 0.8533633645833172836472506385875676702761,\n -0.9200993341504008287901871337149688941591,\n 0.9200993341504008287901871337149688941591,\n -0.9672268385663062943166222149076951614246,\n 0.9672268385663062943166222149076951614246,\n -0.9937521706203895002602420359379409291933,\n 0.9937521706203895002602420359379409291933,\n ],\n [\n -0.0697392733197222212138417961186280818222,\n 0.0697392733197222212138417961186280818222,\n -0.2078604266882212854788465339195457342156,\n 0.2078604266882212854788465339195457342156,\n -0.3419358208920842251581474204273796195591,\n 0.3419358208920842251581474204273796195591,\n -0.4693558379867570264063307109664063460953,\n 0.4693558379867570264063307109664063460953,\n -0.5876404035069115929588769276386473488776,\n 0.5876404035069115929588769276386473488776,\n -0.6944872631866827800506898357622567712673,\n 0.6944872631866827800506898357622567712673,\n -0.7878168059792081620042779554083515213881,\n 0.7878168059792081620042779554083515213881,\n -0.8658125777203001365364256370193787290847,\n 0.8658125777203001365364256370193787290847,\n -0.9269567721871740005206929392590531966353,\n 0.9269567721871740005206929392590531966353,\n -0.9700604978354287271239509867652687108059,\n 0.9700604978354287271239509867652687108059,\n -0.994294585482399292073031421161298980393,\n 0.994294585482399292073031421161298980393,\n ],\n [\n 0, -0.1332568242984661109317426822417661370104,\n 0.1332568242984661109317426822417661370104,\n -0.264135680970344930533869538283309602979,\n 0.264135680970344930533869538283309602979,\n -0.390301038030290831421488872880605458578,\n 0.390301038030290831421488872880605458578,\n -0.5095014778460075496897930478668464305448,\n 0.5095014778460075496897930478668464305448,\n -0.6196098757636461563850973116495956533871,\n 0.6196098757636461563850973116495956533871,\n -0.7186613631319501944616244837486188483299,\n 0.7186613631319501944616244837486188483299,\n -0.8048884016188398921511184069967785579414,\n 0.8048884016188398921511184069967785579414,\n -0.8767523582704416673781568859341456716389,\n 0.8767523582704416673781568859341456716389,\n -0.9329710868260161023491969890384229782357,\n 0.9329710868260161023491969890384229782357,\n -0.9725424712181152319560240768207773751816,\n 0.9725424712181152319560240768207773751816,\n -0.9947693349975521235239257154455743605736,\n 0.9947693349975521235239257154455743605736,\n ],\n [\n -0.0640568928626056260850430826247450385909,\n 0.0640568928626056260850430826247450385909,\n -0.1911188674736163091586398207570696318404,\n 0.1911188674736163091586398207570696318404,\n -0.3150426796961633743867932913198102407864,\n 0.3150426796961633743867932913198102407864,\n -0.4337935076260451384870842319133497124524,\n 0.4337935076260451384870842319133497124524,\n -0.5454214713888395356583756172183723700107,\n 0.5454214713888395356583756172183723700107,\n -0.6480936519369755692524957869107476266696,\n 0.6480936519369755692524957869107476266696,\n -0.7401241915785543642438281030999784255232,\n 0.7401241915785543642438281030999784255232,\n -0.8200019859739029219539498726697452080761,\n 0.8200019859739029219539498726697452080761,\n -0.8864155270044010342131543419821967550873,\n 0.8864155270044010342131543419821967550873,\n -0.9382745520027327585236490017087214496548,\n 0.9382745520027327585236490017087214496548,\n -0.9747285559713094981983919930081690617411,\n 0.9747285559713094981983919930081690617411,\n -0.9951872199970213601799974097007368118745,\n 0.9951872199970213601799974097007368118745,\n ],\n];\nexports.cValues = [\n [],\n [],\n [1.0, 1.0],\n [\n 0.8888888888888888888888888888888888888888,\n 0.5555555555555555555555555555555555555555,\n 0.5555555555555555555555555555555555555555,\n ],\n [\n 0.6521451548625461426269360507780005927646,\n 0.6521451548625461426269360507780005927646,\n 0.3478548451374538573730639492219994072353,\n 0.3478548451374538573730639492219994072353,\n ],\n [\n 0.5688888888888888888888888888888888888888,\n 0.4786286704993664680412915148356381929122,\n 0.4786286704993664680412915148356381929122,\n 0.2369268850561890875142640407199173626432,\n 0.2369268850561890875142640407199173626432,\n ],\n [\n 0.3607615730481386075698335138377161116615,\n 0.3607615730481386075698335138377161116615,\n 0.4679139345726910473898703439895509948116,\n 0.4679139345726910473898703439895509948116,\n 0.1713244923791703450402961421727328935268,\n 0.1713244923791703450402961421727328935268,\n ],\n [\n 0.4179591836734693877551020408163265306122,\n 0.3818300505051189449503697754889751338783,\n 0.3818300505051189449503697754889751338783,\n 0.2797053914892766679014677714237795824869,\n 0.2797053914892766679014677714237795824869,\n 0.1294849661688696932706114326790820183285,\n 0.1294849661688696932706114326790820183285,\n ],\n [\n 0.3626837833783619829651504492771956121941,\n 0.3626837833783619829651504492771956121941,\n 0.3137066458778872873379622019866013132603,\n 0.3137066458778872873379622019866013132603,\n 0.2223810344533744705443559944262408844301,\n 0.2223810344533744705443559944262408844301,\n 0.1012285362903762591525313543099621901153,\n 0.1012285362903762591525313543099621901153,\n ],\n [\n 0.3302393550012597631645250692869740488788,\n 0.1806481606948574040584720312429128095143,\n 0.1806481606948574040584720312429128095143,\n 0.0812743883615744119718921581105236506756,\n 0.0812743883615744119718921581105236506756,\n 0.3123470770400028400686304065844436655987,\n 0.3123470770400028400686304065844436655987,\n 0.2606106964029354623187428694186328497718,\n 0.2606106964029354623187428694186328497718,\n ],\n [\n 0.295524224714752870173892994651338329421,\n 0.295524224714752870173892994651338329421,\n 0.2692667193099963550912269215694693528597,\n 0.2692667193099963550912269215694693528597,\n 0.2190863625159820439955349342281631924587,\n 0.2190863625159820439955349342281631924587,\n 0.1494513491505805931457763396576973324025,\n 0.1494513491505805931457763396576973324025,\n 0.0666713443086881375935688098933317928578,\n 0.0666713443086881375935688098933317928578,\n ],\n [\n 0.272925086777900630714483528336342189156,\n 0.2628045445102466621806888698905091953727,\n 0.2628045445102466621806888698905091953727,\n 0.2331937645919904799185237048431751394317,\n 0.2331937645919904799185237048431751394317,\n 0.1862902109277342514260976414316558916912,\n 0.1862902109277342514260976414316558916912,\n 0.1255803694649046246346942992239401001976,\n 0.1255803694649046246346942992239401001976,\n 0.0556685671161736664827537204425485787285,\n 0.0556685671161736664827537204425485787285,\n ],\n [\n 0.2491470458134027850005624360429512108304,\n 0.2491470458134027850005624360429512108304,\n 0.2334925365383548087608498989248780562594,\n 0.2334925365383548087608498989248780562594,\n 0.2031674267230659217490644558097983765065,\n 0.2031674267230659217490644558097983765065,\n 0.160078328543346226334652529543359071872,\n 0.160078328543346226334652529543359071872,\n 0.1069393259953184309602547181939962242145,\n 0.1069393259953184309602547181939962242145,\n 0.047175336386511827194615961485017060317,\n 0.047175336386511827194615961485017060317,\n ],\n [\n 0.2325515532308739101945895152688359481566,\n 0.2262831802628972384120901860397766184347,\n 0.2262831802628972384120901860397766184347,\n 0.2078160475368885023125232193060527633865,\n 0.2078160475368885023125232193060527633865,\n 0.1781459807619457382800466919960979955128,\n 0.1781459807619457382800466919960979955128,\n 0.1388735102197872384636017768688714676218,\n 0.1388735102197872384636017768688714676218,\n 0.0921214998377284479144217759537971209236,\n 0.0921214998377284479144217759537971209236,\n 0.0404840047653158795200215922009860600419,\n 0.0404840047653158795200215922009860600419,\n ],\n [\n 0.2152638534631577901958764433162600352749,\n 0.2152638534631577901958764433162600352749,\n 0.2051984637212956039659240656612180557103,\n 0.2051984637212956039659240656612180557103,\n 0.1855383974779378137417165901251570362489,\n 0.1855383974779378137417165901251570362489,\n 0.1572031671581935345696019386238421566056,\n 0.1572031671581935345696019386238421566056,\n 0.1215185706879031846894148090724766259566,\n 0.1215185706879031846894148090724766259566,\n 0.0801580871597602098056332770628543095836,\n 0.0801580871597602098056332770628543095836,\n 0.0351194603317518630318328761381917806197,\n 0.0351194603317518630318328761381917806197,\n ],\n [\n 0.2025782419255612728806201999675193148386,\n 0.1984314853271115764561183264438393248186,\n 0.1984314853271115764561183264438393248186,\n 0.1861610000155622110268005618664228245062,\n 0.1861610000155622110268005618664228245062,\n 0.1662692058169939335532008604812088111309,\n 0.1662692058169939335532008604812088111309,\n 0.1395706779261543144478047945110283225208,\n 0.1395706779261543144478047945110283225208,\n 0.1071592204671719350118695466858693034155,\n 0.1071592204671719350118695466858693034155,\n 0.0703660474881081247092674164506673384667,\n 0.0703660474881081247092674164506673384667,\n 0.0307532419961172683546283935772044177217,\n 0.0307532419961172683546283935772044177217,\n ],\n [\n 0.1894506104550684962853967232082831051469,\n 0.1894506104550684962853967232082831051469,\n 0.1826034150449235888667636679692199393835,\n 0.1826034150449235888667636679692199393835,\n 0.1691565193950025381893120790303599622116,\n 0.1691565193950025381893120790303599622116,\n 0.1495959888165767320815017305474785489704,\n 0.1495959888165767320815017305474785489704,\n 0.1246289712555338720524762821920164201448,\n 0.1246289712555338720524762821920164201448,\n 0.0951585116824927848099251076022462263552,\n 0.0951585116824927848099251076022462263552,\n 0.0622535239386478928628438369943776942749,\n 0.0622535239386478928628438369943776942749,\n 0.0271524594117540948517805724560181035122,\n 0.0271524594117540948517805724560181035122,\n ],\n [\n 0.1794464703562065254582656442618856214487,\n 0.1765627053669926463252709901131972391509,\n 0.1765627053669926463252709901131972391509,\n 0.1680041021564500445099706637883231550211,\n 0.1680041021564500445099706637883231550211,\n 0.1540457610768102880814315948019586119404,\n 0.1540457610768102880814315948019586119404,\n 0.1351363684685254732863199817023501973721,\n 0.1351363684685254732863199817023501973721,\n 0.1118838471934039710947883856263559267358,\n 0.1118838471934039710947883856263559267358,\n 0.0850361483171791808835353701910620738504,\n 0.0850361483171791808835353701910620738504,\n 0.0554595293739872011294401653582446605128,\n 0.0554595293739872011294401653582446605128,\n 0.0241483028685479319601100262875653246916,\n 0.0241483028685479319601100262875653246916,\n ],\n [\n 0.1691423829631435918406564701349866103341,\n 0.1691423829631435918406564701349866103341,\n 0.1642764837458327229860537764659275904123,\n 0.1642764837458327229860537764659275904123,\n 0.1546846751262652449254180038363747721932,\n 0.1546846751262652449254180038363747721932,\n 0.1406429146706506512047313037519472280955,\n 0.1406429146706506512047313037519472280955,\n 0.1225552067114784601845191268002015552281,\n 0.1225552067114784601845191268002015552281,\n 0.1009420441062871655628139849248346070628,\n 0.1009420441062871655628139849248346070628,\n 0.0764257302548890565291296776166365256053,\n 0.0764257302548890565291296776166365256053,\n 0.0497145488949697964533349462026386416808,\n 0.0497145488949697964533349462026386416808,\n 0.0216160135264833103133427102664524693876,\n 0.0216160135264833103133427102664524693876,\n ],\n [\n 0.1610544498487836959791636253209167350399,\n 0.1589688433939543476499564394650472016787,\n 0.1589688433939543476499564394650472016787,\n 0.152766042065859666778855400897662998461,\n 0.152766042065859666778855400897662998461,\n 0.1426067021736066117757461094419029724756,\n 0.1426067021736066117757461094419029724756,\n 0.1287539625393362276755157848568771170558,\n 0.1287539625393362276755157848568771170558,\n 0.1115666455473339947160239016817659974813,\n 0.1115666455473339947160239016817659974813,\n 0.0914900216224499994644620941238396526609,\n 0.0914900216224499994644620941238396526609,\n 0.0690445427376412265807082580060130449618,\n 0.0690445427376412265807082580060130449618,\n 0.0448142267656996003328381574019942119517,\n 0.0448142267656996003328381574019942119517,\n 0.0194617882297264770363120414644384357529,\n 0.0194617882297264770363120414644384357529,\n ],\n [\n 0.1527533871307258506980843319550975934919,\n 0.1527533871307258506980843319550975934919,\n 0.1491729864726037467878287370019694366926,\n 0.1491729864726037467878287370019694366926,\n 0.1420961093183820513292983250671649330345,\n 0.1420961093183820513292983250671649330345,\n 0.1316886384491766268984944997481631349161,\n 0.1316886384491766268984944997481631349161,\n 0.118194531961518417312377377711382287005,\n 0.118194531961518417312377377711382287005,\n 0.1019301198172404350367501354803498761666,\n 0.1019301198172404350367501354803498761666,\n 0.0832767415767047487247581432220462061001,\n 0.0832767415767047487247581432220462061001,\n 0.0626720483341090635695065351870416063516,\n 0.0626720483341090635695065351870416063516,\n 0.040601429800386941331039952274932109879,\n 0.040601429800386941331039952274932109879,\n 0.0176140071391521183118619623518528163621,\n 0.0176140071391521183118619623518528163621,\n ],\n [\n 0.1460811336496904271919851476833711882448,\n 0.1445244039899700590638271665537525436099,\n 0.1445244039899700590638271665537525436099,\n 0.1398873947910731547221334238675831108927,\n 0.1398873947910731547221334238675831108927,\n 0.132268938633337461781052574496775604329,\n 0.132268938633337461781052574496775604329,\n 0.1218314160537285341953671771257335983563,\n 0.1218314160537285341953671771257335983563,\n 0.1087972991671483776634745780701056420336,\n 0.1087972991671483776634745780701056420336,\n 0.0934444234560338615532897411139320884835,\n 0.0934444234560338615532897411139320884835,\n 0.0761001136283793020170516533001831792261,\n 0.0761001136283793020170516533001831792261,\n 0.0571344254268572082836358264724479574912,\n 0.0571344254268572082836358264724479574912,\n 0.0369537897708524937999506682993296661889,\n 0.0369537897708524937999506682993296661889,\n 0.0160172282577743333242246168584710152658,\n 0.0160172282577743333242246168584710152658,\n ],\n [\n 0.1392518728556319933754102483418099578739,\n 0.1392518728556319933754102483418099578739,\n 0.1365414983460151713525738312315173965863,\n 0.1365414983460151713525738312315173965863,\n 0.1311735047870623707329649925303074458757,\n 0.1311735047870623707329649925303074458757,\n 0.1232523768105124242855609861548144719594,\n 0.1232523768105124242855609861548144719594,\n 0.1129322960805392183934006074217843191142,\n 0.1129322960805392183934006074217843191142,\n 0.1004141444428809649320788378305362823508,\n 0.1004141444428809649320788378305362823508,\n 0.0859416062170677274144436813727028661891,\n 0.0859416062170677274144436813727028661891,\n 0.0697964684245204880949614189302176573987,\n 0.0697964684245204880949614189302176573987,\n 0.0522933351526832859403120512732112561121,\n 0.0522933351526832859403120512732112561121,\n 0.0337749015848141547933022468659129013491,\n 0.0337749015848141547933022468659129013491,\n 0.0146279952982722006849910980471854451902,\n 0.0146279952982722006849910980471854451902,\n ],\n [\n 0.1336545721861061753514571105458443385831,\n 0.132462039404696617371642464703316925805,\n 0.132462039404696617371642464703316925805,\n 0.1289057221880821499785953393997936532597,\n 0.1289057221880821499785953393997936532597,\n 0.1230490843067295304675784006720096548158,\n 0.1230490843067295304675784006720096548158,\n 0.1149966402224113649416435129339613014914,\n 0.1149966402224113649416435129339613014914,\n 0.1048920914645414100740861850147438548584,\n 0.1048920914645414100740861850147438548584,\n 0.0929157660600351474770186173697646486034,\n 0.0929157660600351474770186173697646486034,\n 0.0792814117767189549228925247420432269137,\n 0.0792814117767189549228925247420432269137,\n 0.0642324214085258521271696151589109980391,\n 0.0642324214085258521271696151589109980391,\n 0.0480376717310846685716410716320339965612,\n 0.0480376717310846685716410716320339965612,\n 0.0309880058569794443106942196418845053837,\n 0.0309880058569794443106942196418845053837,\n 0.0134118594871417720813094934586150649766,\n 0.0134118594871417720813094934586150649766,\n ],\n [\n 0.1279381953467521569740561652246953718517,\n 0.1279381953467521569740561652246953718517,\n 0.1258374563468282961213753825111836887264,\n 0.1258374563468282961213753825111836887264,\n 0.121670472927803391204463153476262425607,\n 0.121670472927803391204463153476262425607,\n 0.1155056680537256013533444839067835598622,\n 0.1155056680537256013533444839067835598622,\n 0.1074442701159656347825773424466062227946,\n 0.1074442701159656347825773424466062227946,\n 0.0976186521041138882698806644642471544279,\n 0.0976186521041138882698806644642471544279,\n 0.086190161531953275917185202983742667185,\n 0.086190161531953275917185202983742667185,\n 0.0733464814110803057340336152531165181193,\n 0.0733464814110803057340336152531165181193,\n 0.0592985849154367807463677585001085845412,\n 0.0592985849154367807463677585001085845412,\n 0.0442774388174198061686027482113382288593,\n 0.0442774388174198061686027482113382288593,\n 0.0285313886289336631813078159518782864491,\n 0.0285313886289336631813078159518782864491,\n 0.0123412297999871995468056670700372915759,\n 0.0123412297999871995468056670700372915759,\n ],\n];\nexports.binomialCoefficients = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]];\nconst getCubicArcLength = (xs, ys, t) => {\n let sum;\n let correctedT;\n const n = 20;\n const z = t / 2;\n sum = 0;\n for (let i = 0; i < n; i++) {\n correctedT = z * exports.tValues[n][i] + z;\n sum += exports.cValues[n][i] * BFunc(xs, ys, correctedT);\n }\n return z * sum;\n};\nexports.getCubicArcLength = getCubicArcLength;\nconst getQuadraticArcLength = (xs, ys, t) => {\n if (t === undefined) {\n t = 1;\n }\n const ax = xs[0] - 2 * xs[1] + xs[2];\n const ay = ys[0] - 2 * ys[1] + ys[2];\n const bx = 2 * xs[1] - 2 * xs[0];\n const by = 2 * ys[1] - 2 * ys[0];\n const A = 4 * (ax * ax + ay * ay);\n const B = 4 * (ax * bx + ay * by);\n const C = bx * bx + by * by;\n if (A === 0) {\n return (t * Math.sqrt(Math.pow(xs[2] - xs[0], 2) + Math.pow(ys[2] - ys[0], 2)));\n }\n const b = B / (2 * A);\n const c = C / A;\n const u = t + b;\n const k = c - b * b;\n const uuk = u * u + k > 0 ? Math.sqrt(u * u + k) : 0;\n const bbk = b * b + k > 0 ? Math.sqrt(b * b + k) : 0;\n const term = b + Math.sqrt(b * b + k) !== 0\n ? k * Math.log(Math.abs((u + uuk) / (b + bbk)))\n : 0;\n return (Math.sqrt(A) / 2) * (u * uuk - b * bbk + term);\n};\nexports.getQuadraticArcLength = getQuadraticArcLength;\nfunction BFunc(xs, ys, t) {\n const xbase = getDerivative(1, t, xs);\n const ybase = getDerivative(1, t, ys);\n const combined = xbase * xbase + ybase * ybase;\n return Math.sqrt(combined);\n}\nconst getDerivative = (derivative, t, vs) => {\n const n = vs.length - 1;\n let _vs;\n let value;\n if (n === 0) {\n return 0;\n }\n if (derivative === 0) {\n value = 0;\n for (let k = 0; k <= n; k++) {\n value +=\n exports.binomialCoefficients[n][k] *\n Math.pow(1 - t, n - k) *\n Math.pow(t, k) *\n vs[k];\n }\n return value;\n }\n else {\n _vs = new Array(n);\n for (let k = 0; k < n; k++) {\n _vs[k] = n * (vs[k + 1] - vs[k]);\n }\n return getDerivative(derivative - 1, t, _vs);\n }\n};\nconst t2length = (length, totalLength, func) => {\n let error = 1;\n let t = length / totalLength;\n let step = (length - func(t)) / totalLength;\n let numIterations = 0;\n while (error > 0.001) {\n const increasedTLength = func(t + step);\n const increasedTError = Math.abs(length - increasedTLength) / totalLength;\n if (increasedTError < error) {\n error = increasedTError;\n t += step;\n }\n else {\n const decreasedTLength = func(t - step);\n const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;\n if (decreasedTError < error) {\n error = decreasedTError;\n t -= step;\n }\n else {\n step /= 2;\n }\n }\n numIterations++;\n if (numIterations > 500) {\n break;\n }\n }\n return t;\n};\nexports.t2length = t2length;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst BezierFunctions_1 = require(\"../BezierFunctions\");\nclass Path extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n });\n }\n _readDataAttribute() {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = Path.getPathLength(this.dataArray);\n }\n _sceneFunc(context) {\n const ca = this.dataArray;\n context.beginPath();\n let isClosed = false;\n for (let n = 0; n < ca.length; n++) {\n const c = ca[n].command;\n const p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n let points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n const start = data.points[4];\n const dTheta = data.points[5];\n const end = data.points[4] + dTheta;\n let inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n let minX = points[0];\n let maxX = points[0];\n let minY = points[1];\n let maxY = points[1];\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n return Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPathLength(dataArray) {\n let pathLength = 0;\n for (let i = 0; i < dataArray.length; ++i) {\n pathLength += dataArray[i].pathLength;\n }\n return pathLength;\n }\n static getPointAtLengthOfDataArray(length, dataArray) {\n let points, i = 0, ii = dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > dataArray[i].pathLength) {\n length -= dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n points = dataArray[i - 1].points.slice(-2);\n return {\n x: points[0],\n y: points[1],\n };\n }\n if (length < 0.01) {\n points = dataArray[i].points.slice(0, 2);\n return {\n x: points[0],\n y: points[1],\n };\n }\n const cp = dataArray[i];\n const p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getCubicArcLength)([cp.start.x, p[0], p[2], p[4]], [cp.start.y, p[1], p[3], p[5]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getQuadraticArcLength)([cp.start.x, p[0], p[2]], [cp.start.y, p[1], p[3]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n fromX = fromX !== null && fromX !== void 0 ? fromX : P1x;\n fromY = fromY !== null && fromY !== void 0 ? fromY : P1y;\n const len = this.getLineLength(P1x, P1y, P2x, P2y);\n if (len < 1e-10) {\n return { x: P1x, y: P1y };\n }\n if (P2x === P1x) {\n return { x: fromX, y: fromY + (P2y > P1y ? dist : -dist) };\n }\n const m = (P2y - P1y) / (P2x - P1x);\n const run = Math.sqrt((dist * dist) / (1 + m * m)) * (P2x < P1x ? -1 : 1);\n const rise = m * run;\n if (Math.abs(fromY - P1y - m * (fromX - P1x)) < 1e-10) {\n return { x: fromX + run, y: fromY + rise };\n }\n const u = ((fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y)) / (len * len);\n const ix = P1x + u * (P2x - P1x);\n const iy = P1y + u * (P2y - P1y);\n const pRise = this.getLineLength(fromX, fromY, ix, iy);\n const pRun = Math.sqrt(dist * dist - pRise * pRise);\n const adjustedRun = Math.sqrt((pRun * pRun) / (1 + m * m)) * (P2x < P1x ? -1 : 1);\n const adjustedRise = m * adjustedRun;\n return { x: ix + adjustedRun, y: iy + adjustedRise };\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n const x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n const y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n const x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n const y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n const cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n const pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n let cs = data;\n const cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n const arr = cs.split('|');\n const ca = [];\n const coords = [];\n let cpx = 0;\n let cpy = 0;\n const re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n let match;\n for (n = 1; n < arr.length; n++) {\n let str = arr[n];\n let c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n const p = [];\n for (let j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n const parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n let cmd = '';\n let points = [];\n const startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (let idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n let len, p1, p2, t;\n const path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n return (0, BezierFunctions_1.getCubicArcLength)([x, points[0], points[2], points[4]], [y, points[1], points[3], points[5]], 1);\n case 'Q':\n return (0, BezierFunctions_1.getQuadraticArcLength)([x, points[0], points[2]], [y, points[1], points[3]], 1);\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n const psi = psiDeg * (Math.PI / 180.0);\n const xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n const yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n const lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n let f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n const cxp = (f * rx * yp) / ry;\n const cyp = (f * -ry * xp) / rx;\n const cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n const cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n const vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n const vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n const vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n const theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n const u = [(xp - cxp) / rx, (yp - cyp) / ry];\n const v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n let dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nexports.Path = Path;\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n(0, Global_1._registerNode)(Path);\nFactory_1.Factory.addGetterSetter(Path, 'data');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arrow = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Line_1 = require(\"./Line\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst Path_1 = require(\"./Path\");\nclass Arrow extends Line_1.Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n const PI2 = Math.PI * 2;\n const points = this.points();\n let tp = points;\n const fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n const length = this.pointerLength();\n const n = points.length;\n let dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path_1.Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path_1.Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n const radians = (Math.atan2(dy, dx) + PI2) % PI2;\n const width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n const isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x,\n y: lineRect.y - offset,\n width: lineRect.width,\n height: lineRect.height + offset * 2,\n };\n }\n}\nexports.Arrow = Arrow;\nArrow.prototype.className = 'Arrow';\n(0, Global_1._registerNode)(Arrow);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerLength', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerWidth', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Circle = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Circle extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nexports.Circle = Circle;\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(Circle);\nFactory_1.Factory.addGetterSetter(Circle, 'radius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ellipse = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Ellipse extends Shape_1.Shape {\n _sceneFunc(context) {\n const rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nexports.Ellipse = Ellipse;\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n(0, Global_1._registerNode)(Ellipse);\nFactory_1.Factory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusY', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Image = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nclass Image extends Shape_1.Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n const hasCornerRadius = !!this.cornerRadius();\n const hasShadow = this.hasShadow();\n if (hasCornerRadius && hasShadow) {\n return true;\n }\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n const width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n const img = Util_1.Util.createImageElement();\n img.onload = function () {\n const image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nexports.Image = Image;\nImage.prototype.className = 'Image';\n(0, Global_1._registerNode)(Image);\nFactory_1.Factory.addGetterSetter(Image, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\nFactory_1.Factory.addGetterSetter(Image, 'image');\nFactory_1.Factory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory_1.Factory.addGetterSetter(Image, 'cropX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tag = exports.Label = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Group_1 = require(\"../Group\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nclass Label extends Group_1.Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n let that = this, n;\n const func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n let text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nexports.Label = Label;\nLabel.prototype.className = 'Label';\n(0, Global_1._registerNode)(Label);\nclass Tag extends Shape_1.Shape {\n _sceneFunc(context) {\n const width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n let x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nexports.Tag = Tag;\nTag.prototype.className = 'Tag';\n(0, Global_1._registerNode)(Tag);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'pointerHeight', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rect = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nclass Rect extends Shape_1.Shape {\n _sceneFunc(context) {\n const cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nexports.Rect = Rect;\nRect.prototype.className = 'Rect';\n(0, Global_1._registerNode)(Rect);\nFactory_1.Factory.addGetterSetter(Rect, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegularPolygon = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass RegularPolygon extends Shape_1.Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (let n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (let n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n let minX = points[0].x;\n let maxX = points[0].y;\n let minY = points[0].x;\n let maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.RegularPolygon = RegularPolygon;\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(RegularPolygon);\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'sides', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ring = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst PIx2 = Math.PI * 2;\nclass Ring extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Ring = Ring;\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Ring);\nFactory_1.Factory.addGetterSetter(Ring, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ring, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sprite = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Animation_1 = require(\"../Animation\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Sprite extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation_1.Animation(() => {\n const updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n const anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n const offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n const anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n const offset = offsets[anim];\n const ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n const that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n const layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n const index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nexports.Sprite = Sprite;\nSprite.prototype.className = 'Sprite';\n(0, Global_1._registerNode)(Sprite);\nFactory_1.Factory.addGetterSetter(Sprite, 'animation');\nFactory_1.Factory.addGetterSetter(Sprite, 'animations');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameOffsets');\nFactory_1.Factory.addGetterSetter(Sprite, 'image');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameIndex', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Sprite, 'frameRate', 17, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Star = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Star extends Shape_1.Shape {\n _sceneFunc(context) {\n const innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (let n = 1; n < numPoints * 2; n++) {\n const radius = n % 2 === 0 ? outerRadius : innerRadius;\n const x = radius * Math.sin((n * Math.PI) / numPoints);\n const y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Star = Star;\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Star);\nFactory_1.Factory.addGetterSetter(Star, 'numPoints', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = void 0;\nexports.stringToArray = stringToArray;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nfunction stringToArray(string) {\n return [...string].reduce((acc, char, index, array) => {\n if (/\\p{Emoji}/u.test(char)) {\n const nextChar = array[index + 1];\n if (nextChar && /\\p{Emoji_Modifier}|\\u200D/u.test(nextChar)) {\n acc.push(char + nextChar);\n array[index + 1] = '';\n }\n else {\n acc.push(char);\n }\n }\n else if (/\\p{Regional_Indicator}{2}/u.test(char + (array[index + 1] || ''))) {\n acc.push(char + array[index + 1]);\n }\n else if (index > 0 && /\\p{Mn}|\\p{Me}|\\p{Mc}/u.test(char)) {\n acc[acc.length - 1] += char;\n }\n else if (char) {\n acc.push(char);\n }\n return acc;\n }, []);\n}\nconst AUTO = 'auto', CENTER = 'center', INHERIT = 'inherit', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', RTL = 'rtl', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'direction',\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.setAttr('miterLimit', 2);\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nclass Text extends Shape_1.Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (let n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n const textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n let padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), direction = this.direction(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n direction = direction === INHERIT ? context.direction : direction;\n let translateY = lineHeightPx / 2;\n let baseline = MIDDLE;\n if (Global_1.Konva._fixTextRendering) {\n const metrics = this.measureSize('M');\n baseline = 'alphabetic';\n translateY =\n (metrics.fontBoundingBoxAscent - metrics.fontBoundingBoxDescent) / 2 +\n lineHeightPx / 2;\n }\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n if (direction === RTL) {\n context.setAttr('direction', direction);\n }\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', baseline);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n const yOffset = Global_1.Konva._fixTextRendering\n ? Math.round(fontSize / 4)\n : Math.round(fontSize / 2);\n const x = lineTranslateX;\n const y = translateY + lineTranslateY + yOffset;\n context.moveTo(x, y);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(x + Math.round(lineWidth), y);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n const yOffset = Global_1.Konva._fixTextRendering ? -Math.round(fontSize / 4) : 0;\n context.moveTo(lineTranslateX, translateY + lineTranslateY + yOffset);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + yOffset);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (direction !== RTL && (letterSpacing !== 0 || align === JUSTIFY)) {\n spacesNumber = text.split(' ').length - 1;\n const array = stringToArray(text);\n for (let li = 0; li < array.length; li++) {\n const letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n if (letterSpacing !== 0) {\n context.setAttr('letterSpacing', `${letterSpacing}px`);\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n const width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n const str = Util_1.Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n const isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n const isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n let _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n const scaleFactor = fontSize / 100;\n return {\n actualBoundingBoxAscent: (_a = metrics.actualBoundingBoxAscent) !== null && _a !== void 0 ? _a : 71.58203125 * scaleFactor,\n actualBoundingBoxDescent: (_b = metrics.actualBoundingBoxDescent) !== null && _b !== void 0 ? _b : 0,\n actualBoundingBoxLeft: (_c = metrics.actualBoundingBoxLeft) !== null && _c !== void 0 ? _c : -7.421875 * scaleFactor,\n actualBoundingBoxRight: (_d = metrics.actualBoundingBoxRight) !== null && _d !== void 0 ? _d : 75.732421875 * scaleFactor,\n alphabeticBaseline: (_e = metrics.alphabeticBaseline) !== null && _e !== void 0 ? _e : 0,\n emHeightAscent: (_f = metrics.emHeightAscent) !== null && _f !== void 0 ? _f : 100 * scaleFactor,\n emHeightDescent: (_g = metrics.emHeightDescent) !== null && _g !== void 0 ? _g : -20 * scaleFactor,\n fontBoundingBoxAscent: (_h = metrics.fontBoundingBoxAscent) !== null && _h !== void 0 ? _h : 91 * scaleFactor,\n fontBoundingBoxDescent: (_j = metrics.fontBoundingBoxDescent) !== null && _j !== void 0 ? _j : 21 * scaleFactor,\n hangingBaseline: (_k = metrics.hangingBaseline) !== null && _k !== void 0 ? _k : 72.80000305175781 * scaleFactor,\n ideographicBaseline: (_l = metrics.ideographicBaseline) !== null && _l !== void 0 ? _l : -21 * scaleFactor,\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n const width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n const letterSpacing = this.letterSpacing();\n const length = text.length;\n return getDummyContext().measureText(text).width + letterSpacing * length;\n }\n _setTextData() {\n let lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n const additionalWidth = shouldAddEllipsis\n ? this._getTextWidth(ELLIPSIS)\n : 0;\n for (let i = 0, max = lines.length; i < max; ++i) {\n let line = lines[i];\n let lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n let low = 0, high = stringToArray(line).length, match = '', matchWidth = 0;\n while (low < high) {\n const mid = (low + high) >>> 1, lineArray = stringToArray(line), substr = lineArray.slice(0, mid + 1).join(''), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n const lineArray = stringToArray(line);\n const matchArray = stringToArray(match);\n const nextChar = lineArray[matchArray.length];\n const nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n let wrapIndex;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = matchArray.length;\n }\n else {\n const lastSpaceIndex = matchArray.lastIndexOf(SPACE);\n const lastDashIndex = matchArray.lastIndexOf(DASH);\n wrapIndex = Math.max(lastSpaceIndex, lastDashIndex) + 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = lineArray.slice(0, low).join('');\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n const shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n const lineArray = stringToArray(line);\n line = lineArray.slice(low).join('').trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n const fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n const width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n const lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n const haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n _useBufferCanvas() {\n const hasLine = this.textDecoration().indexOf('underline') !== -1 ||\n this.textDecoration().indexOf('line-through') !== -1;\n const hasShadow = this.hasShadow();\n if (hasLine && hasShadow) {\n return true;\n }\n return super._useBufferCanvas();\n }\n}\nexports.Text = Text;\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n(0, Global_2._registerNode)(Text);\nFactory_1.Factory.overWriteSetter(Text, 'width', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.overWriteSetter(Text, 'height', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'direction', INHERIT);\nFactory_1.Factory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(Text, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'align', LEFT);\nFactory_1.Factory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory_1.Factory.addGetterSetter(Text, 'lineHeight', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'wrap', WORD);\nFactory_1.Factory.addGetterSetter(Text, 'ellipsis', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'textDecoration', '');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextPath = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Path_1 = require(\"./Path\");\nconst Text_1 = require(\"./Text\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nclass TextPath extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util_1.Util.createCanvasElement();\n this.dataArray = [];\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _getTextPathLength() {\n return Path_1.Path.getPathLength(this.dataArray);\n }\n _getPointAtLength(length) {\n if (!this.attrs.data) {\n return null;\n }\n const totalLength = this.pathLength;\n if (length - 1 > totalLength) {\n return null;\n }\n return Path_1.Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n _readDataAttribute() {\n this.dataArray = Path_1.Path.parsePathData(this.attrs.data);\n this.pathLength = this._getTextPathLength();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n const textDecoration = this.textDecoration();\n const fill = this.fill();\n const fontSize = this.fontSize();\n const glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (let i = 0; i < glyphInfo.length; i++) {\n context.save();\n const p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n const glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n const p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (let i = 0; i < glyphInfo.length; i++) {\n const p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text_1.Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text_1.Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n const dummyCanvas = this.dummyCanvas;\n const _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n const metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(`${this.fontSize()}`, 10),\n };\n }\n _setTextData() {\n const { width, height } = this._getTextSize(this.attrs.text);\n this.textWidth = width;\n this.textHeight = height;\n this.glyphInfo = [];\n if (!this.attrs.data) {\n return null;\n }\n const letterSpacing = this.letterSpacing();\n const align = this.align();\n const kerningFunc = this.kerningFunc();\n const textWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n let offset = 0;\n if (align === 'center') {\n offset = Math.max(0, this.pathLength / 2 - textWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, this.pathLength - textWidth);\n }\n const charArr = (0, Text_1.stringToArray)(this.text());\n let offsetToGlyph = offset;\n for (let i = 0; i < charArr.length; i++) {\n const charStartPoint = this._getPointAtLength(offsetToGlyph);\n if (!charStartPoint)\n return;\n let glyphWidth = this._getTextSize(charArr[i]).width + letterSpacing;\n if (charArr[i] === ' ' && align === 'justify') {\n const numberOfSpaces = this.text().split(' ').length - 1;\n glyphWidth += (this.pathLength - textWidth) / numberOfSpaces;\n }\n const charEndPoint = this._getPointAtLength(offsetToGlyph + glyphWidth);\n if (!charEndPoint)\n return;\n const width = Path_1.Path.getLineLength(charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n let kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n charStartPoint.x += kern;\n charEndPoint.x += kern;\n this.textWidth += kern;\n const midpoint = Path_1.Path.getPointOnLine(kern + width / 2.0, charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n const rotation = Math.atan2(charEndPoint.y - charStartPoint.y, charEndPoint.x - charStartPoint.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: charStartPoint,\n p1: charEndPoint,\n });\n offsetToGlyph += glyphWidth;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n const points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n let minX = points[0] || 0;\n let maxX = points[0] || 0;\n let minY = points[1] || 0;\n let maxY = points[1] || 0;\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n const fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nexports.TextPath = TextPath;\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n(0, Global_1._registerNode)(TextPath);\nFactory_1.Factory.addGetterSetter(TextPath, 'data');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'align', 'left');\nFactory_1.Factory.addGetterSetter(TextPath, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory_1.Factory.addGetterSetter(TextPath, 'textDecoration', '');\nFactory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', undefined);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transformer = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Shape_1 = require(\"../Shape\");\nconst Rect_1 = require(\"./Rect\");\nconst Group_1 = require(\"../Group\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nconst EVENTS_NAME = 'tr-konva';\nconst ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n 'anchorStyleFuncChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nconst NODES_RECT = 'nodesRect';\nconst TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nconst ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Global_1.Konva._global;\nfunction getCursor(anchorName, rad, rotateCursor) {\n if (anchorName === 'rotater') {\n return rotateCursor;\n }\n rad += Util_1.Util.degToRad(ANGLES[anchorName] || 0);\n const angle = ((Util_1.Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util_1.Util._inRange(angle, 315 + 22.5, 360) || Util_1.Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util_1.Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util_1.Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nconst ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nconst MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return {\n ...shape,\n rotation: shape.rotation + angleRad,\n x,\n y,\n };\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Global_1.Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nlet activeTransformersCount = 0;\nclass Transformer extends Group_1.Group {\n constructor(config) {\n super(config);\n this._movingAnchorName = null;\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util_1.Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util_1.Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n const elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n const rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n const absScale = node.getAbsoluteScale(relative);\n const absPos = node.getAbsolutePosition(relative);\n const dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n const dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Global_1.Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Global_1.Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n const node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n const trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n const transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Util_1.Transform();\n tr.rotate(-Global_1.Konva.getAngle(this.rotation()));\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n totalPoints.forEach(function (point) {\n const transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach((name) => {\n this._createAnchor(name);\n });\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n const anchor = new Rect_1.Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n const self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n const rad = Global_1.Konva.getAngle(this.rotation());\n const rotateCursor = this.rotateAnchorCursor();\n const cursor = getCursor(name, rad, rotateCursor);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n const back = new Shape_1.Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx, shape) {\n const tr = shape.getParent();\n const padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.moveTo(shape.width() / 2, -padding);\n if (tr.rotateEnabled() && tr.rotateLineVisible()) {\n ctx.lineTo(shape.width() / 2, -tr.rotateAnchorOffset() * Util_1.Util._sign(shape.height()) - padding);\n }\n ctx.fillStrokeShape(shape);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n const padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n if (this._transforming) {\n return;\n }\n this._movingAnchorName = e.target.name().split(' ')[0];\n const attrs = this._getNodeRect();\n const width = attrs.width;\n const height = attrs.height;\n const hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n const ap = e.target.getAbsolutePosition();\n const pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n activeTransformersCount++;\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n let x, y, newHypotenuse;\n const anchorNode = this.findOne('.' + this._movingAnchorName);\n const stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n const attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n const oldRotation = Global_1.Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Global_1.Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n const shiftBehavior = this.shiftBehavior();\n let keepProportion;\n if (shiftBehavior === 'inverted') {\n keepProportion = this.keepRatio() && !e.shiftKey;\n }\n else if (shiftBehavior === 'none') {\n keepProportion = this.keepRatio();\n }\n else {\n keepProportion = this.keepRatio() || e.shiftKey;\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n const topLeft = this.findOne('.top-left');\n const bottomRight = this.findOne('.bottom-right');\n const topOffsetX = topLeft.x();\n const topOffsetY = topLeft.y();\n const bottomOffsetX = this.getWidth() - bottomRight.x();\n const bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n const absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n const width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n const height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n var _a;\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n const node = this.getNode();\n activeTransformersCount--;\n this._fire('transformend', { evt: e, target: node });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n if (node) {\n this._nodes.forEach((target) => {\n var _a;\n target._fire('transformend', { evt: e, target });\n (_a = target.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n const oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util_1.Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util_1.Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n const t = new Util_1.Transform();\n t.rotate(Global_1.Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util_1.Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Util_1.Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Util_1.Transform();\n const newScaleX = newAttrs.width / baseSize;\n const newScaleY = newAttrs.height / baseSize;\n if (this.flipEnabled() === false) {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.translate(newAttrs.width < 0 ? newAttrs.width : 0, newAttrs.height < 0 ? newAttrs.height : 0);\n newTr.scale(Math.abs(newScaleX), Math.abs(newScaleY));\n }\n else {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newScaleX, newScaleY);\n }\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Util_1.Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util_1.Util._getRotation(newAttrs.rotation));\n this._nodes.forEach((node) => {\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n });\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n const attrs = this._getNodeRect();\n this.rotation(Util_1.Util._getRotation(attrs.rotation));\n const width = attrs.width;\n const height = attrs.height;\n const enabledAnchors = this.enabledAnchors();\n const resizeEnabled = this.resizeEnabled();\n const padding = this.padding();\n const anchorSize = this.anchorSize();\n const anchors = this.find('._anchor');\n anchors.forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util_1.Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n const styleFunc = this.anchorStyleFunc();\n if (styleFunc) {\n anchors.forEach((node) => {\n styleFunc(node);\n });\n }\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n const anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group_1.Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node_1.Node.prototype.toObject.call(this);\n }\n clone(obj) {\n const node = Node_1.Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nexports.Transformer = Transformer;\nTransformer.isTransforming = () => {\n return activeTransformersCount > 0;\n};\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util_1.Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util_1.Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n(0, Global_2._registerNode)(Transformer);\nFactory_1.Factory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory_1.Factory.addGetterSetter(Transformer, 'flipEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorSize', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateLineVisible', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorCursor', 'crosshair');\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderDash');\nFactory_1.Factory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'shiftBehavior', 'default');\nFactory_1.Factory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'nodes');\nFactory_1.Factory.addGetterSetter(Transformer, 'node');\nFactory_1.Factory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStyleFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory_1.Factory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Wedge = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Wedge extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Global_1.Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.Wedge = Wedge;\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n(0, Global_2._registerNode)(Wedge);\nFactory_1.Factory.addGetterSetter(Wedge, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'clockwise', false);\nFactory_1.Factory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blur = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nconst mul_table = [\n 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292,\n 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292,\n 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259,\n 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292,\n 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373,\n 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259,\n 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381,\n 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292,\n 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461,\n 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373,\n 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309,\n 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259,\n 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442,\n 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381,\n 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332,\n 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\n 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259,\n];\nconst shg_table = [\n 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17,\n 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,\n 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n const pixels = imageData.data, width = imageData.width, height = imageData.height;\n let x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n const div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n let stackEnd = null, stack = stackStart, stackIn = null, stackOut = null;\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum =\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_sum =\n g_sum =\n b_sum =\n a_sum =\n 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_in_sum =\n g_sum =\n b_sum =\n a_sum =\n r_sum =\n 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nconst Blur = function Blur(imageData) {\n const radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nexports.Blur = Blur;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blurRadius', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Brighten = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Brighten = function (imageData) {\n const brightness = this.brightness() * 255, data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nexports.Brighten = Brighten;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'brightness', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Contrast = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Contrast = function (imageData) {\n const adjust = Math.pow((this.contrast() + 100) / 100, 2);\n const data = imageData.data, nPixels = data.length;\n let red = 150, green = 150, blue = 150;\n for (let i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nexports.Contrast = Contrast;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'contrast', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emboss = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst Emboss = function (imageData) {\n const strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4;\n let dirY = 0, dirX = 0, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util_1.Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n const offsetY = (y - 1) * w4;\n let otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n const offsetYOther = (y - 1 + otherY) * w * 4;\n let x = w;\n do {\n const offset = offsetY + (x - 1) * 4;\n let otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n const offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n const dR = data[offset] - data[offsetOther];\n const dG = data[offset + 1] - data[offsetOther + 1];\n const dB = data[offset + 2] - data[offsetOther + 2];\n let dif = dR;\n const absDif = dif > 0 ? dif : -dif;\n const absG = dG > 0 ? dG : -dG;\n const absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n const r = data[offset] + dif;\n const g = data[offset + 1] + dif;\n const b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n let grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nexports.Emboss = Emboss;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossStrength', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossWhiteLevel', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossDirection', 'top-left', undefined, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossBlend', false, undefined, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Enhance = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n const fromRange = fromMax - fromMin, toRange = toMax - toMin;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n let toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nconst Enhance = function (imageData) {\n const data = imageData.data, nSubPixels = data.length;\n let rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b;\n const enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (let i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n let rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (let i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nexports.Enhance = Enhance;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'enhance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grayscale = void 0;\nconst Grayscale = function (imageData) {\n const data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\nexports.Grayscale = Grayscale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSL = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'luminance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nconst HSL = function (imageData) {\n const data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127;\n const vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n const rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n const gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n const br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n let r, g, b, a;\n for (let i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\nexports.HSL = HSL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSV = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst HSV = function (imageData) {\n const data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360;\n const vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n const rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n const gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n const br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n let r, g, b, a;\n for (let i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nexports.HSV = HSV;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'value', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Invert = void 0;\nconst Invert = function (imageData) {\n const data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\nexports.Invert = Invert;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kaleidoscope = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst ToPolar = function (src, dst, opt) {\n const srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2;\n let rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n let x = xSize - xMid;\n let y = ySize - yMid;\n const rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n const rSize = ySize, tSize = xSize;\n const conversion = ((360 / tSize) * Math.PI) / 180;\n for (let theta = 0; theta < tSize; theta += 1) {\n const sin = Math.sin(theta * conversion);\n const cos = Math.cos(theta * conversion);\n for (let radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n let i = (y * xSize + x) * 4;\n const r = srcPixels[i + 0];\n const g = srcPixels[i + 1];\n const b = srcPixels[i + 2];\n const a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst FromPolar = function (src, dst, opt) {\n const srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2;\n let rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n let x = xSize - xMid;\n let y = ySize - yMid;\n const rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n const rSize = ySize, tSize = xSize, phaseShift = opt.polarRotation || 0;\n let x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n const dx = x - xMid;\n const dy = y - yMid;\n const radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n let theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n let i = (y1 * xSize + x1) * 4;\n const r = srcPixels[i + 0];\n const g = srcPixels[i + 1];\n const b = srcPixels[i + 2];\n const a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst Kaleidoscope = function (imageData) {\n const xSize = imageData.width, ySize = imageData.height;\n let x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n let power = Math.round(this.kaleidoscopePower());\n const angle = Math.round(this.kaleidoscopeAngle());\n const offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n const tempCanvas = Util_1.Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n const scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util_1.Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n let minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n let sectionSize = minSectionSize;\n let xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nexports.Kaleidoscope = Kaleidoscope;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopePower', 2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopeAngle', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mask = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction pixelAt(idata, x, y) {\n let idx = (y * idata.width + x) * 4;\n const d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n const m = [0, 0, 0];\n for (let i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n const rgbv_no = pixelAt(idata, 0, 0);\n const rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n const rgbv_so = pixelAt(idata, 0, idata.height - 1);\n const rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n const thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n const mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n const mask = [];\n for (let i = 0; i < idata.width * idata.height; i++) {\n const d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (let i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n const weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n const weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n const weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nconst Mask = function (imageData) {\n const threshold = this.threshold();\n let mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nexports.Mask = Mask;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Noise = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Noise = function (imageData) {\n const amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2;\n for (let i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nexports.Noise = Noise;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'noise', 0.2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pixelate = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Util_1 = require(\"../Util\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Pixelate = function (imageData) {\n let pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util_1.Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nexports.Pixelate = Pixelate;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'pixelSize', 8, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Posterize = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Posterize = function (imageData) {\n const levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels;\n for (let i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nexports.Posterize = Posterize;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'levels', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGB = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGB = function (imageData) {\n const data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue();\n for (let i = 0; i < nPixels; i += 4) {\n const brightness = (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nexports.RGB = RGB;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBA = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGBA = function (imageData) {\n const data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha();\n for (let i = 0; i < nPixels; i += 4) {\n const ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nexports.RGBA = RGBA;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sepia = void 0;\nconst Sepia = function (imageData) {\n const data = imageData.data, nPixels = data.length;\n for (let i = 0; i < nPixels; i += 4) {\n const r = data[i + 0];\n const g = data[i + 1];\n const b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\nexports.Sepia = Sepia;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Solarize = void 0;\nconst Solarize = function (imageData) {\n const data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4;\n let y = h;\n do {\n const offsetY = (y - 1) * w4;\n let x = w;\n do {\n const offset = offsetY + (x - 1) * 4;\n let r = data[offset];\n let g = data[offset + 1];\n let b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\nexports.Solarize = Solarize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Threshold = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Threshold = function (imageData) {\n const level = this.threshold() * 255, data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nexports.Threshold = Threshold;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst _CoreInternals_1 = require(\"./_CoreInternals\");\nconst Arc_1 = require(\"./shapes/Arc\");\nconst Arrow_1 = require(\"./shapes/Arrow\");\nconst Circle_1 = require(\"./shapes/Circle\");\nconst Ellipse_1 = require(\"./shapes/Ellipse\");\nconst Image_1 = require(\"./shapes/Image\");\nconst Label_1 = require(\"./shapes/Label\");\nconst Line_1 = require(\"./shapes/Line\");\nconst Path_1 = require(\"./shapes/Path\");\nconst Rect_1 = require(\"./shapes/Rect\");\nconst RegularPolygon_1 = require(\"./shapes/RegularPolygon\");\nconst Ring_1 = require(\"./shapes/Ring\");\nconst Sprite_1 = require(\"./shapes/Sprite\");\nconst Star_1 = require(\"./shapes/Star\");\nconst Text_1 = require(\"./shapes/Text\");\nconst TextPath_1 = require(\"./shapes/TextPath\");\nconst Transformer_1 = require(\"./shapes/Transformer\");\nconst Wedge_1 = require(\"./shapes/Wedge\");\nconst Blur_1 = require(\"./filters/Blur\");\nconst Brighten_1 = require(\"./filters/Brighten\");\nconst Contrast_1 = require(\"./filters/Contrast\");\nconst Emboss_1 = require(\"./filters/Emboss\");\nconst Enhance_1 = require(\"./filters/Enhance\");\nconst Grayscale_1 = require(\"./filters/Grayscale\");\nconst HSL_1 = require(\"./filters/HSL\");\nconst HSV_1 = require(\"./filters/HSV\");\nconst Invert_1 = require(\"./filters/Invert\");\nconst Kaleidoscope_1 = require(\"./filters/Kaleidoscope\");\nconst Mask_1 = require(\"./filters/Mask\");\nconst Noise_1 = require(\"./filters/Noise\");\nconst Pixelate_1 = require(\"./filters/Pixelate\");\nconst Posterize_1 = require(\"./filters/Posterize\");\nconst RGB_1 = require(\"./filters/RGB\");\nconst RGBA_1 = require(\"./filters/RGBA\");\nconst Sepia_1 = require(\"./filters/Sepia\");\nconst Solarize_1 = require(\"./filters/Solarize\");\nconst Threshold_1 = require(\"./filters/Threshold\");\nexports.Konva = _CoreInternals_1.Konva.Util._assign(_CoreInternals_1.Konva, {\n Arc: Arc_1.Arc,\n Arrow: Arrow_1.Arrow,\n Circle: Circle_1.Circle,\n Ellipse: Ellipse_1.Ellipse,\n Image: Image_1.Image,\n Label: Label_1.Label,\n Tag: Label_1.Tag,\n Line: Line_1.Line,\n Path: Path_1.Path,\n Rect: Rect_1.Rect,\n RegularPolygon: RegularPolygon_1.RegularPolygon,\n Ring: Ring_1.Ring,\n Sprite: Sprite_1.Sprite,\n Star: Star_1.Star,\n Text: Text_1.Text,\n TextPath: TextPath_1.TextPath,\n Transformer: Transformer_1.Transformer,\n Wedge: Wedge_1.Wedge,\n Filters: {\n Blur: Blur_1.Blur,\n Brighten: Brighten_1.Brighten,\n Contrast: Contrast_1.Contrast,\n Emboss: Emboss_1.Emboss,\n Enhance: Enhance_1.Enhance,\n Grayscale: Grayscale_1.Grayscale,\n HSL: HSL_1.HSL,\n HSV: HSV_1.HSV,\n Invert: Invert_1.Invert,\n Kaleidoscope: Kaleidoscope_1.Kaleidoscope,\n Mask: Mask_1.Mask,\n Noise: Noise_1.Noise,\n Pixelate: Pixelate_1.Pixelate,\n Posterize: Posterize_1.Posterize,\n RGB: RGB_1.RGB,\n RGBA: RGBA_1.RGBA,\n Sepia: Sepia_1.Sepia,\n Solarize: Solarize_1.Solarize,\n Threshold: Threshold_1.Threshold,\n },\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _FullInternals_1 = require(\"./_FullInternals\");\nmodule.exports = _FullInternals_1.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nvar _CoreInternals_1 = require(\"./_CoreInternals\");\nObject.defineProperty(exports, \"Konva\", { enumerable: true, get: function () { return _CoreInternals_1.Konva; } });\nconst _CoreInternals_2 = require(\"./_CoreInternals\");\nmodule.exports = _CoreInternals_2.Konva;\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0), requestHostCallback();\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return exports.unstable_now() - startTime < frameInterval ? !1 : !0;\n}\nfunction performWorkUntilDeadline() {\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostCallback() {\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n}\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_continueExecution = function () {\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0), requestHostCallback());\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_getFirstCallbackNode = function () {\n return peek(taskQueue);\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_pauseExecution = function () {};\nexports.unstable_requestPaint = function () {};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0), requestHostCallback()));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-reconciler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nmodule.exports = function ($$$config) {\n function createFiber(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n }\n function noop() {}\n function formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]\n ) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n }\n function describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return (fiber = describeNativeComponentFrame(fiber.type, !1)), fiber;\n case 11:\n return (\n (fiber = describeNativeComponentFrame(fiber.type.render, !1)), fiber\n );\n case 1:\n return (fiber = describeNativeComponentFrame(fiber.type, !0)), fiber;\n default:\n return \"\";\n }\n }\n function getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n }\n function getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n }\n function assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n }\n function findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$2 = parentA.child; child$2; ) {\n if (child$2 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$2 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$2 = child$2.sibling;\n }\n if (!didFindChild) {\n for (child$2 = parentB.child; child$2; ) {\n if (child$2 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$2 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$2 = child$2.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n }\n function findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n }\n function findCurrentHostFiberWithNoPortalsImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n if (\n 4 !== node.tag &&\n ((tag = findCurrentHostFiberWithNoPortalsImpl(node)), null !== tag)\n )\n return tag;\n node = node.sibling;\n }\n return null;\n }\n function createCursor(defaultValue) {\n return { current: defaultValue };\n }\n function pop(cursor) {\n 0 > index$jscomp$0 ||\n ((cursor.current = valueStack[index$jscomp$0]),\n (valueStack[index$jscomp$0] = null),\n index$jscomp$0--);\n }\n function push(cursor, value) {\n index$jscomp$0++;\n valueStack[index$jscomp$0] = cursor.current;\n cursor.current = value;\n }\n function clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log$1(x) / LN2) | 0)) | 0;\n }\n function getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194176;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n }\n function getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n warmLanes = root.warmLanes;\n root = 0 !== root.finishedLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = nonIdlePendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = pendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (warmLanes = wipLanes & -wipLanes),\n suspendedLanes >= warmLanes ||\n (32 === suspendedLanes && 0 !== (warmLanes & 4194176)))\n ? wipLanes\n : nextLanes;\n }\n function checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n }\n function computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n return currentTime + 250;\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n }\n function claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128);\n return lane;\n }\n function claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n }\n function createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n }\n function markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n }\n function markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n }\n function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194218);\n }\n function markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n }\n function lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n }\n function onCommitRoot(root) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n root,\n void 0,\n 128 === (root.current.flags & 128)\n );\n } catch (err) {}\n }\n function setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n }\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n }\n function pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n }\n function pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n }\n function pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n }\n function popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n }\n function pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n fiber = getRootHostContext(nextRootInstance);\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n }\n function popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n }\n function pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current,\n nextContext = getChildHostContext(context, fiber.type);\n context !== nextContext &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, nextContext));\n }\n function popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n isPrimaryRenderer\n ? (HostTransitionContext._currentValue = NotPendingTransition)\n : (HostTransitionContext._currentValue2 = NotPendingTransition));\n }\n function throwOnHydrationMismatch(fiber) {\n var error = Error(formatProdErrorMessage(418, \"\"));\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n }\n function prepareToHydrateHostInstance(fiber, hostContext) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(175));\n hydrateInstance(\n fiber.stateNode,\n fiber.type,\n fiber.memoizedProps,\n hostContext,\n fiber\n ) || throwOnHydrationMismatch(fiber);\n }\n function popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 3:\n case 27:\n rootOrSingletonContext = !0;\n return;\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n }\n function popHydrationState(fiber) {\n if (!supportsHydration || fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var shouldClear = !1;\n supportsSingletons\n ? 3 !== fiber.tag &&\n 27 !== fiber.tag &&\n (5 !== fiber.tag ||\n (shouldDeleteUnhydratedTailInstances(fiber.type) &&\n !shouldSetTextContent(fiber.type, fiber.memoizedProps))) &&\n (shouldClear = !0)\n : 3 !== fiber.tag &&\n (5 !== fiber.tag ||\n (shouldDeleteUnhydratedTailInstances(fiber.type) &&\n !shouldSetTextContent(fiber.type, fiber.memoizedProps))) &&\n (shouldClear = !0);\n shouldClear && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === fiber.tag) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(316));\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterSuspenseInstance(fiber);\n } else\n nextHydratableInstance = hydrationParentFiber\n ? getNextHydratableSibling(fiber.stateNode)\n : null;\n return !0;\n }\n function resetHydrationState() {\n supportsHydration &&\n ((nextHydratableInstance = hydrationParentFiber = null),\n (isHydrating = !1));\n }\n function queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n }\n function finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n }\n function enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n }\n function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber ||\n sourceFiber._visibility & 1 ||\n (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n isHidden &&\n null !== update &&\n 3 === sourceFiber.tag &&\n ((parent = sourceFiber.stateNode),\n (isHidden = 31 - clz32(lane)),\n (parent = parent.hiddenUpdates),\n (sourceFiber = parent[isHidden]),\n null === sourceFiber\n ? (parent[isHidden] = [update])\n : sourceFiber.push(update),\n (update.lane = lane | 536870912));\n }\n function getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n }\n function ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0),\n scheduleImmediateTask(processRootScheduleInMicrotask));\n }\n function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root = firstScheduledRoot; null !== root; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326677\n ? (JSCompiler_inline_result & 201326677) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root,\n root === workInProgressRoot ? JSCompiler_inline_result : 0\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n root = root.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n }\n function processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n (shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane),\n (currentEventTransitionLane = 0));\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n }\n function scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n }\n function performWorkOnRootViaSchedulerTask(root, didTimeout) {\n var originalCallbackNode = root.callbackNode;\n if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode &&\n root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n }\n function performSyncWorkOnRoot(root, lanes) {\n if (flushPassiveEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n }\n function scheduleImmediateTask(cb) {\n supportsMicrotasks\n ? scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(ImmediatePriority, cb)\n : cb();\n })\n : scheduleCallback$3(ImmediatePriority, cb);\n }\n function requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n }\n function entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n }\n function pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n }\n function chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n }\n function initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n }\n function cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n }\n function createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n }\n function enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194176))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n }\n function suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n }\n function processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n ) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(\n instance,\n newState,\n updateLane\n );\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n }\n function callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n }\n function commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n }\n function shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n }\n function isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n }\n function noop$1() {}\n function trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable &&\n (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n thenableState = thenable.reason;\n if (thenableState === SuspenseException)\n throw Error(formatProdErrorMessage(483));\n throw thenableState;\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n thenableState = thenable.reason;\n if (thenableState === SuspenseException)\n throw Error(formatProdErrorMessage(483));\n throw thenableState;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n }\n function coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n }\n function throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n }\n function resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n }\n function createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]),\n (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 33554434), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 33554434;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 33554434);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(\n step,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n step.value,\n lanes\n )),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.children || []\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key)\n throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException) throw x;\n var fiber = createFiber(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n }\n function pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n }\n function reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n }\n function popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n }\n function pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n }\n function pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n }\n function reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n }\n function popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n }\n function findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n }\n function throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n }\n function areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n }\n function renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n ) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n }\n function finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks =\n null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n }\n function renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber$1 = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n }\n function TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber$1.flags |= 1024);\n return maybeThenable;\n }\n function checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n }\n function bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n }\n function resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n }\n function mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n }\n function updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber$1.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber$1.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber$1.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n }\n function useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber$1;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n }\n function use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n }\n function useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber$1.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber$1.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size),\n current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n }\n function basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n }\n function updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n }\n function updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$48 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$48 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$48 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber$1.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber$1.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$48 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n }\n function rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n }\n function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n { destroy: void 0 },\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n }\n function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber$1.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n }\n function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n }\n function subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n }\n function mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n }\n function updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n }\n function dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n ) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n }\n function runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$52) {\n onActionError(actionQueue, node, error$52);\n }\n }\n function handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n }\n function onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n }\n function onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n }\n function notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n }\n function actionStateReducer(oldState, newState) {\n return newState;\n }\n function mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber$1;\n if (isHydrating) {\n if (nextHydratableInstance) {\n var markerInstance = canHydrateFormStateMarker(\n nextHydratableInstance,\n rootOrSingletonContext\n );\n if (markerInstance) {\n nextHydratableInstance =\n getNextHydratableSibling(markerInstance);\n JSCompiler_inline_result =\n isFormStateMarkerMatching(markerInstance);\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n var setPendingState = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n markerInstance = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = markerInstance;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber$1,\n markerInstance,\n setPendingState,\n ssrFormState\n );\n markerInstance.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n }\n function updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n }\n function updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n currentStateHook =\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n ? useThenable(currentStateHook)\n : currentStateHook;\n var actionQueueHook = updateWorkInProgressHook(),\n actionQueue = actionQueueHook.queue,\n dispatch = actionQueue.dispatch;\n action !== actionQueueHook.memoizedState &&\n ((currentlyRenderingFiber$1.flags |= 2048),\n pushEffect(\n 9,\n actionStateActionEffect.bind(null, actionQueue, action),\n { destroy: void 0 },\n null\n ));\n return [currentStateHook, dispatch, stateHook];\n }\n function actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n }\n function rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n }\n function pushEffect(tag, create, inst, deps) {\n tag = { tag: tag, create: create, inst: inst, deps: deps, next: null };\n create = currentlyRenderingFiber$1.updateQueue;\n null === create &&\n ((create = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = create));\n inst = create.lastEffect;\n null === inst\n ? (create.lastEffect = tag.next = tag)\n : ((deps = inst.next),\n (inst.next = tag),\n (tag.next = deps),\n (create.lastEffect = tag));\n return tag;\n }\n function updateRef() {\n return updateWorkInProgressHook().memoizedState;\n }\n function mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(\n 1 | hookFlags,\n create,\n { destroy: void 0 },\n void 0 === deps ? null : deps\n );\n }\n function updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushEffect(hookFlags, create, inst, deps))\n : ((currentlyRenderingFiber$1.flags |= fiberFlags),\n (hook.memoizedState = pushEffect(1 | hookFlags, create, inst, deps)));\n }\n function mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n }\n function updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n }\n function updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n }\n function updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n }\n function imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n }\n function updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(\n 4,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n }\n function mountDebugValue() {}\n function updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n }\n function updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n }\n function mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n }\n function updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n }\n function startTransition(\n fiber,\n queue,\n pendingState,\n finishedState,\n callback\n ) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8\n );\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: NotPendingTransition,\n baseState: NotPendingTransition,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: NotPendingTransition\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n }\n function useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n }\n function updateId() {\n return updateWorkInProgressHook().memoizedState;\n }\n function updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n }\n function refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root = enqueueUpdate(provider, fiber, lane);\n null !== root &&\n (scheduleUpdateOnFiber(root, provider, lane),\n entangleTransitions(root, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n }\n function dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n }\n function dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n }\n function dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n }\n function dispatchOptimisticSetState(\n fiber,\n throwIfDuringRender,\n queue,\n action\n ) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n }\n function isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber$1 ||\n (null !== alternate && alternate === currentlyRenderingFiber$1)\n );\n }\n function enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n function entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194176)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n ) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n }\n function checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n ) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n }\n function callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n ) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n function resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$54 in Component)\n void 0 === newProps[propName$54] &&\n (newProps[propName$54] = Component[propName$54]);\n }\n return newProps;\n }\n function logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n }\n function logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n }\n function createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n }\n function createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n }\n function initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n }\n function throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n ) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(\n createCapturedValueAtFiber(root, sourceFiber)\n )))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(\n wrapperError\n )))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n }\n function reconcileChildren(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n }\n function updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n function updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n }\n function updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n nextIsDetached = 0 !== (workInProgress.stateNode._pendingVisibility & 2),\n prevState = null !== current ? current.memoizedState : null;\n markRef(current, workInProgress);\n if (\"hidden\" === nextProps.mode || nextIsDetached) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (nextIsDetached = 0; null !== nextChildren; )\n (nextIsDetached =\n nextIsDetached | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = nextIsDetached & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState\n ? prevState.baseLanes | renderLanes\n : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n ) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : {\n parent: isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2,\n pool: JSCompiler_inline_result\n };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n }\n function markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 2097664);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 2097664;\n }\n }\n function updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n }\n function replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state\n ? context.state\n : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(\n context,\n context.state,\n null\n ),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n }\n function mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n }\n function getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n ) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n }\n function updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var nextInstance = nextHydratableInstance,\n JSCompiler_temp$jscomp$0;\n if ((JSCompiler_temp$jscomp$0 = nextInstance))\n (nextInstance = canHydrateSuspenseInstance(\n nextInstance,\n rootOrSingletonContext\n )),\n null !== nextInstance\n ? ((workInProgress.memoizedState = {\n dehydrated: nextInstance,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912\n }),\n (JSCompiler_temp$jscomp$0 = createFiber(18, null, null, 0)),\n (JSCompiler_temp$jscomp$0.stateNode = nextInstance),\n (JSCompiler_temp$jscomp$0.return = workInProgress),\n (workInProgress.child = JSCompiler_temp$jscomp$0),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp$jscomp$0 = !0))\n : (JSCompiler_temp$jscomp$0 = !1);\n JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);\n }\n nextInstance = workInProgress.memoizedState;\n if (\n null !== nextInstance &&\n ((nextInstance = nextInstance.dehydrated), null !== nextInstance)\n )\n return (\n isSuspenseInstanceFallback(nextInstance)\n ? (workInProgress.lanes = 16)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n nextInstance = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextInstance = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextInstance },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextInstance.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextInstance.sibling = nextProps),\n (workInProgress.child = nextInstance),\n (showFallback = workInProgress.child),\n (showFallback.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextInstance);\n }\n JSCompiler_temp$jscomp$0 = current.memoizedState;\n if (\n null !== JSCompiler_temp$jscomp$0 &&\n ((nextInstance = JSCompiler_temp$jscomp$0.dehydrated),\n null !== nextInstance)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n nextInstance\n )),\n (showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2),\n (nextProps.return = workInProgress),\n (showFallback.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = showFallback));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextInstance))\n )\n (JSCompiler_temp =\n getSuspenseInstanceFallbackErrorDetails(nextInstance).digest),\n (nextProps = Error(formatProdErrorMessage(419))),\n (nextProps.stack = \"\"),\n (nextProps.digest = JSCompiler_temp),\n queueHydrationError({ value: nextProps, source: null, stack: null }),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (null !== JSCompiler_temp) {\n nextProps = renderLanes & -renderLanes;\n if (0 !== (nextProps & 42)) nextProps = 1;\n else\n switch (nextProps) {\n case 2:\n nextProps = 1;\n break;\n case 8:\n nextProps = 4;\n break;\n case 32:\n nextProps = 16;\n break;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n nextProps = 64;\n break;\n case 268435456:\n nextProps = 134217728;\n break;\n default:\n nextProps = 0;\n }\n nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps;\n if (\n 0 !== nextProps &&\n nextProps !== JSCompiler_temp$jscomp$0.retryLane\n )\n throw (\n ((JSCompiler_temp$jscomp$0.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n }\n isSuspenseInstancePending(nextInstance) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextInstance)\n ? ((workInProgress.flags |= 128),\n (workInProgress.child = current.child),\n (workInProgress = retryDehydratedSuspenseBoundary.bind(\n null,\n current\n )),\n registerSuspenseInstanceRetry(nextInstance, workInProgress),\n (workInProgress = null))\n : ((current = JSCompiler_temp$jscomp$0.treeContext),\n supportsHydration &&\n ((nextHydratableInstance =\n getFirstHydratableChildWithinSuspenseInstance(nextInstance)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n ((idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress))),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (JSCompiler_temp$jscomp$0 = current.child),\n (didSuspend = JSCompiler_temp$jscomp$0.sibling),\n (nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags =\n JSCompiler_temp$jscomp$0.subtreeFlags & 31457280),\n null !== didSuspend\n ? (showFallback = createWorkInProgress(didSuspend, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n (nextProps = showFallback),\n (showFallback = workInProgress.child),\n (nextInstance = current.child.memoizedState),\n null === nextInstance\n ? (nextInstance = mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp$jscomp$0 = nextInstance.cachePool),\n null !== JSCompiler_temp$jscomp$0\n ? ((didSuspend = isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2),\n (JSCompiler_temp$jscomp$0 =\n JSCompiler_temp$jscomp$0.parent !== didSuspend\n ? { parent: didSuspend, pool: didSuspend }\n : JSCompiler_temp$jscomp$0))\n : (JSCompiler_temp$jscomp$0 = getSuspendedCache()),\n (nextInstance = {\n baseLanes: nextInstance.baseLanes | renderLanes,\n cachePool: JSCompiler_temp$jscomp$0\n })),\n (showFallback.memoizedState = nextInstance),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n }\n function mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n }\n function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n return createFiberFromOffscreen(offscreenProps, mode, 0, null);\n }\n function retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n }\n function scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n }\n function initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n ) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n }\n function updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n }\n function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n }\n function checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n }\n function attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n ) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(\n current,\n workInProgress,\n renderLanes\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n function beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n current = workInProgress.pendingProps;\n var lazyComponent = workInProgress.elementType,\n init = lazyComponent._init;\n lazyComponent = init(lazyComponent._payload);\n workInProgress.type = lazyComponent;\n if (\"function\" === typeof lazyComponent)\n shouldConstruct(lazyComponent)\n ? ((current = resolveClassComponentProps(lazyComponent, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== lazyComponent && null !== lazyComponent)\n if (\n ((init = lazyComponent.$$typeof),\n init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress =\n getComponentNameFromType(lazyComponent) || lazyComponent;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (lazyComponent = workInProgress.type),\n (init = resolveClassComponentProps(\n lazyComponent,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n lazyComponent,\n init,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n var nextProps = workInProgress.pendingProps;\n init = workInProgress.memoizedState;\n lazyComponent = init.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n nextProps = nextState.cache;\n pushProvider(workInProgress, CacheContext, nextProps);\n nextProps !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n nextProps = nextState.element;\n if (supportsHydration && init.isDehydrated)\n if (\n ((init = {\n element: nextProps,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = init),\n (workInProgress.memoizedState = init),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n break a;\n } else if (nextProps !== lazyComponent) {\n lazyComponent = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError(lazyComponent);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n break a;\n } else\n for (\n supportsHydration &&\n ((nextHydratableInstance =\n getFirstHydratableChildWithinContainer(\n workInProgress.stateNode.containerInfo\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !0)),\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n nextProps,\n renderLanes\n ),\n workInProgress.child = renderLanes;\n renderLanes;\n\n )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n else {\n resetHydrationState();\n if (nextProps === lazyComponent) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n if (supportsResources)\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n (workInProgress.stateNode = createHoistableInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current,\n workInProgress\n ))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n if (supportsSingletons)\n return (\n pushHostContext(workInProgress),\n null === current &&\n supportsSingletons &&\n isHydrating &&\n ((lazyComponent = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n !1\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (nextHydratableInstance =\n getFirstHydratableChild(lazyComponent))),\n (lazyComponent = workInProgress.pendingProps.children),\n null !== current || isHydrating\n ? reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n )\n : (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n )),\n markRef(current, workInProgress),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n validateHydratableInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n contextStackCursor.current\n );\n if ((init = lazyComponent = nextHydratableInstance))\n (lazyComponent = canHydrateInstance(\n lazyComponent,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== lazyComponent\n ? ((workInProgress.stateNode = lazyComponent),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance =\n getFirstHydratableChild(lazyComponent)),\n (rootOrSingletonContext = !1),\n (init = !0))\n : (init = !1);\n init || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n init = workInProgress.type;\n nextProps = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n lazyComponent = nextProps.children;\n shouldSetTextContent(init, nextProps)\n ? (lazyComponent = null)\n : null !== nextState &&\n shouldSetTextContent(init, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n isPrimaryRenderer\n ? (HostTransitionContext._currentValue = init)\n : (HostTransitionContext._currentValue2 = init));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n validateHydratableTextInstance(\n workInProgress.pendingProps,\n contextStackCursor.current\n );\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (lazyComponent = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (lazyComponent = workInProgress.pendingProps),\n pushProvider(\n workInProgress,\n workInProgress.type,\n lazyComponent.value\n ),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (lazyComponent = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (lazyComponent = lazyComponent(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (lazyComponent = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (nextProps = createCache()),\n (init.pooledCache = nextProps),\n nextProps.refCount++,\n null !== nextProps && (init.pooledCacheLanes |= renderLanes),\n (init = nextProps)),\n (workInProgress.memoizedState = {\n parent: lazyComponent,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (nextProps = workInProgress.memoizedState),\n init.parent !== lazyComponent\n ? ((init = { parent: lazyComponent, cache: lazyComponent }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, lazyComponent))\n : ((lazyComponent = nextProps.cache),\n pushProvider(workInProgress, CacheContext, lazyComponent),\n lazyComponent !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n }\n function pushProvider(providerFiber, context, nextValue) {\n isPrimaryRenderer\n ? (push(valueCursor, context._currentValue),\n (context._currentValue = nextValue))\n : (push(valueCursor, context._currentValue2),\n (context._currentValue2 = nextValue));\n }\n function popProvider(context) {\n var currentValue = valueCursor.current;\n isPrimaryRenderer\n ? (context._currentValue = currentValue)\n : (context._currentValue2 = currentValue);\n pop(valueCursor);\n }\n function scheduleContextWorkOnParentPath(\n parent,\n renderLanes,\n propagationRoot\n ) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n }\n function propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n ) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n }\n function propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n ) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n }\n function checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n var context = currentDependencies.context;\n if (\n !objectIs(\n isPrimaryRenderer ? context._currentValue : context._currentValue2,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n }\n function prepareToReadContext(workInProgress) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n }\n function readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber, context);\n }\n function readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n }\n function readContextForConsumer(consumer, context) {\n var value = isPrimaryRenderer\n ? context._currentValue\n : context._currentValue2;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n }\n function createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n }\n function releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$1(NormalPriority, function () {\n cache.controller.abort();\n });\n }\n function peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n }\n function pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n }\n function getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : {\n parent: isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2,\n pool: cacheFromPool\n };\n }\n function markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n }\n function doesRequireClone(current, completedWork) {\n if (null !== current && current.child === completedWork.child) return !1;\n if (0 !== (completedWork.flags & 16)) return !0;\n for (current = completedWork.child; null !== current; ) {\n if (0 !== (current.flags & 13878) || 0 !== (current.subtreeFlags & 13878))\n return !0;\n current = current.sibling;\n }\n return !1;\n }\n function appendAllChildren(\n parent,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n ) {\n if (supportsMutation)\n for (\n needsVisibilityToggle = workInProgress.child;\n null !== needsVisibilityToggle;\n\n ) {\n if (5 === needsVisibilityToggle.tag || 6 === needsVisibilityToggle.tag)\n appendInitialChild(parent, needsVisibilityToggle.stateNode);\n else if (\n !(\n 4 === needsVisibilityToggle.tag ||\n (supportsSingletons && 27 === needsVisibilityToggle.tag)\n ) &&\n null !== needsVisibilityToggle.child\n ) {\n needsVisibilityToggle.child.return = needsVisibilityToggle;\n needsVisibilityToggle = needsVisibilityToggle.child;\n continue;\n }\n if (needsVisibilityToggle === workInProgress) break;\n for (; null === needsVisibilityToggle.sibling; ) {\n if (\n null === needsVisibilityToggle.return ||\n needsVisibilityToggle.return === workInProgress\n )\n return;\n needsVisibilityToggle = needsVisibilityToggle.return;\n }\n needsVisibilityToggle.sibling.return = needsVisibilityToggle.return;\n needsVisibilityToggle = needsVisibilityToggle.sibling;\n }\n else if (supportsPersistence)\n for (var node$91 = workInProgress.child; null !== node$91; ) {\n if (5 === node$91.tag) {\n var instance = node$91.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(\n instance,\n node$91.type,\n node$91.memoizedProps\n ));\n appendInitialChild(parent, instance);\n } else if (6 === node$91.tag)\n (instance = node$91.stateNode),\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenTextInstance(\n instance,\n node$91.memoizedProps\n )),\n appendInitialChild(parent, instance);\n else if (4 !== node$91.tag)\n if (22 === node$91.tag && null !== node$91.memoizedState)\n (instance = node$91.child),\n null !== instance && (instance.return = node$91),\n appendAllChildren(parent, node$91, !0, !0);\n else if (null !== node$91.child) {\n node$91.child.return = node$91;\n node$91 = node$91.child;\n continue;\n }\n if (node$91 === workInProgress) break;\n for (; null === node$91.sibling; ) {\n if (null === node$91.return || node$91.return === workInProgress)\n return;\n node$91 = node$91.return;\n }\n node$91.sibling.return = node$91.return;\n node$91 = node$91.sibling;\n }\n }\n function appendAllChildrenToContainer(\n containerChildSet,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n ) {\n if (supportsPersistence)\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(\n instance,\n node.type,\n node.memoizedProps\n ));\n appendChildToContainerChildSet(containerChildSet, instance);\n } else if (6 === node.tag)\n (instance = node.stateNode),\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenTextInstance(\n instance,\n node.memoizedProps\n )),\n appendChildToContainerChildSet(containerChildSet, instance);\n else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildrenToContainer(\n containerChildSet,\n node,\n !(\n null !== node.memoizedProps &&\n \"manual\" === node.memoizedProps.mode\n ),\n !0\n );\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n function updateHostContainer(current, workInProgress) {\n if (supportsPersistence && doesRequireClone(current, workInProgress)) {\n current = workInProgress.stateNode;\n var container = current.containerInfo,\n newChildSet = createContainerChildSet();\n appendAllChildrenToContainer(newChildSet, workInProgress, !1, !1);\n current.pendingChildren = newChildSet;\n markUpdate(workInProgress);\n finalizeContainerChildren(container, newChildSet);\n }\n }\n function updateHostComponent(current, workInProgress, type, newProps) {\n if (supportsMutation)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else if (supportsPersistence) {\n var currentInstance = current.stateNode,\n oldProps$94 = current.memoizedProps;\n if (\n (current = doesRequireClone(current, workInProgress)) ||\n oldProps$94 !== newProps\n ) {\n var currentHostContext = contextStackCursor.current;\n oldProps$94 = cloneInstance(\n currentInstance,\n type,\n oldProps$94,\n newProps,\n !current,\n null\n );\n oldProps$94 === currentInstance\n ? (workInProgress.stateNode = currentInstance)\n : (finalizeInitialChildren(\n oldProps$94,\n type,\n newProps,\n currentHostContext\n ) && markUpdate(workInProgress),\n (workInProgress.stateNode = oldProps$94),\n current\n ? appendAllChildren(oldProps$94, workInProgress, !1, !1)\n : markUpdate(workInProgress));\n } else workInProgress.stateNode = currentInstance;\n }\n }\n function preloadInstanceAndSuspendIfNeeded(workInProgress, type, props) {\n if (maySuspendCommit(type, props)) {\n if (((workInProgress.flags |= 16777216), !preloadInstance(type, props)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n }\n function preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (mayResourceSuspendCommit(resource)) {\n if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n }\n function scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n }\n function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$96 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$96 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$96\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$96.sibling = null);\n }\n }\n function bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$97 = completedWork.child; null !== child$97; )\n (newChildLanes |= child$97.lanes | child$97.childLanes),\n (subtreeFlags |= child$97.subtreeFlags & 31457280),\n (subtreeFlags |= child$97.flags & 31457280),\n (child$97.return = completedWork),\n (child$97 = child$97.sibling);\n else\n for (child$97 = completedWork.child; null !== child$97; )\n (newChildLanes |= child$97.lanes | child$97.childLanes),\n (subtreeFlags |= child$97.subtreeFlags),\n (subtreeFlags |= child$97.flags),\n (child$97.return = completedWork),\n (child$97 = child$97.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n }\n function completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null)));\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n case 26:\n if (supportsResources) {\n renderLanes = workInProgress.type;\n var nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n nextResource\n ))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n renderLanes,\n newProps\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n nextResource\n ))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (supportsMutation\n ? current.memoizedProps !== newProps &&\n markUpdate(workInProgress)\n : updateHostComponent(\n current,\n workInProgress,\n renderLanes,\n newProps\n ),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n renderLanes,\n newProps\n ));\n return null;\n }\n case 27:\n if (supportsSingletons) {\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n nextResource = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n supportsMutation\n ? current.memoizedProps !== newProps && markUpdate(workInProgress)\n : updateHostComponent(\n current,\n workInProgress,\n nextResource,\n newProps\n );\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(\n nextResource,\n newProps,\n renderLanes,\n current,\n !0\n )),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n }\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n updateHostComponent(current, workInProgress, renderLanes, newProps);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((nextResource = createInstance(\n renderLanes,\n newProps,\n rootInstanceStackCursor.current,\n current,\n workInProgress\n )),\n appendAllChildren(nextResource, workInProgress, !1, !1),\n (workInProgress.stateNode = nextResource),\n finalizeInitialChildren(\n nextResource,\n renderLanes,\n newProps,\n current\n ) && markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n (renderLanes = current.memoizedProps),\n supportsMutation\n ? renderLanes !== newProps && markUpdate(workInProgress)\n : supportsPersistence &&\n (renderLanes !== newProps\n ? ((workInProgress.stateNode = createTextInstance(\n newProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n workInProgress\n )),\n markUpdate(workInProgress))\n : (workInProgress.stateNode = current.stateNode));\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n renderLanes = contextStackCursor.current;\n if (popHydrationState(workInProgress)) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(176));\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n nextResource = hydrationParentFiber;\n if (null !== nextResource)\n switch (nextResource.tag) {\n case 27:\n case 5:\n newProps = nextResource.memoizedProps;\n }\n hydrateTextInstance(\n current,\n renderLanes,\n workInProgress,\n newProps\n ) || throwOnHydrationMismatch(workInProgress);\n } else\n workInProgress.stateNode = createTextInstance(\n newProps,\n current,\n renderLanes,\n workInProgress\n );\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n nextResource = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!nextResource) throw Error(formatProdErrorMessage(318));\n if (!supportsHydration) throw Error(formatProdErrorMessage(344));\n nextResource = workInProgress.memoizedState;\n nextResource =\n null !== nextResource ? nextResource.dehydrated : null;\n if (!nextResource) throw Error(formatProdErrorMessage(317));\n hydrateSuspenseInstance(nextResource, workInProgress);\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n nextResource = !1;\n } else\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null)),\n (nextResource = !0);\n if (!nextResource) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n if (renderLanes) {\n newProps = workInProgress.child;\n nextResource = null;\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (nextResource = newProps.alternate.memoizedState.cachePool.pool);\n var cache$110 = null;\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (cache$110 = newProps.memoizedState.cachePool.pool);\n cache$110 !== nextResource && (newProps.flags |= 2048);\n }\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n updateHostContainer(current, workInProgress),\n null === current &&\n preparePortalMount(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type),\n bubbleProperties(workInProgress),\n null\n );\n case 19:\n pop(suspenseStackCursor);\n nextResource = workInProgress.memoizedState;\n if (null === nextResource)\n return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n cache$110 = nextResource.rendering;\n if (null === cache$110)\n if (newProps) cutOffTailIfNeeded(nextResource, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n cache$110 = findFirstSuspended(current);\n if (null !== cache$110) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(nextResource, !1);\n current = cache$110.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (\n renderLanes = workInProgress.child;\n null !== renderLanes;\n\n )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== nextResource.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(nextResource, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (((current = findFirstSuspended(cache$110)), null !== current)) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(nextResource, !0),\n null === nextResource.tail &&\n \"hidden\" === nextResource.tailMode &&\n !cache$110.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - nextResource.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(nextResource, !1),\n (workInProgress.lanes = 4194304));\n nextResource.isBackwards\n ? ((cache$110.sibling = workInProgress.child),\n (workInProgress.child = cache$110))\n : ((current = nextResource.last),\n null !== current\n ? (current.sibling = cache$110)\n : (workInProgress.child = cache$110),\n (nextResource.last = cache$110));\n }\n if (null !== nextResource.tail)\n return (\n (workInProgress = nextResource.tail),\n (nextResource.rendering = workInProgress),\n (nextResource.tail = workInProgress.sibling),\n (nextResource.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(\n suspenseStackCursor,\n newProps ? (current & 1) | 2 : current & 1\n ),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n }\n function unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n }\n function unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n }\n function commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n ) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0;\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n function safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n ) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n function safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n var instance = current.stateNode;\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = getPublicInstance(instance);\n break;\n default:\n instanceToUse = instance;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n function safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$126) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$126);\n }\n else ref.current = null;\n }\n function commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n commitMount(instance, type, props, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n commitUpdate(\n finishedWork.stateNode,\n finishedWork.type,\n oldProps,\n newProps,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n (supportsResources ? 26 === fiber.tag : !1) ||\n (supportsSingletons ? 27 === fiber.tag : !1) ||\n 4 === fiber.tag\n );\n }\n function getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag &&\n 6 !== fiber.tag &&\n (supportsSingletons ? 27 !== fiber.tag : 1) &&\n 18 !== fiber.tag;\n\n ) {\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n }\n function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? insertInContainerBefore(parent, node, before)\n : appendChildToContainer(parent, node);\n else if (\n !(4 === tag || (supportsSingletons && 27 === tag)) &&\n ((node = node.child), null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n }\n function insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? insertBefore(parent, node, before) : appendChild(parent, node);\n else if (\n !(4 === tag || (supportsSingletons && 27 === tag)) &&\n ((node = node.child), null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent),\n (node = node.sibling);\n }\n function commitHostPortalContainerChildren(\n portal,\n finishedWork,\n pendingChildren\n ) {\n portal = portal.containerInfo;\n try {\n replaceContainerChildren(portal, pendingChildren);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitBeforeMutationEffects(root, firstChild) {\n prepareForCommit(root.containerInfo);\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((root = nextEffect),\n (firstChild = root.child),\n 0 !== (root.subtreeFlags & 1028) && null !== firstChild)\n )\n (firstChild.return = root), (nextEffect = firstChild);\n else\n for (; null !== nextEffect; ) {\n root = nextEffect;\n var current = root.alternate;\n firstChild = root.flags;\n switch (root.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (firstChild & 1024) && null !== current) {\n firstChild = void 0;\n var finishedWork = root,\n prevProps = current.memoizedProps;\n current = current.memoizedState;\n var instance = finishedWork.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n finishedWork.type,\n prevProps,\n finishedWork.elementType === finishedWork.type\n );\n firstChild = instance.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n current\n );\n instance.__reactInternalSnapshotBeforeUpdate = firstChild;\n } catch (error) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error\n );\n }\n }\n break;\n case 3:\n 0 !== (firstChild & 1024) &&\n supportsMutation &&\n clearContainer(root.stateNode.containerInfo);\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (firstChild & 1024))\n throw Error(formatProdErrorMessage(163));\n }\n firstChild = root.sibling;\n if (null !== firstChild) {\n firstChild.return = root.return;\n nextEffect = firstChild;\n break;\n }\n nextEffect = root.return;\n }\n resolvedPrevProps = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = !1;\n return resolvedPrevProps;\n }\n function commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$125) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$125\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((flags = finishedWork.updateQueue), null !== flags)\n ) {\n finishedRoot = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n finishedRoot = getPublicInstance(finishedWork.child.stateNode);\n break;\n case 1:\n finishedRoot = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(flags, finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 26:\n if (supportsResources) {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n }\n case 27:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n prevProps =\n null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!prevProps) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevProps;\n (offscreenSubtreeWasHidden = current) &&\n !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n flags & 512 &&\n (\"manual\" === finishedWork.memoizedProps.mode\n ? safelyAttachRef(finishedWork, finishedWork.return)\n : safelyDetachRef(finishedWork, finishedWork.return));\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n }\n function detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n }\n function recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ),\n (parent = parent.sibling);\n }\n function commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n if (supportsResources) {\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? releaseResource(deletedFiber.memoizedState)\n : deletedFiber.stateNode &&\n unmountHoistable(deletedFiber.stateNode);\n break;\n }\n case 27:\n if (supportsSingletons) {\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n }\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n if (supportsMutation) {\n if (\n ((prevHostParent = hostParent),\n (prevHostParentIsContainer = hostParentIsContainer),\n (hostParent = null),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (hostParent = prevHostParent),\n (hostParentIsContainer = prevHostParentIsContainer),\n null !== hostParent)\n )\n if (hostParentIsContainer)\n try {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n removeChild(hostParent, deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n } else\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 18:\n supportsMutation &&\n null !== hostParent &&\n (hostParentIsContainer\n ? clearSuspenseBoundaryFromContainer(\n hostParent,\n deletedFiber.stateNode\n )\n : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n supportsMutation\n ? ((prevHostParent = hostParent),\n (prevHostParentIsContainer = hostParentIsContainer),\n (hostParent = deletedFiber.stateNode.containerInfo),\n (hostParentIsContainer = !0),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (hostParent = prevHostParent),\n (hostParentIsContainer = prevHostParentIsContainer))\n : (supportsPersistence &&\n commitHostPortalContainerChildren(\n deletedFiber.stateNode,\n deletedFiber,\n createContainerChildSet()\n ),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ));\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n }\n function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n supportsHydration &&\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n commitHydratedSuspenseInstance(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n }\n function attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n }\n function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber;\n if (supportsMutation) {\n var parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n } else commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n }\n function commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n if (supportsResources) {\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 4 &&\n ((flags = null !== current ? current.memoizedState : null),\n (root = finishedWork.memoizedState),\n null === current\n ? null === root\n ? null === finishedWork.stateNode\n ? (finishedWork.stateNode = hydrateHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.memoizedProps,\n finishedWork\n ))\n : mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : (finishedWork.stateNode = acquireResource(\n hoistableRoot,\n root,\n finishedWork.memoizedProps\n ))\n : flags !== root\n ? (null === flags\n ? null !== current.stateNode &&\n unmountHoistable(current.stateNode)\n : releaseResource(flags),\n null === root\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n root,\n finishedWork.memoizedProps\n ))\n : null === root &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n ));\n break;\n }\n case 27:\n if (\n supportsSingletons &&\n flags & 4 &&\n null === finishedWork.alternate\n ) {\n hoistableRoot = finishedWork.stateNode;\n var props = finishedWork.memoizedProps;\n try {\n clearSingleton(hoistableRoot),\n acquireSingletonInstance(\n finishedWork.type,\n props,\n hoistableRoot,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (supportsMutation) {\n if (finishedWork.flags & 32) {\n root = finishedWork.stateNode;\n try {\n resetTextContent(root);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((root = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n root,\n null !== current ? current.memoizedProps : root\n ));\n flags & 1024 && (needsFormReset = !0);\n }\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && supportsMutation) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = null !== current ? current.memoizedProps : flags;\n root = finishedWork.stateNode;\n try {\n commitTextUpdate(root, current, flags);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n supportsResources\n ? (prepareToCommitHoistables(),\n (hoistableRoot = currentHoistableRoot),\n (currentHoistableRoot = getHoistableRoot(root.containerInfo)),\n recursivelyTraverseMutationEffects(root, finishedWork),\n (currentHoistableRoot = hoistableRoot))\n : recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (\n supportsMutation &&\n supportsHydration &&\n null !== current &&\n current.memoizedState.isDehydrated\n )\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n if (supportsPersistence) {\n flags = root.containerInfo;\n current = root.pendingChildren;\n try {\n replaceContainerChildren(flags, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n supportsResources\n ? ((current = currentHoistableRoot),\n (currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n )),\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork),\n (currentHoistableRoot = current))\n : (recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork));\n flags & 4 &&\n supportsPersistence &&\n commitHostPortalContainerChildren(\n finishedWork.stateNode,\n finishedWork,\n finishedWork.stateNode.pendingChildren\n );\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden =\n prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n root = finishedWork.stateNode;\n root._current = finishedWork;\n root._visibility &= -3;\n root._visibility |= root._pendingVisibility & 2;\n if (\n flags & 8192 &&\n ((root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1),\n hoistableRoot &&\n ((root = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden),\n null === current ||\n wasHidden ||\n root ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n supportsMutation &&\n (null === finishedWork.memoizedProps ||\n \"manual\" !== finishedWork.memoizedProps.mode))\n )\n a: if (((current = null), supportsMutation))\n for (root = finishedWork; ; ) {\n if (\n 5 === root.tag ||\n (supportsResources && 26 === root.tag) ||\n (supportsSingletons && 27 === root.tag)\n ) {\n if (null === current) {\n wasHidden = current = root;\n try {\n (props = wasHidden.stateNode),\n hoistableRoot\n ? hideInstance(props)\n : unhideInstance(\n wasHidden.stateNode,\n wasHidden.memoizedProps\n );\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n var instance = wasHidden.stateNode;\n hoistableRoot\n ? hideTextInstance(instance)\n : unhideTextInstance(instance, wasHidden.memoizedProps);\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork)\n break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n }\n function commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n if (\n supportsMutation &&\n (!supportsSingletons || 27 !== finishedWork.tag)\n ) {\n a: {\n for (var parent = finishedWork.return; null !== parent; ) {\n if (isHostParent(parent)) {\n var JSCompiler_inline_result = parent;\n break a;\n }\n parent = parent.return;\n }\n throw Error(formatProdErrorMessage(160));\n }\n switch (JSCompiler_inline_result.tag) {\n case 27:\n if (supportsSingletons) {\n var parent$jscomp$0 = JSCompiler_inline_result.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n before,\n parent$jscomp$0\n );\n break;\n }\n case 5:\n var parent$127 = JSCompiler_inline_result.stateNode;\n JSCompiler_inline_result.flags & 32 &&\n (resetTextContent(parent$127),\n (JSCompiler_inline_result.flags &= -33));\n var before$128 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$128, parent$127);\n break;\n case 3:\n case 4:\n var parent$129 = JSCompiler_inline_result.stateNode.containerInfo,\n before$130 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$130,\n parent$129\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n }\n function recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag &&\n fiber.flags & 1024 &&\n resetFormInstance(fiber.stateNode);\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 26:\n case 27:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n safelyDetachRef(finishedWork, finishedWork.return);\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n }\n function commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n }\n function recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n ) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n }\n function recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 4\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(\n finishedWork.alternate,\n finishedWork\n );\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n (null !== fiber.memoizedState\n ? suspendResource(\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n )\n : suspendInstance(fiber.type, fiber.memoizedProps));\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n suspendInstance(fiber.type, fiber.memoizedProps);\n break;\n case 3:\n case 4:\n if (supportsResources) {\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n fiber.stateNode.containerInfo\n );\n recursivelyAccumulateSuspenseyCommit(fiber);\n currentHoistableRoot = previousHoistableRoot;\n } else recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(fiber));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n }\n function detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n }\n function recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 4 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n }\n function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 4 &&\n ((i._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n ) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n }\n function findFiberRootForHostRoot(hostRoot) {\n var maybeFiber = getInstanceFromNode(hostRoot);\n if (null != maybeFiber) {\n if (\"string\" !== typeof maybeFiber.memoizedProps[\"data-testname\"])\n throw Error(formatProdErrorMessage(364));\n return maybeFiber;\n }\n hostRoot = findFiberRoot(hostRoot);\n if (null === hostRoot) throw Error(formatProdErrorMessage(362));\n return hostRoot.stateNode.current;\n }\n function matchSelector(fiber$jscomp$0, selector) {\n var tag = fiber$jscomp$0.tag;\n switch (selector.$$typeof) {\n case COMPONENT_TYPE:\n if (fiber$jscomp$0.type === selector.value) return !0;\n break;\n case HAS_PSEUDO_CLASS_TYPE:\n a: {\n selector = selector.value;\n fiber$jscomp$0 = [fiber$jscomp$0, 0];\n for (tag = 0; tag < fiber$jscomp$0.length; ) {\n var fiber = fiber$jscomp$0[tag++],\n tag$jscomp$0 = fiber.tag,\n selectorIndex = fiber$jscomp$0[tag++],\n selector$jscomp$0 = selector[selectorIndex];\n if (\n (5 !== tag$jscomp$0 &&\n 26 !== tag$jscomp$0 &&\n 27 !== tag$jscomp$0) ||\n !isHiddenSubtree(fiber)\n ) {\n for (\n ;\n null != selector$jscomp$0 &&\n matchSelector(fiber, selector$jscomp$0);\n\n )\n selectorIndex++, (selector$jscomp$0 = selector[selectorIndex]);\n if (selectorIndex === selector.length) {\n selector = !0;\n break a;\n } else\n for (fiber = fiber.child; null !== fiber; )\n fiber$jscomp$0.push(fiber, selectorIndex),\n (fiber = fiber.sibling);\n }\n }\n selector = !1;\n }\n return selector;\n case ROLE_TYPE:\n if (\n (5 === tag || 26 === tag || 27 === tag) &&\n matchAccessibilityRole(fiber$jscomp$0.stateNode, selector.value)\n )\n return !0;\n break;\n case TEXT_TYPE:\n if (5 === tag || 6 === tag || 26 === tag || 27 === tag)\n if (\n ((fiber$jscomp$0 = getTextContent(fiber$jscomp$0)),\n null !== fiber$jscomp$0 &&\n 0 <= fiber$jscomp$0.indexOf(selector.value))\n )\n return !0;\n break;\n case TEST_NAME_TYPE:\n if (5 === tag || 26 === tag || 27 === tag)\n if (\n ((fiber$jscomp$0 = fiber$jscomp$0.memoizedProps[\"data-testname\"]),\n \"string\" === typeof fiber$jscomp$0 &&\n fiber$jscomp$0.toLowerCase() === selector.value.toLowerCase())\n )\n return !0;\n break;\n default:\n throw Error(formatProdErrorMessage(365));\n }\n return !1;\n }\n function selectorToString(selector) {\n switch (selector.$$typeof) {\n case COMPONENT_TYPE:\n return (\n \"<\" + (getComponentNameFromType(selector.value) || \"Unknown\") + \">\"\n );\n case HAS_PSEUDO_CLASS_TYPE:\n return \":has(\" + (selectorToString(selector) || \"\") + \")\";\n case ROLE_TYPE:\n return '[role=\"' + selector.value + '\"]';\n case TEXT_TYPE:\n return '\"' + selector.value + '\"';\n case TEST_NAME_TYPE:\n return '[data-testname=\"' + selector.value + '\"]';\n default:\n throw Error(formatProdErrorMessage(365));\n }\n }\n function findPaths(root, selectors) {\n var matchingFibers = [];\n root = [root, 0];\n for (var index = 0; index < root.length; ) {\n var fiber = root[index++],\n tag = fiber.tag,\n selectorIndex = root[index++],\n selector = selectors[selectorIndex];\n if ((5 !== tag && 26 !== tag && 27 !== tag) || !isHiddenSubtree(fiber)) {\n for (; null != selector && matchSelector(fiber, selector); )\n selectorIndex++, (selector = selectors[selectorIndex]);\n if (selectorIndex === selectors.length) matchingFibers.push(fiber);\n else\n for (fiber = fiber.child; null !== fiber; )\n root.push(fiber, selectorIndex), (fiber = fiber.sibling);\n }\n }\n return matchingFibers;\n }\n function findAllNodes(hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findFiberRootForHostRoot(hostRoot);\n hostRoot = findPaths(hostRoot, selectors);\n selectors = [];\n hostRoot = Array.from(hostRoot);\n for (var index = 0; index < hostRoot.length; ) {\n var node = hostRoot[index++],\n tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag)\n isHiddenSubtree(node) || selectors.push(node.stateNode);\n else\n for (node = node.child; null !== node; )\n hostRoot.push(node), (node = node.sibling);\n }\n return selectors;\n }\n function requestUpdateLane() {\n if (0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes)\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n if (null !== ReactSharedInternals.T) {\n var actionScopeLane = currentEntangledLane;\n return 0 !== actionScopeLane ? actionScopeLane : requestTransitionLane();\n }\n return resolveUpdatePriority();\n }\n function requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating\n ? claimNextTransitionLane()\n : 536870912);\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n }\n function scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n }\n function performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 60) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else if (6 === exitStatus)\n markRootSuspended(\n root$jscomp$0,\n lanes,\n 0,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result =\n root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated =\n supportsHydration && root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |=\n 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n queueRecoverableErrors(renderWasConcurrent);\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n switch (exitStatus) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194176) === lanes) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n }\n break;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n shouldTimeSlice.finishedWork = forceSync;\n shouldTimeSlice.finishedLanes = lanes;\n if (\n (lanes & 62914560) === lanes &&\n ((renderWasConcurrent = globalMostRecentFallbackTime + 300 - now()),\n 10 < renderWasConcurrent)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 2,\n -0,\n 0\n ),\n renderWasConcurrent\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 0,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n }\n function queueRecoverableErrors(errors) {\n null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = errors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n errors\n );\n }\n function commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n ) {\n var subtreeFlags = finishedWork.subtreeFlags;\n if (subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408))\n if (\n (startSuspendingCommit(),\n accumulateSuspenseyCommitOnFiber(finishedWork),\n (finishedWork = waitForCommitToBeReady()),\n null !== finishedWork)\n ) {\n root.cancelPendingCommit = finishedWork(\n commitRoot.bind(\n null,\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n 1,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n commitRoot(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n }\n function isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n }\n function markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n ) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n }\n function flushSyncWork() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n }\n function resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n }\n function prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = 0;\n var timeoutHandle = root.timeoutHandle;\n timeoutHandle !== noTimeout &&\n ((root.timeoutHandle = noTimeout), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n lanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n }\n function handleThrow(root, thrownValue) {\n currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n }\n function shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194176) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n }\n function pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n }\n function pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n }\n function renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194176) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n }\n function renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$151) {\n handleThrow(root, thrownValue$151);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n }\n function workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n }\n function renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n 2 === workInProgressSuspendedReason &&\n workInProgressRoot === root &&\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress,\n type = hostFiber.type,\n props = hostFiber.pendingProps;\n if (\n resource\n ? preloadResource(resource)\n : preloadInstance(type, props)\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrent();\n break;\n } catch (thrownValue$153) {\n handleThrow(root, thrownValue$153);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n }\n function workLoopConcurrent() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n }\n function performUnitOfWork(unitOfWork) {\n var next = beginWork(\n unitOfWork.alternate,\n unitOfWork,\n entangledRenderLanes\n );\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n }\n function replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n }\n function throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n ) {\n lastContextDependency = currentlyRenderingFiber = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason || 3 === suspendedReason || 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n }\n function completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n }\n function unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768),\n (next.subtreeFlags = 0),\n (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n }\n function commitRoot(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n ) {\n var prevTransition = ReactSharedInternals.T,\n previousUpdateLanePriority = getCurrentUpdatePriority();\n try {\n setCurrentUpdatePriority(2),\n (ReactSharedInternals.T = null),\n commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n previousUpdateLanePriority,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n } finally {\n (ReactSharedInternals.T = prevTransition),\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n }\n function commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n renderPriorityLevel,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n do flushPassiveEffects();\n while (null !== rootWithPendingPassiveEffects);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var finishedWork = root.finishedWork;\n didIncludeRenderPhaseUpdate = root.finishedLanes;\n if (null === finishedWork) return null;\n root.finishedWork = null;\n root.finishedLanes = 0;\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n root.callbackNode = null;\n root.callbackPriority = 0;\n root.cancelPendingCommit = null;\n var remainingLanes = finishedWork.lanes | finishedWork.childLanes;\n remainingLanes |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n didIncludeRenderPhaseUpdate,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n (0 === (finishedWork.subtreeFlags & 10256) &&\n 0 === (finishedWork.flags & 10256)) ||\n rootDoesHavePassiveEffects ||\n ((rootDoesHavePassiveEffects = !0),\n (pendingPassiveEffectsRemainingLanes = remainingLanes),\n (pendingPassiveTransitions = transitions),\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }));\n transitions = 0 !== (finishedWork.flags & 15990);\n 0 !== (finishedWork.subtreeFlags & 15990) || transitions\n ? ((transitions = ReactSharedInternals.T),\n (ReactSharedInternals.T = null),\n (spawnedLane = getCurrentUpdatePriority()),\n setCurrentUpdatePriority(2),\n (updatedLanes = executionContext),\n (executionContext |= 4),\n commitBeforeMutationEffects(root, finishedWork),\n commitMutationEffectsOnFiber(finishedWork, root),\n resetAfterCommit(root.containerInfo),\n (root.current = finishedWork),\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork),\n requestPaint(),\n (executionContext = updatedLanes),\n setCurrentUpdatePriority(spawnedLane),\n (ReactSharedInternals.T = transitions))\n : (root.current = finishedWork);\n rootDoesHavePassiveEffects\n ? ((rootDoesHavePassiveEffects = !1),\n (rootWithPendingPassiveEffects = root),\n (pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate))\n : releaseRootPooledCache(root, remainingLanes);\n remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n ensureRootIsScheduled(root);\n if (null !== recoverableErrors)\n for (\n renderPriorityLevel = root.onRecoverableError, finishedWork = 0;\n finishedWork < recoverableErrors.length;\n finishedWork++\n )\n (remainingLanes = recoverableErrors[finishedWork]),\n renderPriorityLevel(remainingLanes.value, {\n componentStack: remainingLanes.stack\n });\n 0 !== (pendingPassiveEffectsLanes & 3) && flushPassiveEffects();\n remainingLanes = root.pendingLanes;\n 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n return null;\n }\n function releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n }\n function flushPassiveEffects() {\n if (null !== rootWithPendingPassiveEffects) {\n var root = rootWithPendingPassiveEffects,\n remainingLanes = pendingPassiveEffectsRemainingLanes;\n pendingPassiveEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),\n priority = 32 > renderPriority ? 32 : renderPriority;\n renderPriority = ReactSharedInternals.T;\n var previousPriority = getCurrentUpdatePriority();\n try {\n setCurrentUpdatePriority(priority);\n ReactSharedInternals.T = null;\n if (null === rootWithPendingPassiveEffects)\n var JSCompiler_inline_result = !1;\n else {\n priority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = rootWithPendingPassiveEffects,\n lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null;\n pendingPassiveEffectsLanes = 0;\n if (0 !== (executionContext & 6))\n throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n priority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n JSCompiler_inline_result = !0;\n }\n return JSCompiler_inline_result;\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = renderPriority),\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n return !1;\n }\n function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n }\n function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n }\n function attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n }\n function pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n }\n function retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n }\n function retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function scheduleCallback(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n }\n function FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n }\n function shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n }\n function createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiber(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 31457280;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : {\n lanes: pendingProps.lanes,\n firstContext: pendingProps.firstContext\n };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n }\n function resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 31457282;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n }\n function createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n ) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag =\n supportsResources && supportsSingletons\n ? isHostHoistableType(type, pendingProps, contextStackCursor.current)\n ? 26\n : isHostSingletonType(type)\n ? 27\n : 5\n : supportsResources\n ? isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : 5\n : supportsSingletons\n ? isHostSingletonType(type)\n ? 27\n : 5\n : 5;\n else\n a: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(\n pendingProps.children,\n mode,\n lanes,\n key\n );\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiber(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiber(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiber(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(\n 130,\n null === type ? \"null\" : typeof type,\n \"\"\n )\n );\n owner = null;\n }\n key = createFiber(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n }\n function createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiber(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n }\n function createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n pendingProps = createFiber(22, pendingProps, key, mode);\n pendingProps.elementType = REACT_OFFSCREEN_TYPE;\n pendingProps.lanes = lanes;\n var primaryChildInstance = {\n _visibility: 1,\n _pendingVisibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null,\n _current: null,\n detach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber) throw Error(formatProdErrorMessage(456));\n if (0 === (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility |= 2),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n },\n attach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber) throw Error(formatProdErrorMessage(456));\n if (0 !== (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility &= -3),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n }\n };\n pendingProps.stateNode = primaryChildInstance;\n return pendingProps;\n }\n function createFiberFromText(content, mode, lanes) {\n content = createFiber(6, content, null, mode);\n content.lanes = lanes;\n return content;\n }\n function createFiberFromPortal(portal, mode, lanes) {\n mode = createFiber(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n }\n function FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n ) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.finishedWork =\n this.pingCache =\n this.current =\n this.pendingChildren =\n null;\n this.timeoutHandle = noTimeout;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.finishedLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n }\n function createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n ) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiber(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n }\n function getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n }\n function findHostInstance(component) {\n var fiber = component._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof component.render)\n throw Error(formatProdErrorMessage(188));\n component = Object.keys(component).join(\",\");\n throw Error(formatProdErrorMessage(268, component));\n }\n component = findCurrentFiberUsingSlowPath(fiber);\n component = null !== component ? findCurrentHostFiberImpl(component) : null;\n return null === component ? null : getPublicInstance(component.stateNode);\n }\n function updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n ) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n }\n function markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n }\n function markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n }\n var exports = {};\n (\"use strict\");\n var React = require(\"react\"),\n Scheduler = require(\"scheduler\"),\n assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\n Symbol.for(\"react.scope\");\n Symbol.for(\"react.debug_trace_mode\");\n var REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\");\n Symbol.for(\"react.legacy_hidden\");\n Symbol.for(\"react.tracing_marker\");\n var REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n prefix,\n suffix,\n reentry = !1,\n isArrayImpl = Array.isArray,\n rendererVersion = $$$config.rendererVersion,\n rendererPackageName = $$$config.rendererPackageName,\n extraDevToolsConfig = $$$config.extraDevToolsConfig,\n getPublicInstance = $$$config.getPublicInstance,\n getRootHostContext = $$$config.getRootHostContext,\n getChildHostContext = $$$config.getChildHostContext,\n prepareForCommit = $$$config.prepareForCommit,\n resetAfterCommit = $$$config.resetAfterCommit,\n createInstance = $$$config.createInstance,\n appendInitialChild = $$$config.appendInitialChild,\n finalizeInitialChildren = $$$config.finalizeInitialChildren,\n shouldSetTextContent = $$$config.shouldSetTextContent,\n createTextInstance = $$$config.createTextInstance,\n scheduleTimeout = $$$config.scheduleTimeout,\n cancelTimeout = $$$config.cancelTimeout,\n noTimeout = $$$config.noTimeout,\n isPrimaryRenderer = $$$config.isPrimaryRenderer;\n $$$config.warnsIfNotActing;\n var supportsMutation = $$$config.supportsMutation,\n supportsPersistence = $$$config.supportsPersistence,\n supportsHydration = $$$config.supportsHydration,\n getInstanceFromNode = $$$config.getInstanceFromNode;\n $$$config.beforeActiveInstanceBlur;\n $$$config.afterActiveInstanceBlur;\n var preparePortalMount = $$$config.preparePortalMount;\n $$$config.prepareScopeUpdate;\n $$$config.getInstanceFromScope;\n var setCurrentUpdatePriority = $$$config.setCurrentUpdatePriority,\n getCurrentUpdatePriority = $$$config.getCurrentUpdatePriority,\n resolveUpdatePriority = $$$config.resolveUpdatePriority;\n $$$config.resolveEventType;\n $$$config.resolveEventTimeStamp;\n var shouldAttemptEagerTransition = $$$config.shouldAttemptEagerTransition,\n detachDeletedInstance = $$$config.detachDeletedInstance;\n $$$config.requestPostPaintCallback;\n var maySuspendCommit = $$$config.maySuspendCommit,\n preloadInstance = $$$config.preloadInstance,\n startSuspendingCommit = $$$config.startSuspendingCommit,\n suspendInstance = $$$config.suspendInstance,\n waitForCommitToBeReady = $$$config.waitForCommitToBeReady,\n NotPendingTransition = $$$config.NotPendingTransition,\n HostTransitionContext = $$$config.HostTransitionContext,\n resetFormInstance = $$$config.resetFormInstance;\n $$$config.bindToConsole;\n var supportsMicrotasks = $$$config.supportsMicrotasks,\n scheduleMicrotask = $$$config.scheduleMicrotask,\n supportsTestSelectors = $$$config.supportsTestSelectors,\n findFiberRoot = $$$config.findFiberRoot,\n getBoundingRect = $$$config.getBoundingRect,\n getTextContent = $$$config.getTextContent,\n isHiddenSubtree = $$$config.isHiddenSubtree,\n matchAccessibilityRole = $$$config.matchAccessibilityRole,\n setFocusIfFocusable = $$$config.setFocusIfFocusable,\n setupIntersectionObserver = $$$config.setupIntersectionObserver,\n appendChild = $$$config.appendChild,\n appendChildToContainer = $$$config.appendChildToContainer,\n commitTextUpdate = $$$config.commitTextUpdate,\n commitMount = $$$config.commitMount,\n commitUpdate = $$$config.commitUpdate,\n insertBefore = $$$config.insertBefore,\n insertInContainerBefore = $$$config.insertInContainerBefore,\n removeChild = $$$config.removeChild,\n removeChildFromContainer = $$$config.removeChildFromContainer,\n resetTextContent = $$$config.resetTextContent,\n hideInstance = $$$config.hideInstance,\n hideTextInstance = $$$config.hideTextInstance,\n unhideInstance = $$$config.unhideInstance,\n unhideTextInstance = $$$config.unhideTextInstance,\n clearContainer = $$$config.clearContainer,\n cloneInstance = $$$config.cloneInstance,\n createContainerChildSet = $$$config.createContainerChildSet,\n appendChildToContainerChildSet = $$$config.appendChildToContainerChildSet,\n finalizeContainerChildren = $$$config.finalizeContainerChildren,\n replaceContainerChildren = $$$config.replaceContainerChildren,\n cloneHiddenInstance = $$$config.cloneHiddenInstance,\n cloneHiddenTextInstance = $$$config.cloneHiddenTextInstance,\n isSuspenseInstancePending = $$$config.isSuspenseInstancePending,\n isSuspenseInstanceFallback = $$$config.isSuspenseInstanceFallback,\n getSuspenseInstanceFallbackErrorDetails =\n $$$config.getSuspenseInstanceFallbackErrorDetails,\n registerSuspenseInstanceRetry = $$$config.registerSuspenseInstanceRetry,\n canHydrateFormStateMarker = $$$config.canHydrateFormStateMarker,\n isFormStateMarkerMatching = $$$config.isFormStateMarkerMatching,\n getNextHydratableSibling = $$$config.getNextHydratableSibling,\n getFirstHydratableChild = $$$config.getFirstHydratableChild,\n getFirstHydratableChildWithinContainer =\n $$$config.getFirstHydratableChildWithinContainer,\n getFirstHydratableChildWithinSuspenseInstance =\n $$$config.getFirstHydratableChildWithinSuspenseInstance,\n canHydrateInstance = $$$config.canHydrateInstance,\n canHydrateTextInstance = $$$config.canHydrateTextInstance,\n canHydrateSuspenseInstance = $$$config.canHydrateSuspenseInstance,\n hydrateInstance = $$$config.hydrateInstance,\n hydrateTextInstance = $$$config.hydrateTextInstance,\n hydrateSuspenseInstance = $$$config.hydrateSuspenseInstance,\n getNextHydratableInstanceAfterSuspenseInstance =\n $$$config.getNextHydratableInstanceAfterSuspenseInstance,\n commitHydratedContainer = $$$config.commitHydratedContainer,\n commitHydratedSuspenseInstance = $$$config.commitHydratedSuspenseInstance,\n clearSuspenseBoundary = $$$config.clearSuspenseBoundary,\n clearSuspenseBoundaryFromContainer =\n $$$config.clearSuspenseBoundaryFromContainer,\n shouldDeleteUnhydratedTailInstances =\n $$$config.shouldDeleteUnhydratedTailInstances;\n $$$config.diffHydratedPropsForDevWarnings;\n $$$config.diffHydratedTextForDevWarnings;\n $$$config.describeHydratableInstanceForDevWarnings;\n var validateHydratableInstance = $$$config.validateHydratableInstance,\n validateHydratableTextInstance = $$$config.validateHydratableTextInstance,\n supportsResources = $$$config.supportsResources,\n isHostHoistableType = $$$config.isHostHoistableType,\n getHoistableRoot = $$$config.getHoistableRoot,\n getResource = $$$config.getResource,\n acquireResource = $$$config.acquireResource,\n releaseResource = $$$config.releaseResource,\n hydrateHoistable = $$$config.hydrateHoistable,\n mountHoistable = $$$config.mountHoistable,\n unmountHoistable = $$$config.unmountHoistable,\n createHoistableInstance = $$$config.createHoistableInstance,\n prepareToCommitHoistables = $$$config.prepareToCommitHoistables,\n mayResourceSuspendCommit = $$$config.mayResourceSuspendCommit,\n preloadResource = $$$config.preloadResource,\n suspendResource = $$$config.suspendResource,\n supportsSingletons = $$$config.supportsSingletons,\n resolveSingletonInstance = $$$config.resolveSingletonInstance,\n clearSingleton = $$$config.clearSingleton,\n acquireSingletonInstance = $$$config.acquireSingletonInstance,\n releaseSingletonInstance = $$$config.releaseSingletonInstance,\n isHostSingletonType = $$$config.isHostSingletonType,\n valueStack = [],\n index$jscomp$0 = -1,\n emptyContextObject = {},\n clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log$1 = Math.log,\n LN2 = Math.LN2,\n nextTransitionLane = 128,\n nextRetryLane = 4194304,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null,\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n CapturedStacks = new WeakMap(),\n forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\",\n contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null),\n hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519)),\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0,\n firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0,\n currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null,\n hasForceUpdate = !1,\n didReadFromEntangledAsyncAction = !1,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n noopSuspenseyCommitThenable = { then: function () {} },\n suspendedThenable = null,\n thenableState$1 = null,\n thenableIndexCounter$1 = 0,\n reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null,\n suspenseStackCursor = createCursor(0),\n renderLanes = 0,\n currentlyRenderingFiber$1 = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\n var createFunctionComponentUpdateQueue = function () {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n };\n var ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError\n };\n ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;\n ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;\n ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;\n ContextOnlyDispatcher.useFormState = throwInvalidHookError;\n ContextOnlyDispatcher.useActionState = throwInvalidHookError;\n ContextOnlyDispatcher.useOptimistic = throwInvalidHookError;\n var HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber$1,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n queue\n );\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber$1,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n { destroy: void 0 },\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \":\" + identifierPrefix + \"R\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \":\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \":\" +\n identifierPrefix +\n \"r\" +\n JSCompiler_inline_result.toString(32) +\n \":\");\n return (hook.memoizedState = identifierPrefix);\n },\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber$1\n ));\n }\n };\n HooksDispatcherOnMount.useMemoCache = useMemoCache;\n HooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnMount.useFormState = mountActionState;\n HooksDispatcherOnMount.useActionState = mountActionState;\n HooksDispatcherOnMount.useOptimistic = function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n };\n var HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n };\n HooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;\n HooksDispatcherOnUpdate.useMemoCache = useMemoCache;\n HooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnUpdate.useFormState = updateActionState;\n HooksDispatcherOnUpdate.useActionState = updateActionState;\n HooksDispatcherOnUpdate.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n };\n var HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n };\n HooksDispatcherOnRerender.useCacheRefresh = updateRefresh;\n HooksDispatcherOnRerender.useMemoCache = useMemoCache;\n HooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnRerender.useFormState = rerenderActionState;\n HooksDispatcherOnRerender.useActionState = rerenderActionState;\n HooksDispatcherOnRerender.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n };\n var classComponentUpdater = {\n isMounted: function (component) {\n return (component = component._reactInternals)\n ? getNearestMountedFiber(component) === component\n : !1;\n },\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n },\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1,\n SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0 },\n valueCursor = createCursor(null),\n currentlyRenderingFiber = null,\n lastContextDependency = null,\n AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$1 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n },\n prevOnStartTransitionFinish = ReactSharedInternals.S;\n ReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n };\n var resumedCache = createCursor(null),\n offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n shouldFireAfterActiveInstanceBlur = !1,\n hostParent = null,\n hostParentIsContainer = !1,\n currentHoistableRoot = null,\n suspenseyCommitFlag = 8192,\n DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n }\n },\n COMPONENT_TYPE = 0,\n HAS_PSEUDO_CLASS_TYPE = 1,\n ROLE_TYPE = 2,\n TEST_NAME_TYPE = 3,\n TEXT_TYPE = 4;\n if (\"function\" === typeof Symbol && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor(\"selector.component\");\n HAS_PSEUDO_CLASS_TYPE = symbolFor(\"selector.has_pseudo_class\");\n ROLE_TYPE = symbolFor(\"selector.role\");\n TEST_NAME_TYPE = symbolFor(\"selector.test_id\");\n TEXT_TYPE = symbolFor(\"selector.text\");\n }\n var PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n rootDoesHavePassiveEffects = !1,\n rootWithPendingPassiveEffects = null,\n pendingPassiveEffectsLanes = 0,\n pendingPassiveEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\n exports.attemptContinuousHydration = function (fiber) {\n if (13 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n };\n exports.attemptHydrationAtCurrentPriority = function (fiber) {\n if (13 === fiber.tag) {\n var lane = requestUpdateLane(),\n root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n };\n exports.attemptSynchronousHydration = function (fiber) {\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n fiber.pendingLanes |= 2;\n for (fiber.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n fiber.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 13:\n (lanes = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== lanes && scheduleUpdateOnFiber(lanes, fiber, 2),\n flushSyncWork(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n };\n exports.batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.createComponentSelector = function (component) {\n return { $$typeof: COMPONENT_TYPE, value: component };\n };\n exports.createContainer = function (\n containerInfo,\n tag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks\n ) {\n return createFiberRoot(\n containerInfo,\n tag,\n !1,\n null,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n null\n );\n };\n exports.createHasPseudoClassSelector = function (selectors) {\n return { $$typeof: HAS_PSEUDO_CLASS_TYPE, value: selectors };\n };\n exports.createHydrationContainer = function (\n initialChildren,\n callback,\n containerInfo,\n tag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n ) {\n initialChildren = createFiberRoot(\n containerInfo,\n tag,\n !0,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n );\n initialChildren.context = getContextForSubtree(null);\n containerInfo = initialChildren.current;\n tag = requestUpdateLane();\n hydrationCallbacks = createUpdate(tag);\n hydrationCallbacks.callback =\n void 0 !== callback && null !== callback ? callback : null;\n enqueueUpdate(containerInfo, hydrationCallbacks, tag);\n initialChildren.current.lanes = tag;\n markRootUpdated$1(initialChildren, tag);\n ensureRootIsScheduled(initialChildren);\n return initialChildren;\n };\n exports.createPortal = function (children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n };\n exports.createRoleSelector = function (role) {\n return { $$typeof: ROLE_TYPE, value: role };\n };\n exports.createTestNameSelector = function (id) {\n return { $$typeof: TEST_NAME_TYPE, value: id };\n };\n exports.createTextSelector = function (text) {\n return { $$typeof: TEXT_TYPE, value: text };\n };\n exports.defaultOnCaughtError = function (error) {\n console.error(error);\n };\n exports.defaultOnRecoverableError = function (error) {\n reportGlobalError(error);\n };\n exports.defaultOnUncaughtError = function (error) {\n reportGlobalError(error);\n };\n exports.deferredUpdates = function (fn) {\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n return (\n setCurrentUpdatePriority(32), (ReactSharedInternals.T = null), fn()\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.discreteUpdates = function (fn, a, b, c, d) {\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n return (\n setCurrentUpdatePriority(2),\n (ReactSharedInternals.T = null),\n fn(a, b, c, d)\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition),\n 0 === executionContext &&\n (workInProgressRootRenderTargetTime = now() + 500);\n }\n };\n exports.findAllNodes = findAllNodes;\n exports.findBoundingRects = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n selectors = findAllNodes(hostRoot, selectors);\n hostRoot = [];\n for (var i = 0; i < selectors.length; i++)\n hostRoot.push(getBoundingRect(selectors[i]));\n for (selectors = hostRoot.length - 1; 0 < selectors; selectors--) {\n i = hostRoot[selectors];\n for (\n var targetLeft = i.x,\n targetRight = targetLeft + i.width,\n targetTop = i.y,\n targetBottom = targetTop + i.height,\n j = selectors - 1;\n 0 <= j;\n j--\n )\n if (selectors !== j) {\n var otherRect = hostRoot[j],\n otherLeft = otherRect.x,\n otherRight = otherLeft + otherRect.width,\n otherTop = otherRect.y,\n otherBottom = otherTop + otherRect.height;\n if (\n targetLeft >= otherLeft &&\n targetTop >= otherTop &&\n targetRight <= otherRight &&\n targetBottom <= otherBottom\n ) {\n hostRoot.splice(selectors, 1);\n break;\n } else if (\n !(\n targetLeft !== otherLeft ||\n i.width !== otherRect.width ||\n otherBottom < targetTop ||\n otherTop > targetBottom\n )\n ) {\n otherTop > targetTop &&\n ((otherRect.height += otherTop - targetTop),\n (otherRect.y = targetTop));\n otherBottom < targetBottom &&\n (otherRect.height = targetBottom - otherTop);\n hostRoot.splice(selectors, 1);\n break;\n } else if (\n !(\n targetTop !== otherTop ||\n i.height !== otherRect.height ||\n otherRight < targetLeft ||\n otherLeft > targetRight\n )\n ) {\n otherLeft > targetLeft &&\n ((otherRect.width += otherLeft - targetLeft),\n (otherRect.x = targetLeft));\n otherRight < targetRight &&\n (otherRect.width = targetRight - otherLeft);\n hostRoot.splice(selectors, 1);\n break;\n }\n }\n }\n return hostRoot;\n };\n exports.findHostInstance = findHostInstance;\n exports.findHostInstanceWithNoPortals = function (fiber) {\n fiber = findCurrentFiberUsingSlowPath(fiber);\n fiber =\n null !== fiber ? findCurrentHostFiberWithNoPortalsImpl(fiber) : null;\n return null === fiber ? null : getPublicInstance(fiber.stateNode);\n };\n exports.findHostInstanceWithWarning = function (component) {\n return findHostInstance(component);\n };\n exports.flushPassiveEffects = flushPassiveEffects;\n exports.flushSyncFromReconciler = function (fn) {\n var prevExecutionContext = executionContext;\n executionContext |= 1;\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n if ((setCurrentUpdatePriority(2), (ReactSharedInternals.T = null), fn))\n return fn();\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition),\n (executionContext = prevExecutionContext),\n 0 === (executionContext & 6) && flushSyncWorkAcrossRoots_impl(0, !1);\n }\n };\n exports.flushSyncWork = flushSyncWork;\n exports.focusWithin = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findFiberRootForHostRoot(hostRoot);\n selectors = findPaths(hostRoot, selectors);\n selectors = Array.from(selectors);\n for (hostRoot = 0; hostRoot < selectors.length; ) {\n var fiber = selectors[hostRoot++],\n tag = fiber.tag;\n if (!isHiddenSubtree(fiber)) {\n if (\n (5 === tag || 26 === tag || 27 === tag) &&\n setFocusIfFocusable(fiber.stateNode)\n )\n return !0;\n for (fiber = fiber.child; null !== fiber; )\n selectors.push(fiber), (fiber = fiber.sibling);\n }\n }\n return !1;\n };\n exports.getFindAllNodesFailureDescription = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n var maxSelectorIndex = 0,\n matchedNames = [];\n hostRoot = [findFiberRootForHostRoot(hostRoot), 0];\n for (var index = 0; index < hostRoot.length; ) {\n var fiber = hostRoot[index++],\n tag = fiber.tag,\n selectorIndex = hostRoot[index++],\n selector = selectors[selectorIndex];\n if ((5 !== tag && 26 !== tag && 27 !== tag) || !isHiddenSubtree(fiber))\n if (\n (matchSelector(fiber, selector) &&\n (matchedNames.push(selectorToString(selector)),\n selectorIndex++,\n selectorIndex > maxSelectorIndex &&\n (maxSelectorIndex = selectorIndex)),\n selectorIndex < selectors.length)\n )\n for (fiber = fiber.child; null !== fiber; )\n hostRoot.push(fiber, selectorIndex), (fiber = fiber.sibling);\n }\n if (maxSelectorIndex < selectors.length) {\n for (\n hostRoot = [];\n maxSelectorIndex < selectors.length;\n maxSelectorIndex++\n )\n hostRoot.push(selectorToString(selectors[maxSelectorIndex]));\n return (\n \"findAllNodes was able to match part of the selector:\\n \" +\n (matchedNames.join(\" > \") +\n \"\\n\\nNo matching component was found for:\\n \") +\n hostRoot.join(\" > \")\n );\n }\n return null;\n };\n exports.getPublicRootInstance = function (container) {\n container = container.current;\n if (!container.child) return null;\n switch (container.child.tag) {\n case 27:\n case 5:\n return getPublicInstance(container.child.stateNode);\n default:\n return container.child.stateNode;\n }\n };\n exports.injectIntoDevTools = function () {\n var internals = {\n bundleType: 0,\n version: rendererVersion,\n rendererPackageName: rendererPackageName,\n currentDispatcherRef: ReactSharedInternals,\n findFiberByHostInstance: getInstanceFromNode,\n reconcilerVersion: \"19.0.0\"\n };\n null !== extraDevToolsConfig &&\n (internals.rendererConfig = extraDevToolsConfig);\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) internals = !1;\n else {\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook.isDisabled || !hook.supportsFiber) internals = !0;\n else {\n try {\n (rendererID = hook.inject(internals)), (injectedHook = hook);\n } catch (err) {}\n internals = hook.checkDCE ? !0 : !1;\n }\n }\n return internals;\n };\n exports.isAlreadyRendering = function () {\n return !1;\n };\n exports.observeVisibleRects = function (\n hostRoot,\n selectors,\n callback,\n options\n ) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findAllNodes(hostRoot, selectors);\n var disconnect = setupIntersectionObserver(\n hostRoot,\n callback,\n options\n ).disconnect;\n return {\n disconnect: function () {\n disconnect();\n }\n };\n };\n exports.shouldError = function () {\n return null;\n };\n exports.shouldSuspend = function () {\n return !1;\n };\n exports.startHostTransition = function (\n formFiber,\n pendingState,\n action,\n formData\n ) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n NotPendingTransition,\n null === action\n ? noop\n : function () {\n var resetStateQueue =\n ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(\n formFiber,\n resetStateQueue,\n {},\n requestUpdateLane()\n );\n return action(formData);\n }\n );\n };\n exports.updateContainer = function (\n element,\n container,\n parentComponent,\n callback\n ) {\n var current = container.current,\n lane = requestUpdateLane();\n updateContainerImpl(\n current,\n lane,\n element,\n container,\n parentComponent,\n callback\n );\n return lane;\n };\n exports.updateContainerSync = function (\n element,\n container,\n parentComponent,\n callback\n ) {\n 0 === container.tag && flushPassiveEffects();\n updateContainerImpl(\n container.current,\n 2,\n element,\n container,\n parentComponent,\n callback\n );\n return 2;\n };\n return exports;\n};\nmodule.exports.default = module.exports;\nObject.defineProperty(module.exports, \"__esModule\", { value: !0 });\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler.production.js');\n} else {\n module.exports = require('./cjs/react-reconciler.development.js');\n}\n","/**\n * @license React\n * react-reconciler-constants.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nexports.ConcurrentRoot = 1;\nexports.ContinuousEventPriority = 8;\nexports.DefaultEventPriority = 32;\nexports.DiscreteEventPriority = 2;\nexports.IdleEventPriority = 268435456;\nexports.LegacyRoot = 0;\nexports.NoEventPriority = 0;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler-constants.production.js');\n} else {\n module.exports = require('./cjs/react-reconciler-constants.development.js');\n}\n","import { Konva } from 'konva/lib/Global.js';\nconst propsToSkip = {\n children: true,\n ref: true,\n key: true,\n style: true,\n forwardedRef: true,\n unstable_applyCache: true,\n unstable_applyDrawHitFromCache: true,\n};\nlet zIndexWarningShowed = false;\nlet dragWarningShowed = false;\nexport const EVENTS_NAMESPACE = '.react-konva-event';\nlet useStrictMode = false;\nexport function toggleStrictMode(value) {\n useStrictMode = value;\n}\nconst DRAGGABLE_WARNING = `ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.\nPosition of a node will be changed during drag&drop, so you should update state of the react app as well.\nConsider to add onDragMove or onDragEnd events.\nFor more info see: https://github.com/konvajs/react-konva/issues/256\n`;\nconst Z_INDEX_WARNING = `ReactKonva: You are using \"zIndex\" attribute for a Konva node.\nreact-konva may get confused with ordering. Just define correct order of elements in your render function of a component.\nFor more info see: https://github.com/konvajs/react-konva/issues/194\n`;\nconst EMPTY_PROPS = {};\nexport function applyNodeProps(instance, props, oldProps = EMPTY_PROPS) {\n // don't use zIndex in react-konva\n if (!zIndexWarningShowed && 'zIndex' in props) {\n console.warn(Z_INDEX_WARNING);\n zIndexWarningShowed = true;\n }\n // check correct draggable usage\n if (!dragWarningShowed && props.draggable) {\n var hasPosition = props.x !== undefined || props.y !== undefined;\n var hasEvents = props.onDragEnd || props.onDragMove;\n if (hasPosition && !hasEvents) {\n console.warn(DRAGGABLE_WARNING);\n dragWarningShowed = true;\n }\n }\n // check old props\n // we need to unset properties that are not in new props\n // and remove all events\n for (var key in oldProps) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var propChanged = oldProps[key] !== props[key];\n // if that is a changed event, we need to remove it\n if (isEvent && propChanged) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n instance.off(eventName, oldProps[key]);\n }\n var toRemove = !props.hasOwnProperty(key);\n if (toRemove) {\n instance.setAttr(key, undefined);\n }\n }\n var strictUpdate = useStrictMode || props._useStrictMode;\n var updatedProps = {};\n var hasUpdates = false;\n const newEvents = {};\n for (var key in props) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var toAdd = oldProps[key] !== props[key];\n if (isEvent && toAdd) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n // check that event is not undefined\n if (props[key]) {\n newEvents[eventName] = props[key];\n }\n }\n if (!isEvent &&\n (props[key] !== oldProps[key] ||\n (strictUpdate && props[key] !== instance.getAttr(key)))) {\n hasUpdates = true;\n updatedProps[key] = props[key];\n }\n }\n if (hasUpdates) {\n instance.setAttrs(updatedProps);\n updatePicture(instance);\n }\n // subscribe to events AFTER we set attrs\n // we need it to fix https://github.com/konvajs/react-konva/issues/471\n // settings attrs may add events. Like \"draggable: true\" will add \"mousedown\" listener\n for (var eventName in newEvents) {\n instance.on(eventName + EVENTS_NAMESPACE, newEvents[eventName]);\n }\n}\nexport function updatePicture(node) {\n if (!Konva.autoDrawEnabled) {\n var drawingNode = node.getLayer() || node.getStage();\n drawingNode && drawingNode.batchDraw();\n }\n}\n","import Konva from 'konva/lib/Core.js';\nimport { applyNodeProps, updatePicture, EVENTS_NAMESPACE, } from './makeUpdates.js';\nexport { unstable_now as now, unstable_IdlePriority as idlePriority, unstable_runWithPriority as run, } from 'scheduler';\nimport { \n// NoEventPriority,\nDefaultEventPriority, } from 'react-reconciler/constants.js';\nconst NO_CONTEXT = {};\nconst UPDATE_SIGNAL = {};\n// for react-spring capability\nKonva.Node.prototype._applyProps = applyNodeProps;\n// let currentUpdatePriority: number = NoEventPriority;\nlet currentUpdatePriority = DefaultEventPriority;\nexport function appendInitialChild(parentInstance, child) {\n if (typeof child === 'string') {\n // Noop for string children of Text (eg foo)\n console.error(`Do not use plain text as child of Konva.Node. You are using text: ${child}`);\n return;\n }\n parentInstance.add(child);\n updatePicture(parentInstance);\n}\nexport function createInstance(type, props, internalInstanceHandle) {\n let NodeClass = Konva[type];\n if (!NodeClass) {\n console.error(`Konva has no node with the type ${type}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: \"import \"konva/lib/shapes/${type}\" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`);\n NodeClass = Konva.Group;\n }\n // we need to split props into events and non events\n // we we can pass non events into constructor directly\n // that way the performance should be better\n // we we apply change \"applyNodeProps\"\n // then it will trigger change events on first run\n // but we don't need them!\n const propsWithoutEvents = {};\n const propsWithOnlyEvents = {};\n for (var key in props) {\n var isEvent = key.slice(0, 2) === 'on';\n if (isEvent) {\n propsWithOnlyEvents[key] = props[key];\n }\n else {\n propsWithoutEvents[key] = props[key];\n }\n }\n const instance = new NodeClass(propsWithoutEvents);\n applyNodeProps(instance, propsWithOnlyEvents);\n return instance;\n}\nexport function createTextInstance(text, rootContainerInstance, internalInstanceHandle) {\n console.error(`Text components are not supported for now in ReactKonva. Your text is: \"${text}\"`);\n}\nexport function finalizeInitialChildren(domElement, type, props) {\n return false;\n}\nexport function getPublicInstance(instance) {\n return instance;\n}\nexport function prepareForCommit() {\n return null;\n}\nexport function preparePortalMount() {\n return null;\n}\nexport function prepareUpdate(domElement, type, oldProps, newProps) {\n return UPDATE_SIGNAL;\n}\nexport function resetAfterCommit() {\n // Noop\n}\nexport function resetTextContent(domElement) {\n // Noop\n}\nexport function shouldDeprioritizeSubtree(type, props) {\n return false;\n}\nexport function getRootHostContext() {\n return NO_CONTEXT;\n}\nexport function getChildHostContext() {\n return NO_CONTEXT;\n}\nexport const scheduleTimeout = setTimeout;\nexport const cancelTimeout = clearTimeout;\nexport const noTimeout = -1;\n// export const schedulePassiveEffects = scheduleDeferredCallback;\n// export const cancelPassiveEffects = cancelDeferredCallback;\nexport function shouldSetTextContent(type, props) {\n return false;\n}\n// The Konva renderer is secondary to the React DOM renderer.\nexport const isPrimaryRenderer = false;\nexport const warnsIfNotActing = true;\nexport const supportsMutation = true;\nexport const supportsPersistence = false;\nexport const supportsHydration = false;\nexport function appendChild(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function appendChildToContainer(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function insertBefore(parentInstance, child, beforeChild) {\n // child._remove() will not stop dragging\n // but child.remove() will stop it, but we don't need it\n // removing will reset zIndexes\n child._remove();\n parentInstance.add(child);\n child.setZIndex(beforeChild.getZIndex());\n updatePicture(parentInstance);\n}\nexport function insertInContainerBefore(parentInstance, child, beforeChild) {\n insertBefore(parentInstance, child, beforeChild);\n}\nexport function removeChild(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function removeChildFromContainer(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function commitTextUpdate(textInstance, oldText, newText) {\n console.error(`Text components are not yet supported in ReactKonva. You text is: \"${newText}\"`);\n}\nexport function commitMount(instance, type, newProps) {\n // Noop\n}\nexport function commitUpdate(instance, type, oldProps, newProps) {\n applyNodeProps(instance, newProps, oldProps);\n}\nexport function hideInstance(instance) {\n instance.hide();\n updatePicture(instance);\n}\nexport function hideTextInstance(textInstance) {\n // Noop\n}\nexport function unhideInstance(instance, props) {\n if (props.visible == null || props.visible) {\n instance.show();\n }\n}\nexport function unhideTextInstance(textInstance, text) {\n // Noop\n}\nexport function clearContainer(container) {\n // Noop\n}\nexport function detachDeletedInstance() { }\nexport function getCurrentEventPriority() {\n return currentUpdatePriority;\n}\nexport function prepareScopeUpdate() { }\nexport function getInstanceFromScope() {\n return null;\n}\nexport function setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nexport function getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nexport function resolveUpdatePriority() {\n return currentUpdatePriority || DefaultEventPriority;\n}\nexport function shouldAttemptEagerTransition() {\n return false;\n}\nexport function requestPostPaintCallback() { }\nexport function maySuspendCommit() {\n return false;\n}\nexport function preloadInstance() {\n return true;\n}\nexport function startSuspendingCommit() { }\nexport function suspendInstance() { }\nexport function waitForCommitToBeReady() {\n return null;\n}\nexport const NotPendingTransition = null;\nexport function resetFormInstance() { }\n","import * as React from \"react\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar _a, _b;\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" && (((_a = window.document) == null ? void 0 : _a.createElement) || ((_b = window.navigator) == null ? void 0 : _b.product) === \"ReactNative\") ? React.useLayoutEffect : React.useEffect;\nfunction traverseFiber(fiber, ascending, selector) {\n if (!fiber)\n return;\n if (selector(fiber) === true)\n return fiber;\n let child = ascending ? fiber.return : fiber.child;\n while (child) {\n const match = traverseFiber(child, ascending, selector);\n if (match)\n return match;\n child = ascending ? null : child.sibling;\n }\n}\nfunction wrapContext(context) {\n try {\n return Object.defineProperties(context, {\n _currentRenderer: {\n get() {\n return null;\n },\n set() {\n }\n },\n _currentRenderer2: {\n get() {\n return null;\n },\n set() {\n }\n }\n });\n } catch (_) {\n return context;\n }\n}\nconst error = console.error;\nconsole.error = function() {\n const message = [...arguments].join(\"\");\n if ((message == null ? void 0 : message.startsWith(\"Warning:\")) && message.includes(\"useContext\")) {\n console.error = error;\n return;\n }\n return error.apply(this, arguments);\n};\nconst FiberContext = wrapContext(React.createContext(null));\nclass FiberProvider extends React.Component {\n render() {\n return /* @__PURE__ */ React.createElement(FiberContext.Provider, {\n value: this._reactInternals\n }, this.props.children);\n }\n}\nfunction useFiber() {\n const root = React.useContext(FiberContext);\n if (root === null)\n throw new Error(\"its-fine: useFiber must be called within a !\");\n const id = React.useId();\n const fiber = React.useMemo(() => {\n for (const maybeFiber of [root, root == null ? void 0 : root.alternate]) {\n if (!maybeFiber)\n continue;\n const fiber2 = traverseFiber(maybeFiber, false, (node) => {\n let state = node.memoizedState;\n while (state) {\n if (state.memoizedState === id)\n return true;\n state = state.next;\n }\n });\n if (fiber2)\n return fiber2;\n }\n }, [root, id]);\n return fiber;\n}\nfunction useContainer() {\n const fiber = useFiber();\n const root = React.useMemo(\n () => traverseFiber(fiber, true, (node) => {\n var _a2;\n return ((_a2 = node.stateNode) == null ? void 0 : _a2.containerInfo) != null;\n }),\n [fiber]\n );\n return root == null ? void 0 : root.stateNode.containerInfo;\n}\nfunction useNearestChild(type) {\n const fiber = useFiber();\n const childRef = React.useRef();\n useIsomorphicLayoutEffect(() => {\n var _a2;\n childRef.current = (_a2 = traverseFiber(\n fiber,\n false,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a2.stateNode;\n }, [fiber]);\n return childRef;\n}\nfunction useNearestParent(type) {\n const fiber = useFiber();\n const parentRef = React.useRef();\n useIsomorphicLayoutEffect(() => {\n var _a2;\n parentRef.current = (_a2 = traverseFiber(\n fiber,\n true,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a2.stateNode;\n }, [fiber]);\n return parentRef;\n}\nfunction useContextMap() {\n const fiber = useFiber();\n const [contextMap] = React.useState(() => /* @__PURE__ */ new Map());\n contextMap.clear();\n let node = fiber;\n while (node) {\n if (node.type && typeof node.type === \"object\") {\n const enableRenderableContext = node.type._context === void 0 && node.type.Provider === node.type;\n const context = enableRenderableContext ? node.type : node.type._context;\n if (context && context !== FiberContext && !contextMap.has(context)) {\n contextMap.set(context, React.useContext(wrapContext(context)));\n }\n }\n node = node.return;\n }\n return contextMap;\n}\nfunction useContextBridge() {\n const contextMap = useContextMap();\n return React.useMemo(\n () => Array.from(contextMap.keys()).reduce(\n (Prev, context) => (props) => /* @__PURE__ */ React.createElement(Prev, null, /* @__PURE__ */ React.createElement(context.Provider, __spreadProps(__spreadValues({}, props), {\n value: contextMap.get(context)\n }))),\n (props) => /* @__PURE__ */ React.createElement(FiberProvider, __spreadValues({}, props))\n ),\n [contextMap]\n );\n}\nexport {\n FiberProvider,\n traverseFiber,\n useContainer,\n useContextBridge,\n useContextMap,\n useFiber,\n useNearestChild,\n useNearestParent\n};\n//# sourceMappingURL=index.js.map\n","/**\n * Based on ReactArt.js\n * Copyright (c) 2017-present Lavrenov Anton.\n * All rights reserved.\n *\n * MIT\n */\n'use strict';\nimport React from 'react';\nimport Konva from 'konva/lib/Core.js';\nimport ReactFiberReconciler from 'react-reconciler';\nimport { ConcurrentRoot } from 'react-reconciler/constants.js';\nimport * as HostConfig from './ReactKonvaHostConfig.js';\nimport { applyNodeProps, toggleStrictMode } from './makeUpdates.js';\nimport { useContextBridge, FiberProvider } from 'its-fine';\nfunction usePrevious(value) {\n const ref = React.useRef({});\n React.useLayoutEffect(() => {\n ref.current = value;\n });\n React.useLayoutEffect(() => {\n return () => {\n // when using suspense it is possible that stage is unmounted\n // but React still keep component ref\n // in that case we need to manually flush props\n // we have a special test for that\n ref.current = {};\n };\n }, []);\n return ref.current;\n}\nconst StageWrap = (props) => {\n const container = React.useRef(null);\n const stage = React.useRef(null);\n const fiberRef = React.useRef(null);\n const oldProps = usePrevious(props);\n const Bridge = useContextBridge();\n const _setRef = (stage) => {\n const { forwardedRef } = props;\n if (!forwardedRef) {\n return;\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(stage);\n }\n else {\n forwardedRef.current = stage;\n }\n };\n React.useLayoutEffect(() => {\n stage.current = new Konva.Stage({\n width: props.width,\n height: props.height,\n container: container.current,\n });\n _setRef(stage.current);\n // @ts-ignore\n fiberRef.current = KonvaRenderer.createContainer(stage.current, ConcurrentRoot, null, false, null, '', console.error, console.error, console.error, null);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current, null, () => { });\n return () => {\n if (!Konva.isBrowser) {\n return;\n }\n _setRef(null);\n KonvaRenderer.updateContainer(null, fiberRef.current, null);\n stage.current.destroy();\n };\n }, []);\n React.useLayoutEffect(() => {\n _setRef(stage.current);\n applyNodeProps(stage.current, props, oldProps);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current, null);\n });\n return React.createElement('div', {\n ref: container,\n id: props.id,\n accessKey: props.accessKey,\n className: props.className,\n role: props.role,\n style: props.style,\n tabIndex: props.tabIndex,\n title: props.title,\n });\n};\nexport const Layer = 'Layer';\nexport const FastLayer = 'FastLayer';\nexport const Group = 'Group';\nexport const Label = 'Label';\nexport const Rect = 'Rect';\nexport const Circle = 'Circle';\nexport const Ellipse = 'Ellipse';\nexport const Wedge = 'Wedge';\nexport const Line = 'Line';\nexport const Sprite = 'Sprite';\nexport const Image = 'Image';\nexport const Text = 'Text';\nexport const TextPath = 'TextPath';\nexport const Star = 'Star';\nexport const Ring = 'Ring';\nexport const Arc = 'Arc';\nexport const Tag = 'Tag';\nexport const Path = 'Path';\nexport const RegularPolygon = 'RegularPolygon';\nexport const Arrow = 'Arrow';\nexport const Shape = 'Shape';\nexport const Transformer = 'Transformer';\n// @ts-ignore\nexport const KonvaRenderer = ReactFiberReconciler(HostConfig);\nKonvaRenderer.injectIntoDevTools({\n // @ts-ignore\n findHostInstanceByFiber: () => null,\n bundleType: process.env.NODE_ENV !== 'production' ? 1 : 0,\n version: React.version,\n rendererPackageName: 'react-konva',\n});\n// Update Stage component declaration\nexport const Stage = React.forwardRef((props, ref) => {\n return React.createElement(FiberProvider, {}, React.createElement(StageWrap, { ...props, forwardedRef: ref }));\n});\nexport const useStrictMode = toggleStrictMode;\n","var getDimensionsMinimalRatio=function(a,b,c,d){return Math.min(a/c,b/d)||1};export default getDimensionsMinimalRatio;","export var ROOT_CONTAINER_CLASS_NAME=\"FIE_root\";export var DESIGN_LAYER_ID=\"FIE_design-layer\";export var TRANSFORMERS_LAYER_ID=\"FIE_transformers-layer\";export var IMAGE_NODE_ID=\"FIE_original-image\";export var NODES_TRANSFORMER_ID=\"FIE_nodes-transformer\";export var WATERMARK_ANNOTATION_ID=\"watermark\";export var TRANSLATIONS_GRID_UUID=\"353297d2-40b4-4684-a875-45a2178a8157\";export var DEFAULT_SAVE_QUALITY=.92;export var TABS_IDS={FINETUNE:\"Finetune\",FILTERS:\"Filters\",ADJUST:\"Adjust\",WATERMARK:\"Watermark\",ANNOTATE:\"Annotate\",RESIZE:\"Resize\"};export var TOOLS_IDS={CROP:\"Crop\",ROTATE:\"Rotate\",FLIP_X:\"Flip_X\",FLIP_Y:\"Flip_Y\",BRIGHTNESS:\"Brightness\",CONTRAST:\"Contrast\",HSV:\"HueSaturationValue\",WARMTH:\"Warmth\",BLUR:\"Blur\",THRESHOLD:\"Threshold\",POSTERIZE:\"Posterize\",PIXELATE:\"Pixelate\",NOISE:\"Noise\",FILTERS:\"Filters\",RECT:\"Rect\",ELLIPSE:\"Ellipse\",POLYGON:\"Polygon\",TEXT:\"Text\",LINE:\"Line\",IMAGE:\"Image\",ARROW:\"Arrow\",WATERMARK:\"Watermark\",PEN:\"Pen\",RESIZE:\"Resize\"};export var FLIP_DIRECTIONS={X:\"X\",Y:\"Y\"};export var DEFAULT_ZOOM_FACTOR=1;export var SUPPORTED_IMAGE_TYPES=[\"png\",\"jpeg\",\"jpg\",\"webp\"];export var POSSIBLE_IMAGE_TYPES=[].concat(SUPPORTED_IMAGE_TYPES,[\"svg\",\"gif\",\"avif\",\"apng\"]);export var DEFAULT_IMAGE_TYPE=SUPPORTED_IMAGE_TYPES[0];export var POINTER_ICONS={DEFAULT:\"default\",DRAW:\"crosshair\",SELECT:\"pointer\",MOVE:\"move\",DRAG:\"GRAB\"};export var DEFAULT_ENABLED_ANCHORS=[\"top-left\",\"top-center\",\"top-right\",\"middle-right\",\"middle-left\",\"bottom-left\",\"bottom-center\",\"bottom-right\"];export var ORIGINAL_CROP=\"Crop\";export var CUSTOM_CROP=\"custom\";export var ELLIPSE_CROP=\"ellipse\";export var POSITIONS={TOP_LEFT:\"top-left\",TOP_CENTER:\"top-center\",TOP_RIGHT:\"top-right\",MIDDLE_LEFT:\"middle-left\",MIDDLE_CENTER:\"middle-center\",MIDDLE_RIGHT:\"middle-right\",BOTTOM_LEFT:\"bottom-left\",BOTTOM_CENTER:\"bottom-center\",BOTTOM_RIGHT:\"bottom-right\"};export var MIN_CROP={WIDTH:14,HEIGHT:14};export var CLOSING_REASONS={AFTER_SAVE:\"after-saving\",CLOSE_BUTTON:\"close-button-clicked\",BACK_BUTTON:\"back-button-clicked\"};export var FEEDBACK_STATUSES={WARNING:\"warning\",ERROR:\"error\"};export var EDITOR_TO_CLOUDIMG_POSITIONS={top:\"north\",bottom:\"south\",left:\"west\",center:\"center\",right:\"east\"};export var CLOUDIMG_TO_EDITOR_POSITIONS={northwest:\"top-left\",northcenter:\"top-center\",northeast:\"top-right\",centerwest:\"center-left\",centercenter:\"center-center\",centereast:\"center-right\",southwest:\"bottom-left\",southcenter:\"bottom-center\",southeast:\"bottom-right\"};","import{ELLIPSE_CROP}from\"./constants\";var cropImage=function(a,b){var c=!!(2 {\n exports.Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nexports._registerNode = _registerNode;\nexports.Konva._injectGlobal(exports.Konva);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Transform = void 0;\nconst Global_1 = require(\"./Global\");\nclass Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n var m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n var c = Math.cos(rad);\n var s = Math.sin(rad);\n var m11 = this.m[0] * c + this.m[2] * s;\n var m12 = this.m[1] * c + this.m[3] * s;\n var m21 = this.m[0] * -s + this.m[2] * c;\n var m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n var m11 = this.m[0] + this.m[2] * sy;\n var m12 = this.m[1] + this.m[3] * sy;\n var m21 = this.m[2] + this.m[0] * sx;\n var m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n var m0 = this.m[3] * d;\n var m1 = -this.m[1] * d;\n var m2 = -this.m[2] * d;\n var m3 = this.m[0] * d;\n var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n var a = this.m[0];\n var b = this.m[1];\n var c = this.m[2];\n var d = this.m[3];\n var e = this.m[4];\n var f = this.m[5];\n var delta = a * d - b * c;\n let result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n var r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n var s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = exports.Util._getRotation(result.rotation);\n return result;\n }\n}\nexports.Transform = Transform;\nvar OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/, animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexports.Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n var firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n var canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n var imageObj = exports.Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n var bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n var randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n var rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (exports.Util._namedColorToRBA(str) ||\n exports.Util._hex3ColorToRGBA(str) ||\n exports.Util._hex4ColorToRGBA(str) ||\n exports.Util._hex6ColorToRGBA(str) ||\n exports.Util._hex8ColorToRGBA(str) ||\n exports.Util._rgbColorToRGBA(str) ||\n exports.Util._rgbaColorToRGBA(str) ||\n exports.Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n var c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n var retObj = {};\n for (var key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n exports.Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return exports.Util.degToRad(deg);\n },\n _radToDeg(rad) {\n exports.Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return exports.Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Global_1.Konva.angleDeg ? exports.Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Global_1.Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (var key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n var x, y, dist;\n var pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n var u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n var pc = exports.Util.cloneObject(pt);\n var dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n var p2 = line[(i + 1) % line.length];\n var proj = exports.Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n var px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n var n, start = [], end = [];\n if (startArray.length > endArray.length) {\n var temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n var newStart = [];\n end.forEach(function (point) {\n var pr = exports.Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n var desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (var key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n exports.Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (exports.Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Global_1.Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach((c) => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getComponentValidator = exports.getBooleanValidator = exports.getNumberArrayValidator = exports.getFunctionValidator = exports.getStringOrGradientValidator = exports.getStringValidator = exports.getNumberOrAutoValidator = exports.getNumberOrArrayOfNumbersValidator = exports.getNumberValidator = exports.alphaComponent = exports.RGBComponent = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nfunction _formatValue(val) {\n if (Util_1.Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util_1.Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nfunction RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nexports.RGBComponent = RGBComponent;\nfunction alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nexports.alphaComponent = alphaComponent;\nfunction getNumberValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isNumber(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nexports.getNumberValidator = getNumberValidator;\nfunction getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util_1.Util._isNumber(val);\n let isValidArray = Util_1.Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nexports.getNumberOrArrayOfNumbersValidator = getNumberOrArrayOfNumbersValidator;\nfunction getNumberOrAutoValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util_1.Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nexports.getNumberOrAutoValidator = getNumberOrAutoValidator;\nfunction getStringValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isString(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nexports.getStringValidator = getStringValidator;\nfunction getStringOrGradientValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util_1.Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val.addColorStop);\n if (!(isString || isGradient)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nexports.getStringOrGradientValidator = getStringOrGradientValidator;\nfunction getFunctionValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isFunction(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nexports.getFunctionValidator = getFunctionValidator;\nfunction getNumberArrayValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util_1.Util._isArray(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util_1.Util._isNumber(item)) {\n Util_1.Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nexports.getNumberArrayValidator = getNumberArrayValidator;\nfunction getBooleanValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nexports.getBooleanValidator = getBooleanValidator;\nfunction getComponentValidator(components) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util_1.Util.isObject(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\nexports.getComponentValidator = getComponentValidator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Factory = void 0;\nconst Util_1 = require(\"./Util\");\nconst Validators_1 = require(\"./Validators\");\nvar GET = 'get', SET = 'set';\nexports.Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n exports.Factory.addGetter(constructor, attr, def);\n exports.Factory.addSetter(constructor, attr, validator, after);\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n exports.Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n var len = components.length, capitalize = Util_1.Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr), n, component;\n constructor.prototype[getter] = function () {\n var ret = {};\n for (n = 0; n < len; n++) {\n component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n var basicValidator = (0, Validators_1.getComponentValidator)(components);\n constructor.prototype[setter] = function (val) {\n var oldVal = this.attrs[attr], key;\n if (validator) {\n val = validator.call(this, val);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util_1.Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util_1.Util.error('Adding deprecated ' + attr);\n var method = GET + Util_1.Util._capitalize(attr);\n var message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util_1.Util.error(message);\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n exports.Factory.addSetter(constructor, attr, validator, function () {\n Util_1.Util.error(message);\n });\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util_1.Util.each(methods, function (oldMethodName, newMethodName) {\n var method = constructor.prototype[newMethodName];\n var oldGetter = GET + Util_1.Util._capitalize(oldMethodName);\n var oldSetter = SET + Util_1.Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util_1.Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitContext = exports.SceneContext = exports.Context = void 0;\nconst Util_1 = require(\"./Util\");\nconst Global_1 = require(\"./Global\");\nfunction simplifyArray(arr) {\n var retArr = [], len = arr.length, util = Util_1.Util, n, val;\n for (n = 0; n < len; n++) {\n val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nvar COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'roundRect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nvar CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'letterSpacing',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'direction',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nclass Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Global_1.Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n var traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util_1.Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n var traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n var canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n var absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(x, y, radius, startAngle, endAngle, counterClockwise) {\n this._context.arc(x, y, radius, startAngle, endAngle, counterClockwise);\n }\n arcTo(x1, y1, x2, y2, radius) {\n this._context.arcTo(x1, y1, x2, y2, radius);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\n this._context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n clearRect(x, y, width, height) {\n this._context.clearRect(x, y, width, height);\n }\n clip(...args) {\n this._context.clip.apply(this._context, args);\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(width, height) {\n var a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(width, height);\n }\n else if (a.length === 1) {\n return this._context.createImageData(width);\n }\n }\n createLinearGradient(x0, y0, x1, y1) {\n return this._context.createLinearGradient(x0, y0, x1, y1);\n }\n createPattern(image, repetition) {\n return this._context.createPattern(image, repetition);\n }\n createRadialGradient(x0, y0, r0, x1, y1, r1) {\n return this._context.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) {\n var a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(image, sx, sy);\n }\n else if (a.length === 5) {\n _context.drawImage(image, sx, sy, sWidth, sHeight);\n }\n else if (a.length === 9) {\n _context.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n }\n ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise) {\n this._context.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(...args) {\n this._context.fill.apply(this._context, args);\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(sx, sy, sw, sh) {\n return this._context.getImageData(sx, sy, sw, sh);\n }\n lineTo(x, y) {\n this._context.lineTo(x, y);\n }\n moveTo(x, y) {\n this._context.moveTo(x, y);\n }\n rect(x, y, width, height) {\n this._context.rect(x, y, width, height);\n }\n roundRect(x, y, width, height, radii) {\n this._context.roundRect(x, y, width, height, radii);\n }\n putImageData(imageData, dx, dy) {\n this._context.putImageData(imageData, dx, dy);\n }\n quadraticCurveTo(cpx, cpy, x, y) {\n this._context.quadraticCurveTo(cpx, cpy, x, y);\n }\n restore() {\n this._context.restore();\n }\n rotate(angle) {\n this._context.rotate(angle);\n }\n save() {\n this._context.save();\n }\n scale(x, y) {\n this._context.scale(x, y);\n }\n setLineDash(segments) {\n if (this._context.setLineDash) {\n this._context.setLineDash(segments);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = segments;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = segments;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a, b, c, d, e, f) {\n this._context.setTransform(a, b, c, d, e, f);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(text, x, y, maxWidth) {\n this._context.strokeText(text, x, y, maxWidth);\n }\n transform(a, b, c, d, e, f) {\n this._context.transform(a, b, c, d, e, f);\n }\n translate(x, y) {\n this._context.translate(x, y);\n }\n _enableTrace() {\n var that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n var func = function (methodName) {\n var origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n var prop = arguments[0];\n var val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n var def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nexports.Context = Context;\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nclass SceneContext extends Context {\n constructor(canvas, { willReadFrequently = false } = {}) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently,\n });\n }\n _fillColor(shape) {\n var fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n var grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n var dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n var hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n var color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexports.SceneContext = SceneContext;\nclass HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n var hitStrokeWidth = shape.hitStrokeWidth();\n var strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\nexports.HitContext = HitContext;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitCanvas = exports.SceneCanvas = exports.Canvas = void 0;\nconst Util_1 = require(\"./Util\");\nconst Context_1 = require(\"./Context\");\nconst Global_1 = require(\"./Global\");\nconst Factory_1 = require(\"./Factory\");\nconst Validators_1 = require(\"./Validators\");\nvar _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n var canvas = Util_1.Util.createCanvasElement();\n var context = canvas.getContext('2d');\n _pixelRatio = (function () {\n var devicePixelRatio = Global_1.Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util_1.Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nclass Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n var conf = config || {};\n var pixelRatio = conf.pixelRatio || Global_1.Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util_1.Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n var previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util_1.Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nexports.Canvas = Canvas;\nFactory_1.Factory.addGetterSetter(Canvas, 'pixelRatio', undefined, (0, Validators_1.getNumberValidator)());\nclass SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0, willReadFrequently: false }) {\n super(config);\n this.context = new Context_1.SceneContext(this, {\n willReadFrequently: config.willReadFrequently,\n });\n this.setSize(config.width, config.height);\n }\n}\nexports.SceneCanvas = SceneCanvas;\nclass HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new Context_1.HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexports.HitCanvas = HitCanvas;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DD = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nexports.DD = {\n get isDragging() {\n var flag = false;\n exports.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n var node;\n exports.DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n exports.DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util_1.Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n var dragDistance = node.dragDistance();\n var distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n exports.DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n exports.DD.justDragged = true;\n Global_1.Konva._mouseListenClick = false;\n Global_1.Konva._touchListenClick = false;\n Global_1.Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Global_1.Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n exports.DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n exports.DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Global_1.Konva.isBrowser) {\n window.addEventListener('mouseup', exports.DD._endDragBefore, true);\n window.addEventListener('touchend', exports.DD._endDragBefore, true);\n window.addEventListener('mousemove', exports.DD._drag);\n window.addEventListener('touchmove', exports.DD._drag);\n window.addEventListener('mouseup', exports.DD._endDragAfter, false);\n window.addEventListener('touchend', exports.DD._endDragAfter, false);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Global_1 = require(\"./Global\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Validators_1 = require(\"./Validators\");\nvar ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nclass Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n var cache = this._cache.get(attr);\n var isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n var invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util_1.Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n var conf = config || {};\n var rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent() || undefined,\n });\n }\n var width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util_1.Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n const extraPaddingX = Math.abs(Math.round(rect.x) - x) > 0.5 ? 1 : 0;\n const extraPaddingY = Math.abs(Math.round(rect.y) - y) > 0.5 ? 1 : 0;\n width += offset * 2 + extraPaddingX;\n height += offset * 2 + extraPaddingY;\n x -= offset;\n y -= offset;\n var cachedSceneCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n willReadFrequently: true,\n }), cachedHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n var points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n var trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n var transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n var cacheCanvas = this._getCachedSceneCanvas();\n var ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n var canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n var filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n var ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util_1.Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util_1.Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n var events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n var events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n var e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n var stopNode = this;\n this.on(event, function (evt) {\n var targets = evt.target.findAncestors(selector, true, stopNode);\n for (var i = 0; i < targets.length; i++) {\n evt = Util_1.Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DragAndDrop_1.DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n var parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n var method = 'get' + Util_1.Util._capitalize(attr);\n if (Util_1.Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n var parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return (this.attrs || {});\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n var key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util_1.Util._capitalize(key);\n if (Util_1.Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n var layer = this.getLayer();\n var layerUnderDrag = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n var dragSkip = !skipDragCheck &&\n !Global_1.Konva.hitOnDragEnabled &&\n (layerUnderDrag || Global_1.Konva.isTransforming());\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n var depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n const stage = this.getStage();\n if (that.nodeType !== UPPER_STAGE && stage) {\n addChildren(stage.getChildren());\n }\n return index;\n }\n getDepth() {\n var depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n const stage = this.getStage();\n if (!stage) {\n return null;\n }\n var pos = stage.getPointerPosition();\n if (!pos) {\n return null;\n }\n var transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n var absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Util_1.Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n const { x, y, ...origTrans } = this._clearTransform();\n this.attrs.x = x;\n this.attrs.y = y;\n this._clearCache(TRANSFORM);\n var it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n var key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n var trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n var changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n var family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util_1.Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n var index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n var absOpacity = this.opacity();\n var parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n var attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n const obj = {\n attrs: {},\n className: this.getClassName(),\n };\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util_1.Util.isObject(val) && !Util_1.Util._isPlainObject(val) && !Util_1.Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n return Util_1.Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n var res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n var ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n var selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util_1.Util.isValidSelector(sel)) {\n Util_1.Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util_1.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util_1.Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n var parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n var parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return null;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n var at;\n if (top) {\n at = new Util_1.Transform();\n this._eachAncestorReverse(function (node) {\n var transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Util_1.Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n var transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n var parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n var m = this._cache.get(TRANSFORM) || new Util_1.Transform();\n m.reset();\n var x = this.x(), y = this.y(), rotation = Global_1.Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n var attrs = Util_1.Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n var node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n var box = this.getClientRect();\n var stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new Canvas_1.SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n const bufferCanvas = new Canvas_1.SceneCanvas({\n width: canvas.width / canvas.pixelRatio + Math.abs(x),\n height: canvas.height / canvas.pixelRatio + Math.abs(y),\n pixelRatio: canvas.pixelRatio,\n });\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas, undefined, bufferCanvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n var mimeType = config.mimeType || null, quality = config.quality || null;\n var url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util_1.Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n }, config === null || config === void 0 ? void 0 : config.mimeType, config === null || config === void 0 ? void 0 : config.quality);\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Global_1.Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n var evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n var oldName = this.name();\n var newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n var names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n var names = (this.name() || '').split(/\\s/g);\n var index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n var func = this[SET + Util_1.Util._capitalize(attr)];\n if (Util_1.Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Global_1.Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n var oldVal = this.attrs[key];\n if (oldVal === val && !Util_1.Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n var oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n var shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n var stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n var _a, _b, _c;\n const allListeners = (_a = this._cache.get(ALL_LISTENERS)) !== null && _a !== void 0 ? _a : {};\n let events = allListeners === null || allListeners === void 0 ? void 0 : allListeners[eventType];\n if (events === undefined) {\n events = [];\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n const hierarchyEvents = (_c = (_b = obj.eventListeners) === null || _b === void 0 ? void 0 : _b[eventType]) !== null && _c !== void 0 ? _c : [];\n events.push(...hierarchyEvents);\n obj = Object.getPrototypeOf(obj);\n }\n allListeners[eventType] = events;\n this._cache.set(ALL_LISTENERS, allListeners);\n }\n return events;\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n var pointerId = evt ? evt.pointerId : undefined;\n var stage = this.getStage();\n var ap = this.getAbsolutePosition();\n if (!stage) {\n return;\n }\n var pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DragAndDrop_1.DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DragAndDrop_1.DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n var newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n var dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util_1.Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DragAndDrop_1.DD._endDragBefore(evt);\n DragAndDrop_1.DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n var shouldCheckButton = evt.evt['button'] !== undefined;\n var canDrag = !shouldCheckButton || Global_1.Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n var hasDraggingChild = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n var stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DragAndDrop_1.DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DragAndDrop_1.DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util_1.Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util_1.Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n var className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Global_1.Konva[className]) {\n Util_1.Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Global_1.Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nexports.Node = Node;\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory_1.Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'y', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'opacity', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'name', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'id', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'rotation', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'scaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'skewY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'offsetY', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'dragDistance', null, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'width', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'height', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'listening', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'preventDefault', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'filters', null, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'transformsEnabled', 'all', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Container = void 0;\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nclass Container extends Node_1.Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n var results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (var i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n var result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n var retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n var obj = Node_1.Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n var parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n var node = Node_1.Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n var arr = [];\n this.find('Shape').forEach((shape) => {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top, bufferCanvas) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n var caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top, bufferCanvas);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top, bufferCanvas) {\n var _a;\n var context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (typeof clipWidth === 'number' && typeof clipHeight === 'number') ||\n clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n var transform = this.getAbsoluteTransform(top);\n var m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n let clipArgs;\n if (clipFunc) {\n clipArgs = clipFunc.call(this, context, this);\n }\n else {\n var clipX = this.clipX();\n var clipY = this.clipY();\n context.rect(clipX || 0, clipY || 0, clipWidth, clipHeight);\n }\n context.clip.apply(context, clipArgs);\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n var hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top, bufferCanvas);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config = {}) {\n var _a;\n var skipTransform = config.skipTransform;\n var relativeTo = config.relativeTo;\n var minX, minY, maxX, maxY;\n var selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n var that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n var rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n var shapes = this.find('Shape');\n var hasVisible = false;\n for (var i = 0; i < shapes.length; i++) {\n var shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nexports.Container = Container;\nFactory_1.Factory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory_1.Factory.addGetterSetter(Container, 'clipX', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipY', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipWidth', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipHeight', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipFunc');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseCapture = exports.setPointerCapture = exports.hasPointerCapture = exports.createEvent = exports.getCapturedShape = void 0;\nconst Global_1 = require(\"./Global\");\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;\nfunction getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nexports.getCapturedShape = getCapturedShape;\nfunction createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nexports.createEvent = createEvent;\nfunction hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nexports.hasPointerCapture = hasPointerCapture;\nfunction setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nexports.setPointerCapture = setPointerCapture;\nfunction releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\nexports.releaseCapture = releaseCapture;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stage = exports.stages = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nconst Canvas_1 = require(\"./Canvas\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nvar STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Global_1.Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util_1.Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexports.stages = [];\nclass Stage extends Container_1.Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n exports.stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util_1.Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n var className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n var layers = this.children, len = layers.length, n;\n for (n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container_1.Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n var content = this.content;\n if (content && Util_1.Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n var index = exports.stages.indexOf(this);\n if (index > -1) {\n exports.stages.splice(index, 1);\n }\n Util_1.Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util_1.Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n var canvas = new Canvas_1.SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n var _context = canvas.getContext()._context;\n var layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n var layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n var layers = this.children, len = layers.length, end = len - 1, n;\n for (n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n var width = this.width();\n var height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (var i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n var length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util_1.Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Global_1.Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var targetShape = this._getTargetShape(eventType);\n var eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = null;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n var shape = this.getIntersection(pos);\n DragAndDrop_1.DD.justDragged = false;\n Global_1.Konva['_' + eventType + 'ListenClick'] = true;\n if (!shape || !shape.isListening()) {\n return;\n }\n if (Global_1.Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (Global_1.Konva.isDragging() && DragAndDrop_1.DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n var eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n var processedShapesIds = {};\n let triggeredOnShape = false;\n var targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n var differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, { ...event }, shape);\n targetShape._fireAndBubble(events.pointerleave, { ...event }, shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, { ...event }, targetShape);\n shape._fireAndBubble(events.pointerenter, { ...event }, targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, { ...event });\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n var processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Global_1.Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DragAndDrop_1.DD.justDragged) {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Global_1.Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, { ...event });\n if (Global_1.Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, { ...event });\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, { ...event });\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Global_1.Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Global_1.Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n var contentPosition = this._getContentPosition(), x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util_1.Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util_1.Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util_1.Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n var rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new Canvas_1.SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n var container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util_1.Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nexports.Stage = Stage;\nStage.prototype.nodeType = STAGE;\n(0, Global_2._registerNode)(Stage);\nFactory_1.Factory.addGetterSetter(Stage, 'container');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = exports.shapes = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nvar HAS_SHADOW = 'hasShadow';\nvar SHADOW_RGBA = 'shadowRGBA';\nvar patternImage = 'patternImage';\nvar linearGradient = 'linearGradient';\nvar radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexports.shapes = {};\nfunction _fillFunc(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n context.fill();\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nclass Shape extends Node_1.Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util_1.Util.getRandomColor();\n if (key && !(key in exports.shapes)) {\n break;\n }\n }\n this.colorKey = key;\n exports.shapes[key] = this;\n }\n getContext() {\n Util_1.Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util_1.Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n var ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Util_1.Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Global_1.Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n var colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillLinearGradientStartPoint();\n var end = this.fillLinearGradientEndPoint();\n var grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n var colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillRadialGradientStartPoint();\n var end = this.fillRadialGradientEndPoint();\n var grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n var rgba = Util_1.Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n var stage = this.getStage();\n if (!stage) {\n return false;\n }\n const bufferHitCanvas = stage.bufferHitCanvas;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, undefined, true);\n const p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node_1.Node.prototype.destroy.call(this);\n delete exports.shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util_1.Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n var size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top, bufferCanvas) {\n var layer = this.getLayer();\n var canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferContext;\n var skipBuffer = canvas.isCache;\n var cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n const bc = bufferCanvas || stage.bufferCanvas;\n bufferContext = bc.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n var ratio = bc.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bc._canvas, 0, 0, bc.width / ratio, bc.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util_1.Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n var cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight(), hitImageData, hitData, len, rgbColorKey, i, alpha;\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n hitData = hitImageData.data;\n len = hitData.length;\n rgbColorKey = Util_1.Util._hexToRgb(this.colorKey);\n for (i = 0; i < len; i += 4) {\n alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util_1.Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nexports.Shape = Shape;\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n(0, Global_2._registerNode)(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory_1.Factory.addGetterSetter(Shape, 'stroke', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeWidth', 2, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory_1.Factory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeHitEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'perfectDrawEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'lineJoin');\nFactory_1.Factory.addGetterSetter(Shape, 'lineCap');\nFactory_1.Factory.addGetterSetter(Shape, 'sceneFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'hitFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'dash');\nFactory_1.Factory.addGetterSetter(Shape, 'dashOffset', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowColor', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowBlur', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOpacity', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternImage');\nFactory_1.Factory.addGetterSetter(Shape, 'fill', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory_1.Factory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleX', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRule', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Node_1 = require(\"./Node\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Validators_1 = require(\"./Validators\");\nconst Shape_1 = require(\"./Shape\");\nconst Global_1 = require(\"./Global\");\nvar HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nclass Layer extends Container_1.Container {\n constructor(config) {\n super(config);\n this.canvas = new Canvas_1.SceneCanvas();\n this.hitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node_1.Node.prototype.moveToTop.call(this);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n var moved = Node_1.Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n var stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node_1.Node.prototype.moveDown.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node_1.Node.prototype.moveToBottom.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n var _canvas = this.getNativeCanvasElement();\n Node_1.Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util_1.Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node_1.Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util_1.Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util_1.Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util_1.Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n var spiralSearchDistance = 1;\n var continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util_1.Util._rgbToHex(p[0], p[1], p[2]);\n const shape = Shape_1.shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container_1.Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container_1.Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n var parent = this.parent;\n var added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nexports.Layer = Layer;\nLayer.prototype.nodeType = 'Layer';\n(0, Global_1._registerNode)(Layer);\nFactory_1.Factory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory_1.Factory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory_1.Factory.addGetterSetter(Layer, 'hitGraphEnabled', true, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastLayer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Layer_1 = require(\"./Layer\");\nconst Global_1 = require(\"./Global\");\nclass FastLayer extends Layer_1.Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util_1.Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nexports.FastLayer = FastLayer;\nFastLayer.prototype.nodeType = 'FastLayer';\n(0, Global_1._registerNode)(FastLayer);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nclass Group extends Container_1.Container {\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nexports.Group = Group;\nGroup.prototype.nodeType = 'Group';\n(0, Global_1._registerNode)(Group);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animation = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst now = (function () {\n if (Global_1.glob.performance && Global_1.glob.performance.now) {\n return function () {\n return Global_1.glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nclass Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n let lays = [];\n if (layers) {\n lays = Array.isArray(layers) ? layers : [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n const layers = this.layers;\n const len = layers.length;\n for (let n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n const a = Animation;\n const animations = a.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n const id = anim.id;\n const animations = this.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n const layerHash = {};\n const animations = this.animations;\n for (let n = 0; n < animations.length; n++) {\n const anim = animations[n];\n const layers = anim.layers;\n const func = anim.func;\n anim._updateFrameObject(now());\n const layersLen = layers.length;\n let needRedraw;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (let i = 0; i < layersLen; i++) {\n const layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (let key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n const Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util_1.Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util_1.Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nexports.Animation = Animation;\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Easings = exports.Tween = void 0;\nconst Util_1 = require(\"./Util\");\nconst Animation_1 = require(\"./Animation\");\nconst Node_1 = require(\"./Node\");\nconst Global_1 = require(\"./Global\");\nvar blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, idCounter = 0, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n var handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n var t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nclass Tween {\n constructor(config) {\n var that = this, node = config.node, nodeId = node._id, duration, easing = config.easing || exports.Easings.Linear, yoyo = !!config.yoyo, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n var layers = node.getLayer() ||\n (node instanceof Global_1.Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util_1.Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation_1.Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n var node = this.node, nodeId = node._id, start, diff, tweenId, n, len, trueEnd, trueStart, endRGBA;\n tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n start = node.getAttr(key);\n if (Util_1.Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util_1.Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util_1.Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n var startRGBA = Util_1.Util.colorToRGBA(start[n]);\n endRGBA = Util_1.Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util_1.Util.colorToRGBA(start);\n endRGBA = Util_1.Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n var node = this.node, attrs = Tween.attrs[node._id][this._id], key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util_1.Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n var nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId], key;\n this.pause();\n for (key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nexports.Tween = Tween;\nTween.attrs = {};\nTween.tweens = {};\nNode_1.Node.prototype.to = function (params) {\n var onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n var tween = new Tween(params);\n tween.play();\n};\nexports.Easings = {\n BackEaseIn(t, b, c, d) {\n var s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n var s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n var s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - exports.Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return exports.Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return exports.Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Node_1 = require(\"./Node\");\nconst Container_1 = require(\"./Container\");\nconst Stage_1 = require(\"./Stage\");\nconst Layer_1 = require(\"./Layer\");\nconst FastLayer_1 = require(\"./FastLayer\");\nconst Group_1 = require(\"./Group\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Shape_1 = require(\"./Shape\");\nconst Animation_1 = require(\"./Animation\");\nconst Tween_1 = require(\"./Tween\");\nconst Context_1 = require(\"./Context\");\nconst Canvas_1 = require(\"./Canvas\");\nexports.Konva = Util_1.Util._assign(Global_1.Konva, {\n Util: Util_1.Util,\n Transform: Util_1.Transform,\n Node: Node_1.Node,\n Container: Container_1.Container,\n Stage: Stage_1.Stage,\n stages: Stage_1.stages,\n Layer: Layer_1.Layer,\n FastLayer: FastLayer_1.FastLayer,\n Group: Group_1.Group,\n DD: DragAndDrop_1.DD,\n Shape: Shape_1.Shape,\n shapes: Shape_1.shapes,\n Animation: Animation_1.Animation,\n Tween: Tween_1.Tween,\n Easings: Tween_1.Easings,\n Context: Context_1.Context,\n Canvas: Canvas_1.Canvas,\n});\nexports.default = exports.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arc = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Arc extends Shape_1.Shape {\n _sceneFunc(context) {\n var angle = Global_1.Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Global_1.Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nexports.Arc = Arc;\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_2._registerNode)(Arc);\nFactory_1.Factory.addGetterSetter(Arc, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'clockwise', false, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Line = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n var d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n var len = p.length, allPoints = [], n, cp;\n for (n = 2; n < len - 2; n += 2) {\n cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nclass Line extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n var points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n var p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n var points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nexports.Line = Line;\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n(0, Global_1._registerNode)(Line);\nFactory_1.Factory.addGetterSetter(Line, 'closed', false);\nFactory_1.Factory.addGetterSetter(Line, 'bezier', false);\nFactory_1.Factory.addGetterSetter(Line, 'tension', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Line, 'points', [], (0, Validators_1.getNumberArrayValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.t2length = exports.getQuadraticArcLength = exports.getCubicArcLength = exports.binomialCoefficients = exports.cValues = exports.tValues = void 0;\nexports.tValues = [\n [],\n [],\n [\n -0.5773502691896257645091487805019574556476,\n 0.5773502691896257645091487805019574556476,\n ],\n [\n 0, -0.7745966692414833770358530799564799221665,\n 0.7745966692414833770358530799564799221665,\n ],\n [\n -0.3399810435848562648026657591032446872005,\n 0.3399810435848562648026657591032446872005,\n -0.8611363115940525752239464888928095050957,\n 0.8611363115940525752239464888928095050957,\n ],\n [\n 0, -0.5384693101056830910363144207002088049672,\n 0.5384693101056830910363144207002088049672,\n -0.9061798459386639927976268782993929651256,\n 0.9061798459386639927976268782993929651256,\n ],\n [\n 0.6612093864662645136613995950199053470064,\n -0.6612093864662645136613995950199053470064,\n -0.2386191860831969086305017216807119354186,\n 0.2386191860831969086305017216807119354186,\n -0.9324695142031520278123015544939946091347,\n 0.9324695142031520278123015544939946091347,\n ],\n [\n 0, 0.4058451513773971669066064120769614633473,\n -0.4058451513773971669066064120769614633473,\n -0.7415311855993944398638647732807884070741,\n 0.7415311855993944398638647732807884070741,\n -0.9491079123427585245261896840478512624007,\n 0.9491079123427585245261896840478512624007,\n ],\n [\n -0.1834346424956498049394761423601839806667,\n 0.1834346424956498049394761423601839806667,\n -0.5255324099163289858177390491892463490419,\n 0.5255324099163289858177390491892463490419,\n -0.7966664774136267395915539364758304368371,\n 0.7966664774136267395915539364758304368371,\n -0.9602898564975362316835608685694729904282,\n 0.9602898564975362316835608685694729904282,\n ],\n [\n 0, -0.8360311073266357942994297880697348765441,\n 0.8360311073266357942994297880697348765441,\n -0.9681602395076260898355762029036728700494,\n 0.9681602395076260898355762029036728700494,\n -0.3242534234038089290385380146433366085719,\n 0.3242534234038089290385380146433366085719,\n -0.6133714327005903973087020393414741847857,\n 0.6133714327005903973087020393414741847857,\n ],\n [\n -0.1488743389816312108848260011297199846175,\n 0.1488743389816312108848260011297199846175,\n -0.4333953941292471907992659431657841622,\n 0.4333953941292471907992659431657841622,\n -0.6794095682990244062343273651148735757692,\n 0.6794095682990244062343273651148735757692,\n -0.8650633666889845107320966884234930485275,\n 0.8650633666889845107320966884234930485275,\n -0.9739065285171717200779640120844520534282,\n 0.9739065285171717200779640120844520534282,\n ],\n [\n 0, -0.2695431559523449723315319854008615246796,\n 0.2695431559523449723315319854008615246796,\n -0.5190961292068118159257256694586095544802,\n 0.5190961292068118159257256694586095544802,\n -0.7301520055740493240934162520311534580496,\n 0.7301520055740493240934162520311534580496,\n -0.8870625997680952990751577693039272666316,\n 0.8870625997680952990751577693039272666316,\n -0.9782286581460569928039380011228573907714,\n 0.9782286581460569928039380011228573907714,\n ],\n [\n -0.1252334085114689154724413694638531299833,\n 0.1252334085114689154724413694638531299833,\n -0.3678314989981801937526915366437175612563,\n 0.3678314989981801937526915366437175612563,\n -0.587317954286617447296702418940534280369,\n 0.587317954286617447296702418940534280369,\n -0.7699026741943046870368938332128180759849,\n 0.7699026741943046870368938332128180759849,\n -0.9041172563704748566784658661190961925375,\n 0.9041172563704748566784658661190961925375,\n -0.9815606342467192506905490901492808229601,\n 0.9815606342467192506905490901492808229601,\n ],\n [\n 0, -0.2304583159551347940655281210979888352115,\n 0.2304583159551347940655281210979888352115,\n -0.4484927510364468528779128521276398678019,\n 0.4484927510364468528779128521276398678019,\n -0.6423493394403402206439846069955156500716,\n 0.6423493394403402206439846069955156500716,\n -0.8015780907333099127942064895828598903056,\n 0.8015780907333099127942064895828598903056,\n -0.9175983992229779652065478365007195123904,\n 0.9175983992229779652065478365007195123904,\n -0.9841830547185881494728294488071096110649,\n 0.9841830547185881494728294488071096110649,\n ],\n [\n -0.1080549487073436620662446502198347476119,\n 0.1080549487073436620662446502198347476119,\n -0.3191123689278897604356718241684754668342,\n 0.3191123689278897604356718241684754668342,\n -0.5152486363581540919652907185511886623088,\n 0.5152486363581540919652907185511886623088,\n -0.6872929048116854701480198030193341375384,\n 0.6872929048116854701480198030193341375384,\n -0.8272013150697649931897947426503949610397,\n 0.8272013150697649931897947426503949610397,\n -0.928434883663573517336391139377874264477,\n 0.928434883663573517336391139377874264477,\n -0.986283808696812338841597266704052801676,\n 0.986283808696812338841597266704052801676,\n ],\n [\n 0, -0.2011940939974345223006283033945962078128,\n 0.2011940939974345223006283033945962078128,\n -0.3941513470775633698972073709810454683627,\n 0.3941513470775633698972073709810454683627,\n -0.5709721726085388475372267372539106412383,\n 0.5709721726085388475372267372539106412383,\n -0.7244177313601700474161860546139380096308,\n 0.7244177313601700474161860546139380096308,\n -0.8482065834104272162006483207742168513662,\n 0.8482065834104272162006483207742168513662,\n -0.9372733924007059043077589477102094712439,\n 0.9372733924007059043077589477102094712439,\n -0.9879925180204854284895657185866125811469,\n 0.9879925180204854284895657185866125811469,\n ],\n [\n -0.0950125098376374401853193354249580631303,\n 0.0950125098376374401853193354249580631303,\n -0.281603550779258913230460501460496106486,\n 0.281603550779258913230460501460496106486,\n -0.45801677765722738634241944298357757354,\n 0.45801677765722738634241944298357757354,\n -0.6178762444026437484466717640487910189918,\n 0.6178762444026437484466717640487910189918,\n -0.7554044083550030338951011948474422683538,\n 0.7554044083550030338951011948474422683538,\n -0.8656312023878317438804678977123931323873,\n 0.8656312023878317438804678977123931323873,\n -0.9445750230732325760779884155346083450911,\n 0.9445750230732325760779884155346083450911,\n -0.9894009349916499325961541734503326274262,\n 0.9894009349916499325961541734503326274262,\n ],\n [\n 0, -0.1784841814958478558506774936540655574754,\n 0.1784841814958478558506774936540655574754,\n -0.3512317634538763152971855170953460050405,\n 0.3512317634538763152971855170953460050405,\n -0.5126905370864769678862465686295518745829,\n 0.5126905370864769678862465686295518745829,\n -0.6576711592166907658503022166430023351478,\n 0.6576711592166907658503022166430023351478,\n -0.7815140038968014069252300555204760502239,\n 0.7815140038968014069252300555204760502239,\n -0.8802391537269859021229556944881556926234,\n 0.8802391537269859021229556944881556926234,\n -0.9506755217687677612227169578958030214433,\n 0.9506755217687677612227169578958030214433,\n -0.9905754753144173356754340199406652765077,\n 0.9905754753144173356754340199406652765077,\n ],\n [\n -0.0847750130417353012422618529357838117333,\n 0.0847750130417353012422618529357838117333,\n -0.2518862256915055095889728548779112301628,\n 0.2518862256915055095889728548779112301628,\n -0.4117511614628426460359317938330516370789,\n 0.4117511614628426460359317938330516370789,\n -0.5597708310739475346078715485253291369276,\n 0.5597708310739475346078715485253291369276,\n -0.6916870430603532078748910812888483894522,\n 0.6916870430603532078748910812888483894522,\n -0.8037049589725231156824174550145907971032,\n 0.8037049589725231156824174550145907971032,\n -0.8926024664975557392060605911271455154078,\n 0.8926024664975557392060605911271455154078,\n -0.9558239495713977551811958929297763099728,\n 0.9558239495713977551811958929297763099728,\n -0.9915651684209309467300160047061507702525,\n 0.9915651684209309467300160047061507702525,\n ],\n [\n 0, -0.1603586456402253758680961157407435495048,\n 0.1603586456402253758680961157407435495048,\n -0.3165640999636298319901173288498449178922,\n 0.3165640999636298319901173288498449178922,\n -0.4645707413759609457172671481041023679762,\n 0.4645707413759609457172671481041023679762,\n -0.6005453046616810234696381649462392798683,\n 0.6005453046616810234696381649462392798683,\n -0.7209661773352293786170958608237816296571,\n 0.7209661773352293786170958608237816296571,\n -0.8227146565371428249789224867127139017745,\n 0.8227146565371428249789224867127139017745,\n -0.9031559036148179016426609285323124878093,\n 0.9031559036148179016426609285323124878093,\n -0.960208152134830030852778840687651526615,\n 0.960208152134830030852778840687651526615,\n -0.9924068438435844031890176702532604935893,\n 0.9924068438435844031890176702532604935893,\n ],\n [\n -0.0765265211334973337546404093988382110047,\n 0.0765265211334973337546404093988382110047,\n -0.227785851141645078080496195368574624743,\n 0.227785851141645078080496195368574624743,\n -0.3737060887154195606725481770249272373957,\n 0.3737060887154195606725481770249272373957,\n -0.5108670019508270980043640509552509984254,\n 0.5108670019508270980043640509552509984254,\n -0.6360536807265150254528366962262859367433,\n 0.6360536807265150254528366962262859367433,\n -0.7463319064601507926143050703556415903107,\n 0.7463319064601507926143050703556415903107,\n -0.8391169718222188233945290617015206853296,\n 0.8391169718222188233945290617015206853296,\n -0.9122344282513259058677524412032981130491,\n 0.9122344282513259058677524412032981130491,\n -0.963971927277913791267666131197277221912,\n 0.963971927277913791267666131197277221912,\n -0.9931285991850949247861223884713202782226,\n 0.9931285991850949247861223884713202782226,\n ],\n [\n 0, -0.1455618541608950909370309823386863301163,\n 0.1455618541608950909370309823386863301163,\n -0.288021316802401096600792516064600319909,\n 0.288021316802401096600792516064600319909,\n -0.4243421202074387835736688885437880520964,\n 0.4243421202074387835736688885437880520964,\n -0.551618835887219807059018796724313286622,\n 0.551618835887219807059018796724313286622,\n -0.667138804197412319305966669990339162597,\n 0.667138804197412319305966669990339162597,\n -0.7684399634756779086158778513062280348209,\n 0.7684399634756779086158778513062280348209,\n -0.8533633645833172836472506385875676702761,\n 0.8533633645833172836472506385875676702761,\n -0.9200993341504008287901871337149688941591,\n 0.9200993341504008287901871337149688941591,\n -0.9672268385663062943166222149076951614246,\n 0.9672268385663062943166222149076951614246,\n -0.9937521706203895002602420359379409291933,\n 0.9937521706203895002602420359379409291933,\n ],\n [\n -0.0697392733197222212138417961186280818222,\n 0.0697392733197222212138417961186280818222,\n -0.2078604266882212854788465339195457342156,\n 0.2078604266882212854788465339195457342156,\n -0.3419358208920842251581474204273796195591,\n 0.3419358208920842251581474204273796195591,\n -0.4693558379867570264063307109664063460953,\n 0.4693558379867570264063307109664063460953,\n -0.5876404035069115929588769276386473488776,\n 0.5876404035069115929588769276386473488776,\n -0.6944872631866827800506898357622567712673,\n 0.6944872631866827800506898357622567712673,\n -0.7878168059792081620042779554083515213881,\n 0.7878168059792081620042779554083515213881,\n -0.8658125777203001365364256370193787290847,\n 0.8658125777203001365364256370193787290847,\n -0.9269567721871740005206929392590531966353,\n 0.9269567721871740005206929392590531966353,\n -0.9700604978354287271239509867652687108059,\n 0.9700604978354287271239509867652687108059,\n -0.994294585482399292073031421161298980393,\n 0.994294585482399292073031421161298980393,\n ],\n [\n 0, -0.1332568242984661109317426822417661370104,\n 0.1332568242984661109317426822417661370104,\n -0.264135680970344930533869538283309602979,\n 0.264135680970344930533869538283309602979,\n -0.390301038030290831421488872880605458578,\n 0.390301038030290831421488872880605458578,\n -0.5095014778460075496897930478668464305448,\n 0.5095014778460075496897930478668464305448,\n -0.6196098757636461563850973116495956533871,\n 0.6196098757636461563850973116495956533871,\n -0.7186613631319501944616244837486188483299,\n 0.7186613631319501944616244837486188483299,\n -0.8048884016188398921511184069967785579414,\n 0.8048884016188398921511184069967785579414,\n -0.8767523582704416673781568859341456716389,\n 0.8767523582704416673781568859341456716389,\n -0.9329710868260161023491969890384229782357,\n 0.9329710868260161023491969890384229782357,\n -0.9725424712181152319560240768207773751816,\n 0.9725424712181152319560240768207773751816,\n -0.9947693349975521235239257154455743605736,\n 0.9947693349975521235239257154455743605736,\n ],\n [\n -0.0640568928626056260850430826247450385909,\n 0.0640568928626056260850430826247450385909,\n -0.1911188674736163091586398207570696318404,\n 0.1911188674736163091586398207570696318404,\n -0.3150426796961633743867932913198102407864,\n 0.3150426796961633743867932913198102407864,\n -0.4337935076260451384870842319133497124524,\n 0.4337935076260451384870842319133497124524,\n -0.5454214713888395356583756172183723700107,\n 0.5454214713888395356583756172183723700107,\n -0.6480936519369755692524957869107476266696,\n 0.6480936519369755692524957869107476266696,\n -0.7401241915785543642438281030999784255232,\n 0.7401241915785543642438281030999784255232,\n -0.8200019859739029219539498726697452080761,\n 0.8200019859739029219539498726697452080761,\n -0.8864155270044010342131543419821967550873,\n 0.8864155270044010342131543419821967550873,\n -0.9382745520027327585236490017087214496548,\n 0.9382745520027327585236490017087214496548,\n -0.9747285559713094981983919930081690617411,\n 0.9747285559713094981983919930081690617411,\n -0.9951872199970213601799974097007368118745,\n 0.9951872199970213601799974097007368118745,\n ],\n];\nexports.cValues = [\n [],\n [],\n [1.0, 1.0],\n [\n 0.8888888888888888888888888888888888888888,\n 0.5555555555555555555555555555555555555555,\n 0.5555555555555555555555555555555555555555,\n ],\n [\n 0.6521451548625461426269360507780005927646,\n 0.6521451548625461426269360507780005927646,\n 0.3478548451374538573730639492219994072353,\n 0.3478548451374538573730639492219994072353,\n ],\n [\n 0.5688888888888888888888888888888888888888,\n 0.4786286704993664680412915148356381929122,\n 0.4786286704993664680412915148356381929122,\n 0.2369268850561890875142640407199173626432,\n 0.2369268850561890875142640407199173626432,\n ],\n [\n 0.3607615730481386075698335138377161116615,\n 0.3607615730481386075698335138377161116615,\n 0.4679139345726910473898703439895509948116,\n 0.4679139345726910473898703439895509948116,\n 0.1713244923791703450402961421727328935268,\n 0.1713244923791703450402961421727328935268,\n ],\n [\n 0.4179591836734693877551020408163265306122,\n 0.3818300505051189449503697754889751338783,\n 0.3818300505051189449503697754889751338783,\n 0.2797053914892766679014677714237795824869,\n 0.2797053914892766679014677714237795824869,\n 0.1294849661688696932706114326790820183285,\n 0.1294849661688696932706114326790820183285,\n ],\n [\n 0.3626837833783619829651504492771956121941,\n 0.3626837833783619829651504492771956121941,\n 0.3137066458778872873379622019866013132603,\n 0.3137066458778872873379622019866013132603,\n 0.2223810344533744705443559944262408844301,\n 0.2223810344533744705443559944262408844301,\n 0.1012285362903762591525313543099621901153,\n 0.1012285362903762591525313543099621901153,\n ],\n [\n 0.3302393550012597631645250692869740488788,\n 0.1806481606948574040584720312429128095143,\n 0.1806481606948574040584720312429128095143,\n 0.0812743883615744119718921581105236506756,\n 0.0812743883615744119718921581105236506756,\n 0.3123470770400028400686304065844436655987,\n 0.3123470770400028400686304065844436655987,\n 0.2606106964029354623187428694186328497718,\n 0.2606106964029354623187428694186328497718,\n ],\n [\n 0.295524224714752870173892994651338329421,\n 0.295524224714752870173892994651338329421,\n 0.2692667193099963550912269215694693528597,\n 0.2692667193099963550912269215694693528597,\n 0.2190863625159820439955349342281631924587,\n 0.2190863625159820439955349342281631924587,\n 0.1494513491505805931457763396576973324025,\n 0.1494513491505805931457763396576973324025,\n 0.0666713443086881375935688098933317928578,\n 0.0666713443086881375935688098933317928578,\n ],\n [\n 0.272925086777900630714483528336342189156,\n 0.2628045445102466621806888698905091953727,\n 0.2628045445102466621806888698905091953727,\n 0.2331937645919904799185237048431751394317,\n 0.2331937645919904799185237048431751394317,\n 0.1862902109277342514260976414316558916912,\n 0.1862902109277342514260976414316558916912,\n 0.1255803694649046246346942992239401001976,\n 0.1255803694649046246346942992239401001976,\n 0.0556685671161736664827537204425485787285,\n 0.0556685671161736664827537204425485787285,\n ],\n [\n 0.2491470458134027850005624360429512108304,\n 0.2491470458134027850005624360429512108304,\n 0.2334925365383548087608498989248780562594,\n 0.2334925365383548087608498989248780562594,\n 0.2031674267230659217490644558097983765065,\n 0.2031674267230659217490644558097983765065,\n 0.160078328543346226334652529543359071872,\n 0.160078328543346226334652529543359071872,\n 0.1069393259953184309602547181939962242145,\n 0.1069393259953184309602547181939962242145,\n 0.047175336386511827194615961485017060317,\n 0.047175336386511827194615961485017060317,\n ],\n [\n 0.2325515532308739101945895152688359481566,\n 0.2262831802628972384120901860397766184347,\n 0.2262831802628972384120901860397766184347,\n 0.2078160475368885023125232193060527633865,\n 0.2078160475368885023125232193060527633865,\n 0.1781459807619457382800466919960979955128,\n 0.1781459807619457382800466919960979955128,\n 0.1388735102197872384636017768688714676218,\n 0.1388735102197872384636017768688714676218,\n 0.0921214998377284479144217759537971209236,\n 0.0921214998377284479144217759537971209236,\n 0.0404840047653158795200215922009860600419,\n 0.0404840047653158795200215922009860600419,\n ],\n [\n 0.2152638534631577901958764433162600352749,\n 0.2152638534631577901958764433162600352749,\n 0.2051984637212956039659240656612180557103,\n 0.2051984637212956039659240656612180557103,\n 0.1855383974779378137417165901251570362489,\n 0.1855383974779378137417165901251570362489,\n 0.1572031671581935345696019386238421566056,\n 0.1572031671581935345696019386238421566056,\n 0.1215185706879031846894148090724766259566,\n 0.1215185706879031846894148090724766259566,\n 0.0801580871597602098056332770628543095836,\n 0.0801580871597602098056332770628543095836,\n 0.0351194603317518630318328761381917806197,\n 0.0351194603317518630318328761381917806197,\n ],\n [\n 0.2025782419255612728806201999675193148386,\n 0.1984314853271115764561183264438393248186,\n 0.1984314853271115764561183264438393248186,\n 0.1861610000155622110268005618664228245062,\n 0.1861610000155622110268005618664228245062,\n 0.1662692058169939335532008604812088111309,\n 0.1662692058169939335532008604812088111309,\n 0.1395706779261543144478047945110283225208,\n 0.1395706779261543144478047945110283225208,\n 0.1071592204671719350118695466858693034155,\n 0.1071592204671719350118695466858693034155,\n 0.0703660474881081247092674164506673384667,\n 0.0703660474881081247092674164506673384667,\n 0.0307532419961172683546283935772044177217,\n 0.0307532419961172683546283935772044177217,\n ],\n [\n 0.1894506104550684962853967232082831051469,\n 0.1894506104550684962853967232082831051469,\n 0.1826034150449235888667636679692199393835,\n 0.1826034150449235888667636679692199393835,\n 0.1691565193950025381893120790303599622116,\n 0.1691565193950025381893120790303599622116,\n 0.1495959888165767320815017305474785489704,\n 0.1495959888165767320815017305474785489704,\n 0.1246289712555338720524762821920164201448,\n 0.1246289712555338720524762821920164201448,\n 0.0951585116824927848099251076022462263552,\n 0.0951585116824927848099251076022462263552,\n 0.0622535239386478928628438369943776942749,\n 0.0622535239386478928628438369943776942749,\n 0.0271524594117540948517805724560181035122,\n 0.0271524594117540948517805724560181035122,\n ],\n [\n 0.1794464703562065254582656442618856214487,\n 0.1765627053669926463252709901131972391509,\n 0.1765627053669926463252709901131972391509,\n 0.1680041021564500445099706637883231550211,\n 0.1680041021564500445099706637883231550211,\n 0.1540457610768102880814315948019586119404,\n 0.1540457610768102880814315948019586119404,\n 0.1351363684685254732863199817023501973721,\n 0.1351363684685254732863199817023501973721,\n 0.1118838471934039710947883856263559267358,\n 0.1118838471934039710947883856263559267358,\n 0.0850361483171791808835353701910620738504,\n 0.0850361483171791808835353701910620738504,\n 0.0554595293739872011294401653582446605128,\n 0.0554595293739872011294401653582446605128,\n 0.0241483028685479319601100262875653246916,\n 0.0241483028685479319601100262875653246916,\n ],\n [\n 0.1691423829631435918406564701349866103341,\n 0.1691423829631435918406564701349866103341,\n 0.1642764837458327229860537764659275904123,\n 0.1642764837458327229860537764659275904123,\n 0.1546846751262652449254180038363747721932,\n 0.1546846751262652449254180038363747721932,\n 0.1406429146706506512047313037519472280955,\n 0.1406429146706506512047313037519472280955,\n 0.1225552067114784601845191268002015552281,\n 0.1225552067114784601845191268002015552281,\n 0.1009420441062871655628139849248346070628,\n 0.1009420441062871655628139849248346070628,\n 0.0764257302548890565291296776166365256053,\n 0.0764257302548890565291296776166365256053,\n 0.0497145488949697964533349462026386416808,\n 0.0497145488949697964533349462026386416808,\n 0.0216160135264833103133427102664524693876,\n 0.0216160135264833103133427102664524693876,\n ],\n [\n 0.1610544498487836959791636253209167350399,\n 0.1589688433939543476499564394650472016787,\n 0.1589688433939543476499564394650472016787,\n 0.152766042065859666778855400897662998461,\n 0.152766042065859666778855400897662998461,\n 0.1426067021736066117757461094419029724756,\n 0.1426067021736066117757461094419029724756,\n 0.1287539625393362276755157848568771170558,\n 0.1287539625393362276755157848568771170558,\n 0.1115666455473339947160239016817659974813,\n 0.1115666455473339947160239016817659974813,\n 0.0914900216224499994644620941238396526609,\n 0.0914900216224499994644620941238396526609,\n 0.0690445427376412265807082580060130449618,\n 0.0690445427376412265807082580060130449618,\n 0.0448142267656996003328381574019942119517,\n 0.0448142267656996003328381574019942119517,\n 0.0194617882297264770363120414644384357529,\n 0.0194617882297264770363120414644384357529,\n ],\n [\n 0.1527533871307258506980843319550975934919,\n 0.1527533871307258506980843319550975934919,\n 0.1491729864726037467878287370019694366926,\n 0.1491729864726037467878287370019694366926,\n 0.1420961093183820513292983250671649330345,\n 0.1420961093183820513292983250671649330345,\n 0.1316886384491766268984944997481631349161,\n 0.1316886384491766268984944997481631349161,\n 0.118194531961518417312377377711382287005,\n 0.118194531961518417312377377711382287005,\n 0.1019301198172404350367501354803498761666,\n 0.1019301198172404350367501354803498761666,\n 0.0832767415767047487247581432220462061001,\n 0.0832767415767047487247581432220462061001,\n 0.0626720483341090635695065351870416063516,\n 0.0626720483341090635695065351870416063516,\n 0.040601429800386941331039952274932109879,\n 0.040601429800386941331039952274932109879,\n 0.0176140071391521183118619623518528163621,\n 0.0176140071391521183118619623518528163621,\n ],\n [\n 0.1460811336496904271919851476833711882448,\n 0.1445244039899700590638271665537525436099,\n 0.1445244039899700590638271665537525436099,\n 0.1398873947910731547221334238675831108927,\n 0.1398873947910731547221334238675831108927,\n 0.132268938633337461781052574496775604329,\n 0.132268938633337461781052574496775604329,\n 0.1218314160537285341953671771257335983563,\n 0.1218314160537285341953671771257335983563,\n 0.1087972991671483776634745780701056420336,\n 0.1087972991671483776634745780701056420336,\n 0.0934444234560338615532897411139320884835,\n 0.0934444234560338615532897411139320884835,\n 0.0761001136283793020170516533001831792261,\n 0.0761001136283793020170516533001831792261,\n 0.0571344254268572082836358264724479574912,\n 0.0571344254268572082836358264724479574912,\n 0.0369537897708524937999506682993296661889,\n 0.0369537897708524937999506682993296661889,\n 0.0160172282577743333242246168584710152658,\n 0.0160172282577743333242246168584710152658,\n ],\n [\n 0.1392518728556319933754102483418099578739,\n 0.1392518728556319933754102483418099578739,\n 0.1365414983460151713525738312315173965863,\n 0.1365414983460151713525738312315173965863,\n 0.1311735047870623707329649925303074458757,\n 0.1311735047870623707329649925303074458757,\n 0.1232523768105124242855609861548144719594,\n 0.1232523768105124242855609861548144719594,\n 0.1129322960805392183934006074217843191142,\n 0.1129322960805392183934006074217843191142,\n 0.1004141444428809649320788378305362823508,\n 0.1004141444428809649320788378305362823508,\n 0.0859416062170677274144436813727028661891,\n 0.0859416062170677274144436813727028661891,\n 0.0697964684245204880949614189302176573987,\n 0.0697964684245204880949614189302176573987,\n 0.0522933351526832859403120512732112561121,\n 0.0522933351526832859403120512732112561121,\n 0.0337749015848141547933022468659129013491,\n 0.0337749015848141547933022468659129013491,\n 0.0146279952982722006849910980471854451902,\n 0.0146279952982722006849910980471854451902,\n ],\n [\n 0.1336545721861061753514571105458443385831,\n 0.132462039404696617371642464703316925805,\n 0.132462039404696617371642464703316925805,\n 0.1289057221880821499785953393997936532597,\n 0.1289057221880821499785953393997936532597,\n 0.1230490843067295304675784006720096548158,\n 0.1230490843067295304675784006720096548158,\n 0.1149966402224113649416435129339613014914,\n 0.1149966402224113649416435129339613014914,\n 0.1048920914645414100740861850147438548584,\n 0.1048920914645414100740861850147438548584,\n 0.0929157660600351474770186173697646486034,\n 0.0929157660600351474770186173697646486034,\n 0.0792814117767189549228925247420432269137,\n 0.0792814117767189549228925247420432269137,\n 0.0642324214085258521271696151589109980391,\n 0.0642324214085258521271696151589109980391,\n 0.0480376717310846685716410716320339965612,\n 0.0480376717310846685716410716320339965612,\n 0.0309880058569794443106942196418845053837,\n 0.0309880058569794443106942196418845053837,\n 0.0134118594871417720813094934586150649766,\n 0.0134118594871417720813094934586150649766,\n ],\n [\n 0.1279381953467521569740561652246953718517,\n 0.1279381953467521569740561652246953718517,\n 0.1258374563468282961213753825111836887264,\n 0.1258374563468282961213753825111836887264,\n 0.121670472927803391204463153476262425607,\n 0.121670472927803391204463153476262425607,\n 0.1155056680537256013533444839067835598622,\n 0.1155056680537256013533444839067835598622,\n 0.1074442701159656347825773424466062227946,\n 0.1074442701159656347825773424466062227946,\n 0.0976186521041138882698806644642471544279,\n 0.0976186521041138882698806644642471544279,\n 0.086190161531953275917185202983742667185,\n 0.086190161531953275917185202983742667185,\n 0.0733464814110803057340336152531165181193,\n 0.0733464814110803057340336152531165181193,\n 0.0592985849154367807463677585001085845412,\n 0.0592985849154367807463677585001085845412,\n 0.0442774388174198061686027482113382288593,\n 0.0442774388174198061686027482113382288593,\n 0.0285313886289336631813078159518782864491,\n 0.0285313886289336631813078159518782864491,\n 0.0123412297999871995468056670700372915759,\n 0.0123412297999871995468056670700372915759,\n ],\n];\nexports.binomialCoefficients = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]];\nconst getCubicArcLength = (xs, ys, t) => {\n let z;\n let sum;\n let correctedT;\n const n = 20;\n z = t / 2;\n sum = 0;\n for (let i = 0; i < n; i++) {\n correctedT = z * exports.tValues[n][i] + z;\n sum += exports.cValues[n][i] * BFunc(xs, ys, correctedT);\n }\n return z * sum;\n};\nexports.getCubicArcLength = getCubicArcLength;\nconst getQuadraticArcLength = (xs, ys, t) => {\n if (t === undefined) {\n t = 1;\n }\n const ax = xs[0] - 2 * xs[1] + xs[2];\n const ay = ys[0] - 2 * ys[1] + ys[2];\n const bx = 2 * xs[1] - 2 * xs[0];\n const by = 2 * ys[1] - 2 * ys[0];\n const A = 4 * (ax * ax + ay * ay);\n const B = 4 * (ax * bx + ay * by);\n const C = bx * bx + by * by;\n if (A === 0) {\n return (t * Math.sqrt(Math.pow(xs[2] - xs[0], 2) + Math.pow(ys[2] - ys[0], 2)));\n }\n const b = B / (2 * A);\n const c = C / A;\n const u = t + b;\n const k = c - b * b;\n const uuk = u * u + k > 0 ? Math.sqrt(u * u + k) : 0;\n const bbk = b * b + k > 0 ? Math.sqrt(b * b + k) : 0;\n const term = b + Math.sqrt(b * b + k) !== 0\n ? k * Math.log(Math.abs((u + uuk) / (b + bbk)))\n : 0;\n return (Math.sqrt(A) / 2) * (u * uuk - b * bbk + term);\n};\nexports.getQuadraticArcLength = getQuadraticArcLength;\nfunction BFunc(xs, ys, t) {\n const xbase = getDerivative(1, t, xs);\n const ybase = getDerivative(1, t, ys);\n const combined = xbase * xbase + ybase * ybase;\n return Math.sqrt(combined);\n}\nconst getDerivative = (derivative, t, vs) => {\n const n = vs.length - 1;\n let _vs;\n let value;\n if (n === 0) {\n return 0;\n }\n if (derivative === 0) {\n value = 0;\n for (let k = 0; k <= n; k++) {\n value +=\n exports.binomialCoefficients[n][k] *\n Math.pow(1 - t, n - k) *\n Math.pow(t, k) *\n vs[k];\n }\n return value;\n }\n else {\n _vs = new Array(n);\n for (let k = 0; k < n; k++) {\n _vs[k] = n * (vs[k + 1] - vs[k]);\n }\n return getDerivative(derivative - 1, t, _vs);\n }\n};\nconst t2length = (length, totalLength, func) => {\n let error = 1;\n let t = length / totalLength;\n let step = (length - func(t)) / totalLength;\n let numIterations = 0;\n while (error > 0.001) {\n const increasedTLength = func(t + step);\n const increasedTError = Math.abs(length - increasedTLength) / totalLength;\n if (increasedTError < error) {\n error = increasedTError;\n t += step;\n }\n else {\n const decreasedTLength = func(t - step);\n const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;\n if (decreasedTError < error) {\n error = decreasedTError;\n t -= step;\n }\n else {\n step /= 2;\n }\n }\n numIterations++;\n if (numIterations > 500) {\n break;\n }\n }\n return t;\n};\nexports.t2length = t2length;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst BezierFunctions_1 = require(\"../BezierFunctions\");\nclass Path extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n });\n }\n _readDataAttribute() {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = Path.getPathLength(this.dataArray);\n }\n _sceneFunc(context) {\n var ca = this.dataArray;\n context.beginPath();\n var isClosed = false;\n for (var n = 0; n < ca.length; n++) {\n var c = ca[n].command;\n var p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n var points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n var start = data.points[4];\n var dTheta = data.points[5];\n var end = data.points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n return Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPathLength(dataArray) {\n let pathLength = 0;\n for (var i = 0; i < dataArray.length; ++i) {\n pathLength += dataArray[i].pathLength;\n }\n return pathLength;\n }\n static getPointAtLengthOfDataArray(length, dataArray) {\n var point, i = 0, ii = dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > dataArray[i].pathLength) {\n length -= dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n point = dataArray[i - 1].points.slice(-2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n if (length < 0.01) {\n point = dataArray[i].points.slice(0, 2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n var cp = dataArray[i];\n var p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getCubicArcLength)([cp.start.x, p[0], p[2], p[4]], [cp.start.y, p[1], p[3], p[5]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getQuadraticArcLength)([cp.start.x, p[0], p[2]], [cp.start.y, p[1], p[3]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n if (fromX === undefined) {\n fromX = P1x;\n }\n if (fromY === undefined) {\n fromY = P1y;\n }\n var m = (P2y - P1y) / (P2x - P1x + 0.00000001);\n var run = Math.sqrt((dist * dist) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n var rise = m * run;\n var pt;\n if (P2x === P1x) {\n pt = {\n x: fromX,\n y: fromY + rise,\n };\n }\n else if ((fromY - P1y) / (fromX - P1x + 0.00000001) === m) {\n pt = {\n x: fromX + run,\n y: fromY + rise,\n };\n }\n else {\n var ix, iy;\n var len = this.getLineLength(P1x, P1y, P2x, P2y);\n var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y);\n u = u / (len * len);\n ix = P1x + u * (P2x - P1x);\n iy = P1y + u * (P2y - P1y);\n var pRise = this.getLineLength(fromX, fromY, ix, iy);\n var pRun = Math.sqrt(dist * dist - pRise * pRise);\n run = Math.sqrt((pRun * pRun) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n rise = m * run;\n pt = {\n x: ix + run,\n y: iy + rise,\n };\n }\n return pt;\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n var cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n var pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n var cs = data;\n var cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n var arr = cs.split('|');\n var ca = [];\n var coords = [];\n var cpx = 0;\n var cpy = 0;\n var re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n var match;\n for (n = 1; n < arr.length; n++) {\n var str = arr[n];\n var c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n var p = [];\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n var parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n var cmd = '';\n var points = [];\n var startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (var idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n var len, p1, p2, t;\n var path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n return (0, BezierFunctions_1.getCubicArcLength)([x, points[0], points[2], points[4]], [y, points[1], points[3], points[5]], 1);\n case 'Q':\n return (0, BezierFunctions_1.getQuadraticArcLength)([x, points[0], points[2]], [y, points[1], points[3]], 1);\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n var psi = psiDeg * (Math.PI / 180.0);\n var xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n var yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n var f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n var cxp = (f * rx * yp) / ry;\n var cyp = (f * -ry * xp) / rx;\n var cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n var vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n var vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n var vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nexports.Path = Path;\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n(0, Global_1._registerNode)(Path);\nFactory_1.Factory.addGetterSetter(Path, 'data');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arrow = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Line_1 = require(\"./Line\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst Path_1 = require(\"./Path\");\nclass Arrow extends Line_1.Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n var PI2 = Math.PI * 2;\n var points = this.points();\n var tp = points;\n var fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n var length = this.pointerLength();\n var n = points.length;\n var dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path_1.Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path_1.Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n var radians = (Math.atan2(dy, dx) + PI2) % PI2;\n var width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n var isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x - offset,\n y: lineRect.y - offset,\n width: lineRect.width + offset * 2,\n height: lineRect.height + offset * 2,\n };\n }\n}\nexports.Arrow = Arrow;\nArrow.prototype.className = 'Arrow';\n(0, Global_1._registerNode)(Arrow);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerLength', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerWidth', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Circle = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Circle extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nexports.Circle = Circle;\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(Circle);\nFactory_1.Factory.addGetterSetter(Circle, 'radius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ellipse = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Ellipse extends Shape_1.Shape {\n _sceneFunc(context) {\n var rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nexports.Ellipse = Ellipse;\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n(0, Global_1._registerNode)(Ellipse);\nFactory_1.Factory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusY', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Image = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nclass Image extends Shape_1.Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n var width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n var img = Util_1.Util.createImageElement();\n img.onload = function () {\n var image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nexports.Image = Image;\nImage.prototype.className = 'Image';\n(0, Global_1._registerNode)(Image);\nFactory_1.Factory.addGetterSetter(Image, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\nFactory_1.Factory.addGetterSetter(Image, 'image');\nFactory_1.Factory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory_1.Factory.addGetterSetter(Image, 'cropX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tag = exports.Label = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Group_1 = require(\"../Group\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nclass Label extends Group_1.Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n var that = this, n;\n var func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n var text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nexports.Label = Label;\nLabel.prototype.className = 'Label';\n(0, Global_1._registerNode)(Label);\nclass Tag extends Shape_1.Shape {\n _sceneFunc(context) {\n var width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n var x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nexports.Tag = Tag;\nTag.prototype.className = 'Tag';\n(0, Global_1._registerNode)(Tag);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'pointerHeight', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rect = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nclass Rect extends Shape_1.Shape {\n _sceneFunc(context) {\n var cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nexports.Rect = Rect;\nRect.prototype.className = 'Rect';\n(0, Global_1._registerNode)(Rect);\nFactory_1.Factory.addGetterSetter(Rect, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegularPolygon = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass RegularPolygon extends Shape_1.Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (var n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (var n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n var minX = points[0].x;\n var maxX = points[0].y;\n var minY = points[0].x;\n var maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.RegularPolygon = RegularPolygon;\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(RegularPolygon);\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'sides', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ring = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar PIx2 = Math.PI * 2;\nclass Ring extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Ring = Ring;\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Ring);\nFactory_1.Factory.addGetterSetter(Ring, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ring, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sprite = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Animation_1 = require(\"../Animation\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Sprite extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation_1.Animation(() => {\n var updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n var offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n var offset = offsets[anim];\n var ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n var that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n var layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n var index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nexports.Sprite = Sprite;\nSprite.prototype.className = 'Sprite';\n(0, Global_1._registerNode)(Sprite);\nFactory_1.Factory.addGetterSetter(Sprite, 'animation');\nFactory_1.Factory.addGetterSetter(Sprite, 'animations');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameOffsets');\nFactory_1.Factory.addGetterSetter(Sprite, 'image');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameIndex', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Sprite, 'frameRate', 17, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Star = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Star extends Shape_1.Shape {\n _sceneFunc(context) {\n var innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (var n = 1; n < numPoints * 2; n++) {\n var radius = n % 2 === 0 ? outerRadius : innerRadius;\n var x = radius * Math.sin((n * Math.PI) / numPoints);\n var y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Star = Star;\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Star);\nFactory_1.Factory.addGetterSetter(Star, 'numPoints', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = exports.stringToArray = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nfunction stringToArray(string) {\n return Array.from(string);\n}\nexports.stringToArray = stringToArray;\nvar AUTO = 'auto', CENTER = 'center', INHERIT = 'inherit', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', LTR = 'ltr', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', RTL = 'rtl', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'direction',\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nvar dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.setAttr('miterLimit', 2);\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nclass Text extends Shape_1.Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (var n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n var textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n var padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), direction = this.direction(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n direction = direction === INHERIT ? context.direction : direction;\n var translateY = 0;\n var translateY = lineHeightPx / 2;\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n if (direction === RTL) {\n context.setAttr('direction', direction);\n }\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', MIDDLE);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY + Math.round(fontSize / 2));\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + Math.round(fontSize / 2));\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && lastLine && !oneWord\n ? totalWidth - padding * 2\n : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (direction !== RTL && (letterSpacing !== 0 || align === JUSTIFY)) {\n spacesNumber = text.split(' ').length - 1;\n var array = stringToArray(text);\n for (var li = 0; li < array.length; li++) {\n var letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n if (letterSpacing !== 0) {\n context.setAttr('letterSpacing', `${letterSpacing}px`);\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n var width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n var str = Util_1.Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n var isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n var isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n var width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n var letterSpacing = this.letterSpacing();\n var length = text.length;\n return (getDummyContext().measureText(text).width +\n (length ? letterSpacing * (length - 1) : 0));\n }\n _setTextData() {\n var lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n var additionalWidth = shouldAddEllipsis ? this._getTextWidth(ELLIPSIS) : 0;\n for (var i = 0, max = lines.length; i < max; ++i) {\n var line = lines[i];\n var lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n var low = 0, high = line.length, match = '', matchWidth = 0;\n while (low < high) {\n var mid = (low + high) >>> 1, substr = line.slice(0, mid + 1), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n var wrapIndex;\n var nextChar = line[match.length];\n var nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = match.length;\n }\n else {\n wrapIndex =\n Math.max(match.lastIndexOf(SPACE), match.lastIndexOf(DASH)) +\n 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = match.slice(0, low);\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n var shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n line = line.slice(low);\n line = line.trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n var fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n var width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n var lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n var haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n _useBufferCanvas() {\n const hasLine = this.textDecoration().indexOf('underline') !== -1 ||\n this.textDecoration().indexOf('line-through') !== -1;\n const hasShadow = this.hasShadow();\n if (hasLine && hasShadow) {\n return true;\n }\n return super._useBufferCanvas();\n }\n}\nexports.Text = Text;\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n(0, Global_1._registerNode)(Text);\nFactory_1.Factory.overWriteSetter(Text, 'width', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.overWriteSetter(Text, 'height', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'direction', INHERIT);\nFactory_1.Factory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(Text, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'align', LEFT);\nFactory_1.Factory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory_1.Factory.addGetterSetter(Text, 'lineHeight', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'wrap', WORD);\nFactory_1.Factory.addGetterSetter(Text, 'ellipsis', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'textDecoration', '');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextPath = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Path_1 = require(\"./Path\");\nconst Text_1 = require(\"./Text\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nclass TextPath extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util_1.Util.createCanvasElement();\n this.dataArray = [];\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _getTextPathLength() {\n return Path_1.Path.getPathLength(this.dataArray);\n }\n _getPointAtLength(length) {\n if (!this.attrs.data) {\n return null;\n }\n const totalLength = this.pathLength;\n if (length - 1 > totalLength) {\n return null;\n }\n return Path_1.Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n _readDataAttribute() {\n this.dataArray = Path_1.Path.parsePathData(this.attrs.data);\n this.pathLength = this._getTextPathLength();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n var textDecoration = this.textDecoration();\n var fill = this.fill();\n var fontSize = this.fontSize();\n var glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n context.save();\n var p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n var glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n var p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n var p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text_1.Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text_1.Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n var dummyCanvas = this.dummyCanvas;\n var _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n var metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(`${this.fontSize()}`, 10),\n };\n }\n _setTextData() {\n const { width, height } = this._getTextSize(this.attrs.text);\n this.textWidth = width;\n this.textHeight = height;\n this.glyphInfo = [];\n if (!this.attrs.data) {\n return null;\n }\n const letterSpacing = this.letterSpacing();\n const align = this.align();\n const kerningFunc = this.kerningFunc();\n const textWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n let offset = 0;\n if (align === 'center') {\n offset = Math.max(0, this.pathLength / 2 - textWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, this.pathLength - textWidth);\n }\n const charArr = (0, Text_1.stringToArray)(this.text());\n let offsetToGlyph = offset;\n for (var i = 0; i < charArr.length; i++) {\n const charStartPoint = this._getPointAtLength(offsetToGlyph);\n if (!charStartPoint)\n return;\n let glyphWidth = this._getTextSize(charArr[i]).width + letterSpacing;\n if (charArr[i] === ' ' && align === 'justify') {\n const numberOfSpaces = this.text().split(' ').length - 1;\n glyphWidth += (this.pathLength - textWidth) / numberOfSpaces;\n }\n const charEndPoint = this._getPointAtLength(offsetToGlyph + glyphWidth);\n if (!charEndPoint)\n return;\n const width = Path_1.Path.getLineLength(charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n let kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n charStartPoint.x += kern;\n charEndPoint.x += kern;\n this.textWidth += kern;\n const midpoint = Path_1.Path.getPointOnLine(kern + width / 2.0, charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n const rotation = Math.atan2(charEndPoint.y - charStartPoint.y, charEndPoint.x - charStartPoint.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: charStartPoint,\n p1: charEndPoint,\n });\n offsetToGlyph += glyphWidth;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n var points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n var minX = points[0] || 0;\n var maxX = points[0] || 0;\n var minY = points[1] || 0;\n var maxY = points[1] || 0;\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n var fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nexports.TextPath = TextPath;\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n(0, Global_1._registerNode)(TextPath);\nFactory_1.Factory.addGetterSetter(TextPath, 'data');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'align', 'left');\nFactory_1.Factory.addGetterSetter(TextPath, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory_1.Factory.addGetterSetter(TextPath, 'textDecoration', null);\nFactory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', null);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transformer = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Shape_1 = require(\"../Shape\");\nconst Rect_1 = require(\"./Rect\");\nconst Group_1 = require(\"../Group\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nvar EVENTS_NAME = 'tr-konva';\nvar ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n 'anchorStyleFuncChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nvar NODES_RECT = 'nodesRect';\nvar TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nvar ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Global_1.Konva._global;\nfunction getCursor(anchorName, rad, rotateCursor) {\n if (anchorName === 'rotater') {\n return rotateCursor;\n }\n rad += Util_1.Util.degToRad(ANGLES[anchorName] || 0);\n var angle = ((Util_1.Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util_1.Util._inRange(angle, 315 + 22.5, 360) || Util_1.Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util_1.Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util_1.Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nvar ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nvar MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return {\n ...shape,\n rotation: shape.rotation + angleRad,\n x,\n y,\n };\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Global_1.Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nlet activeTransformersCount = 0;\nclass Transformer extends Group_1.Group {\n constructor(config) {\n super(config);\n this._movingAnchorName = null;\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util_1.Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util_1.Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n var elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n var rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var absScale = node.getAbsoluteScale(relative);\n var absPos = node.getAbsolutePosition(relative);\n var dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n var dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Global_1.Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Global_1.Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n var node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n var trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n var transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Util_1.Transform();\n tr.rotate(-Global_1.Konva.getAngle(this.rotation()));\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n totalPoints.forEach(function (point) {\n var transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach((name) => {\n this._createAnchor(name);\n });\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n var anchor = new Rect_1.Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n var self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n var rad = Global_1.Konva.getAngle(this.rotation());\n var rotateCursor = this.rotateAnchorCursor();\n var cursor = getCursor(name, rad, rotateCursor);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n var back = new Shape_1.Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx, shape) {\n var tr = shape.getParent();\n var padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.moveTo(shape.width() / 2, -padding);\n if (tr.rotateEnabled() && tr.rotateLineVisible()) {\n ctx.lineTo(shape.width() / 2, -tr.rotateAnchorOffset() * Util_1.Util._sign(shape.height()) - padding);\n }\n ctx.fillStrokeShape(shape);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n var padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n this._movingAnchorName = e.target.name().split(' ')[0];\n var attrs = this._getNodeRect();\n var width = attrs.width;\n var height = attrs.height;\n var hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n var ap = e.target.getAbsolutePosition();\n var pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n activeTransformersCount++;\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n var x, y, newHypotenuse;\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n var stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n var attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n var oldRotation = Global_1.Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Global_1.Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n var shiftBehavior = this.shiftBehavior();\n var keepProportion;\n if (shiftBehavior === 'inverted') {\n keepProportion = this.keepRatio() && !e.shiftKey;\n }\n else if (shiftBehavior === 'none') {\n keepProportion = this.keepRatio();\n }\n else {\n keepProportion = this.keepRatio() || e.shiftKey;\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n var topLeft = this.findOne('.top-left');\n var bottomRight = this.findOne('.bottom-right');\n var topOffsetX = topLeft.x();\n var topOffsetY = topLeft.y();\n var bottomOffsetX = this.getWidth() - bottomRight.x();\n var bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n var absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n var width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n var height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n var _a;\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n var node = this.getNode();\n activeTransformersCount--;\n this._fire('transformend', { evt: e, target: node });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n if (node) {\n this._nodes.forEach((target) => {\n var _a;\n target._fire('transformend', { evt: e, target });\n (_a = target.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n var oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util_1.Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util_1.Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n var t = new Util_1.Transform();\n t.rotate(Global_1.Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util_1.Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Util_1.Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Util_1.Transform();\n const newScaleX = newAttrs.width / baseSize;\n const newScaleY = newAttrs.height / baseSize;\n if (this.flipEnabled() === false) {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.translate(newAttrs.width < 0 ? newAttrs.width : 0, newAttrs.height < 0 ? newAttrs.height : 0);\n newTr.scale(Math.abs(newScaleX), Math.abs(newScaleY));\n }\n else {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newScaleX, newScaleY);\n }\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Util_1.Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util_1.Util._getRotation(newAttrs.rotation));\n this._nodes.forEach((node) => {\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n });\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n var attrs = this._getNodeRect();\n this.rotation(Util_1.Util._getRotation(attrs.rotation));\n var width = attrs.width;\n var height = attrs.height;\n var enabledAnchors = this.enabledAnchors();\n var resizeEnabled = this.resizeEnabled();\n var padding = this.padding();\n var anchorSize = this.anchorSize();\n const anchors = this.find('._anchor');\n anchors.forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util_1.Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n const styleFunc = this.anchorStyleFunc();\n if (styleFunc) {\n anchors.forEach((node) => {\n styleFunc(node);\n });\n }\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group_1.Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node_1.Node.prototype.toObject.call(this);\n }\n clone(obj) {\n var node = Node_1.Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nexports.Transformer = Transformer;\nTransformer.isTransforming = () => {\n return activeTransformersCount > 0;\n};\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util_1.Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util_1.Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n(0, Global_2._registerNode)(Transformer);\nFactory_1.Factory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory_1.Factory.addGetterSetter(Transformer, 'flipEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorSize', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateLineVisible', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorCursor', 'crosshair');\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderDash');\nFactory_1.Factory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'shiftBehavior', 'default');\nFactory_1.Factory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'node');\nFactory_1.Factory.addGetterSetter(Transformer, 'nodes');\nFactory_1.Factory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStyleFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory_1.Factory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Wedge = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Wedge extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Global_1.Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.Wedge = Wedge;\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n(0, Global_2._registerNode)(Wedge);\nFactory_1.Factory.addGetterSetter(Wedge, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'clockwise', false);\nFactory_1.Factory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blur = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nvar mul_table = [\n 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292,\n 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292,\n 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259,\n 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292,\n 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373,\n 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259,\n 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381,\n 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292,\n 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461,\n 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373,\n 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309,\n 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259,\n 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442,\n 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381,\n 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332,\n 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\n 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259,\n];\nvar shg_table = [\n 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17,\n 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,\n 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n var pixels = imageData.data, width = imageData.width, height = imageData.height;\n var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n var div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), stackEnd = null, stack = stackStart, stackIn = null, stackOut = null, mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum =\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_sum =\n g_sum =\n b_sum =\n a_sum =\n 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_in_sum =\n g_sum =\n b_sum =\n a_sum =\n r_sum =\n 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nconst Blur = function Blur(imageData) {\n var radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nexports.Blur = Blur;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blurRadius', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Brighten = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Brighten = function (imageData) {\n var brightness = this.brightness() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nexports.Brighten = Brighten;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'brightness', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Contrast = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Contrast = function (imageData) {\n var adjust = Math.pow((this.contrast() + 100) / 100, 2);\n var data = imageData.data, nPixels = data.length, red = 150, green = 150, blue = 150, i;\n for (i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nexports.Contrast = Contrast;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'contrast', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emboss = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst Emboss = function (imageData) {\n var strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), dirY = 0, dirX = 0, data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util_1.Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n var offsetY = (y - 1) * w4;\n var otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n var offsetYOther = (y - 1 + otherY) * w * 4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n var offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n var dR = data[offset] - data[offsetOther];\n var dG = data[offset + 1] - data[offsetOther + 1];\n var dB = data[offset + 2] - data[offsetOther + 2];\n var dif = dR;\n var absDif = dif > 0 ? dif : -dif;\n var absG = dG > 0 ? dG : -dG;\n var absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n var r = data[offset] + dif;\n var g = data[offset + 1] + dif;\n var b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n var grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nexports.Emboss = Emboss;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossStrength', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossWhiteLevel', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossDirection', 'top-left', null, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossBlend', false, null, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Enhance = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n var fromRange = fromMax - fromMin, toRange = toMax - toMin, toValue;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nconst Enhance = function (imageData) {\n var data = imageData.data, nSubPixels = data.length, rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b, i;\n var enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n var rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nexports.Enhance = Enhance;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'enhance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grayscale = void 0;\nconst Grayscale = function (imageData) {\n var data = imageData.data, len = data.length, i, brightness;\n for (i = 0; i < len; i += 4) {\n brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\nexports.Grayscale = Grayscale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSL = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'luminance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nconst HSL = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\nexports.HSL = HSL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSV = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst HSV = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nexports.HSV = HSV;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'value', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Invert = void 0;\nconst Invert = function (imageData) {\n var data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\nexports.Invert = Invert;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kaleidoscope = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nvar ToPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta;\n var conversion = ((360 / tSize) * Math.PI) / 180, sin, cos;\n for (theta = 0; theta < tSize; theta += 1) {\n sin = Math.sin(theta * conversion);\n cos = Math.cos(theta * conversion);\n for (radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n i = (y * xSize + x) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nvar FromPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, dx, dy, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta, phaseShift = opt.polarRotation || 0;\n var x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n dx = x - xMid;\n dy = y - yMid;\n radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n i = (y1 * xSize + x1) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst Kaleidoscope = function (imageData) {\n var xSize = imageData.width, ySize = imageData.height;\n var x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n var power = Math.round(this.kaleidoscopePower());\n var angle = Math.round(this.kaleidoscopeAngle());\n var offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n var tempCanvas = Util_1.Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n var scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util_1.Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n var minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n var sectionSize = minSectionSize;\n var xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nexports.Kaleidoscope = Kaleidoscope;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopePower', 2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopeAngle', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mask = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction pixelAt(idata, x, y) {\n var idx = (y * idata.width + x) * 4;\n var d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n var m = [0, 0, 0];\n for (var i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n var rgbv_no = pixelAt(idata, 0, 0);\n var rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n var rgbv_so = pixelAt(idata, 0, idata.height - 1);\n var rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n var thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n var mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n var mask = [];\n for (var i = 0; i < idata.width * idata.height; i++) {\n var d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (var i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n var weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nconst Mask = function (imageData) {\n var threshold = this.threshold(), mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nexports.Mask = Mask;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Noise = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Noise = function (imageData) {\n var amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2, i;\n for (i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nexports.Noise = Noise;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'noise', 0.2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pixelate = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Util_1 = require(\"../Util\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Pixelate = function (imageData) {\n var pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util_1.Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nexports.Pixelate = Pixelate;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'pixelSize', 8, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Posterize = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Posterize = function (imageData) {\n var levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels, i;\n for (i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nexports.Posterize = Posterize;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'levels', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGB = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGB = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), i, brightness;\n for (i = 0; i < nPixels; i += 4) {\n brightness =\n (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nexports.RGB = RGB;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBA = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGBA = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha(), i, ia;\n for (i = 0; i < nPixels; i += 4) {\n ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nexports.RGBA = RGBA;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sepia = void 0;\nconst Sepia = function (imageData) {\n var data = imageData.data, nPixels = data.length, i, r, g, b;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\nexports.Sepia = Sepia;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Solarize = void 0;\nconst Solarize = function (imageData) {\n var data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n do {\n var offsetY = (y - 1) * w4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var r = data[offset];\n var g = data[offset + 1];\n var b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\nexports.Solarize = Solarize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Threshold = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Threshold = function (imageData) {\n var level = this.threshold() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nexports.Threshold = Threshold;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst _CoreInternals_1 = require(\"./_CoreInternals\");\nconst Arc_1 = require(\"./shapes/Arc\");\nconst Arrow_1 = require(\"./shapes/Arrow\");\nconst Circle_1 = require(\"./shapes/Circle\");\nconst Ellipse_1 = require(\"./shapes/Ellipse\");\nconst Image_1 = require(\"./shapes/Image\");\nconst Label_1 = require(\"./shapes/Label\");\nconst Line_1 = require(\"./shapes/Line\");\nconst Path_1 = require(\"./shapes/Path\");\nconst Rect_1 = require(\"./shapes/Rect\");\nconst RegularPolygon_1 = require(\"./shapes/RegularPolygon\");\nconst Ring_1 = require(\"./shapes/Ring\");\nconst Sprite_1 = require(\"./shapes/Sprite\");\nconst Star_1 = require(\"./shapes/Star\");\nconst Text_1 = require(\"./shapes/Text\");\nconst TextPath_1 = require(\"./shapes/TextPath\");\nconst Transformer_1 = require(\"./shapes/Transformer\");\nconst Wedge_1 = require(\"./shapes/Wedge\");\nconst Blur_1 = require(\"./filters/Blur\");\nconst Brighten_1 = require(\"./filters/Brighten\");\nconst Contrast_1 = require(\"./filters/Contrast\");\nconst Emboss_1 = require(\"./filters/Emboss\");\nconst Enhance_1 = require(\"./filters/Enhance\");\nconst Grayscale_1 = require(\"./filters/Grayscale\");\nconst HSL_1 = require(\"./filters/HSL\");\nconst HSV_1 = require(\"./filters/HSV\");\nconst Invert_1 = require(\"./filters/Invert\");\nconst Kaleidoscope_1 = require(\"./filters/Kaleidoscope\");\nconst Mask_1 = require(\"./filters/Mask\");\nconst Noise_1 = require(\"./filters/Noise\");\nconst Pixelate_1 = require(\"./filters/Pixelate\");\nconst Posterize_1 = require(\"./filters/Posterize\");\nconst RGB_1 = require(\"./filters/RGB\");\nconst RGBA_1 = require(\"./filters/RGBA\");\nconst Sepia_1 = require(\"./filters/Sepia\");\nconst Solarize_1 = require(\"./filters/Solarize\");\nconst Threshold_1 = require(\"./filters/Threshold\");\nexports.Konva = _CoreInternals_1.Konva.Util._assign(_CoreInternals_1.Konva, {\n Arc: Arc_1.Arc,\n Arrow: Arrow_1.Arrow,\n Circle: Circle_1.Circle,\n Ellipse: Ellipse_1.Ellipse,\n Image: Image_1.Image,\n Label: Label_1.Label,\n Tag: Label_1.Tag,\n Line: Line_1.Line,\n Path: Path_1.Path,\n Rect: Rect_1.Rect,\n RegularPolygon: RegularPolygon_1.RegularPolygon,\n Ring: Ring_1.Ring,\n Sprite: Sprite_1.Sprite,\n Star: Star_1.Star,\n Text: Text_1.Text,\n TextPath: TextPath_1.TextPath,\n Transformer: Transformer_1.Transformer,\n Wedge: Wedge_1.Wedge,\n Filters: {\n Blur: Blur_1.Blur,\n Brighten: Brighten_1.Brighten,\n Contrast: Contrast_1.Contrast,\n Emboss: Emboss_1.Emboss,\n Enhance: Enhance_1.Enhance,\n Grayscale: Grayscale_1.Grayscale,\n HSL: HSL_1.HSL,\n HSV: HSV_1.HSV,\n Invert: Invert_1.Invert,\n Kaleidoscope: Kaleidoscope_1.Kaleidoscope,\n Mask: Mask_1.Mask,\n Noise: Noise_1.Noise,\n Pixelate: Pixelate_1.Pixelate,\n Posterize: Posterize_1.Posterize,\n RGB: RGB_1.RGB,\n RGBA: RGBA_1.RGBA,\n Sepia: Sepia_1.Sepia,\n Solarize: Solarize_1.Solarize,\n Threshold: Threshold_1.Threshold,\n },\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _FullInternals_1 = require(\"./_FullInternals\");\nmodule.exports = _FullInternals_1.Konva;\n","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";function _createForOfIteratorHelper(a,b){var c=\"undefined\"!=typeof Symbol&&a[Symbol.iterator]||a[\"@@iterator\"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&\"number\"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c[\"return\"]||c[\"return\"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if(\"string\"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return\"Object\"===c&&a.constructor&&(c=a.constructor.name),\"Map\"===c||\"Set\"===c?Array.from(a):\"Arguments\"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);cc?-1:c,c=~~(255*c),[b[0]+c,b[1]+c,b[2]+c]}},contrast:function contrast(a){return function(b){var c=a;c*=255;var d=259*(c+255)/(255*(259-c));return[d*(b[0]-128)+128,d*(b[1]-128)+128,d*(b[2]-128)+128]}},saturation:function saturation(a){return function(c){var d=a;d=-1>d?-1:d;var e=c[0],f=c[1],g=c[2],b=.2989*e+.587*f+.114*g;return[-b*d+e*(1+d),-b*d+f*(1+d),-b*d+g*(1+d)]}},grayscale:function grayscale(){return function(a){var c=a[0],d=a[1],e=a[2];return[,,,].fill(.2126*c+.7152*d+.0722*e)}},sepia:function sepia(a){return function(c){var d=c[0],e=c[1],f=c[2];return[d*(1-.607*a)+.769*e*a+.189*f*a,.349*d*a+e*(1-.314*a)+.168*f*a,.272*d*a+.534*e*a+f*(1-.869*a)]}},adjustRGB:function adjustRGB(a){return function(b){return[b[0]*a[0],b[1]*a[1],b[2]*a[2]]}},colorFilter:function colorFilter(a){return function(c){var d=c[0],e=c[1],f=c[2],b=a[3];return[d-(d-a[0])*b,e-(e-a[1])*b,f-(f-a[2])*b]}}};export default BaseFilters;","import BaseFilters from\"./BaseFilters\";function BlackAndWhite(a){BaseFilters.apply(a,function(a){var b=(a[0]+a[1]+a[2])/3>100,c=b?255:0;return[c,c,c]})}BlackAndWhite.filterName=\"BlackAndWhite\";export default BlackAndWhite;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,CONTRAST_CONST=.1,SATURATION_CONST=.15;function Clarendon(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Clarendon.filterName=\"Clarendon\";export default Clarendon;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.04,CONTRAST_CONST=-.15;function Gingham(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.contrast(CONTRAST_CONST))}Gingham.filterName=\"Gingham\";export default Gingham;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1;function Moon(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.brightness(BRIGHTNESS_CONST));var b=a.data,c=b.length}Moon.filterName=\"Moon\";export default Moon;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.08,ADJUST_RGB_CONST=[1,1.03,1.05],SATURATION_CONST=.12;function Lark(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Lark.filterName=\"Lark\";export default Lark;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.4,BRIGHTNESS_CONST=.13,CONTRAST_CONST=-.05;function Reyes(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Reyes.filterName=\"Reyes\";export default Reyes;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.01,1.04,1],SATURATION_CONST=.3;function Juno(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Juno.filterName=\"Juno\";export default Juno;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,SATURATION_CONST=-.5;function Slumber(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Slumber.filterName=\"Slumber\";export default Slumber;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.04,1,1.02],SATURATION_CONST=-.05;function Crema(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Crema.filterName=\"Crema\";export default Crema;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.05,SATURATION_CONST=-.03;function Ludwig(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Ludwig.filterName=\"Ludwig\";export default Ludwig;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[228,130,225,.13],SATURATION_CONST=-.2;function Aden(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Aden.filterName=\"Aden\";export default Aden;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.05,1.1,1];function Perpetua(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST))}Perpetua.filterName=\"Perpetua\";export default Perpetua;","import BaseFilters from\"./BaseFilters\";var SATURATION_CONST=.3,BRIGHTNESS_CONST=.15;function Amaro(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Amaro.filterName=\"Amaro\";export default Amaro;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[230,115,108,.05],SATURATION_CONST=.15;function Mayfair(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Mayfair.filterName=\"Mayfair\";export default Mayfair;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,170,0,.1],BRIGHTNESS_CONST=.09,SATURATION_CONST=.1;function Rise(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Rise.filterName=\"Rise\";export default Rise;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1,1,1.25],CONTRAST_CONST=.1,BRIGHTNESS_CONST=.15;function Hudson(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Hudson.filterName=\"Hudson\";export default Hudson;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,225,80,.08],SATURATION_CONST=.1,CONTRAST_CONST=.05;function Valencia(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Valencia.filterName=\"Valencia\";export default Valencia;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,255,0,.07],SATURATION_CONST=.2,CONTRAST_CONST=.15;function XPro2(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}XPro2.filterName=\"XPro2\";export default XPro2;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=-.15,SATURATION_CONST=.1;function Sierra(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Sierra.filterName=\"Sierra\";export default Sierra;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[100,28,210,.03],BRIGHTNESS_CONST=.1;function Willow(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Willow.filterName=\"Willow\";export default Willow;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.15,SATURATION_CONST=.2;function LoFi(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}LoFi.filterName=\"LoFi\";export default LoFi;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.1,SATURATION_CONST=.15;function Hefe(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Hefe.filterName=\"Hefe\";export default Hefe;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[220,115,188,.12],CONTRAST_CONST=-.05;function Nashville(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Nashville.filterName=\"Nashville\";export default Nashville;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,SEPIA_CONST=.3;function Stinson(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.sepia(SEPIA_CONST))}Stinson.filterName=\"Stinson\";export default Stinson;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,225,0,.05],BRIGHTNESS_CONST=.06,CONTRAST_CONST=.06;function Vesper(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Vesper.filterName=\"Vesper\";export default Vesper;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,165,40,.2];function Earlybird(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST))}Earlybird.filterName=\"Earlybird\";export default Earlybird;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.2,COLOR_FILTER_CONST=[140,10,185,.1];function Brannan(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Brannan.filterName=\"Brannan\";export default Brannan;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=-.1,SATURATION_CONST=-.1;function Sutro(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Sutro.filterName=\"Sutro\";export default Sutro;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.1,COLOR_FILTER_CONST=[255,145,0,.2];function Toaster(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Toaster.filterName=\"Toaster\";export default Toaster;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,COLOR_FILTER_CONST=[255,255,0,.2];function Walden(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Walden.filterName=\"Walden\";export default Walden;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,25,0,.15],BRIGHTNESS_CONST=.1;function NinteenSeventySeven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}NinteenSeventySeven.filterName=\"NinteenSeventySeven\";export default NinteenSeventySeven;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,140,0,.1],ADJUST_RGB_CONST=[1.15,1.05,1],SATURATION_CONST=.35;function Kelvin(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Kelvin.filterName=\"Kelvin\";export default Kelvin;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[225,240,0,.1],SATURATION_CONST=.25,CONTRAST_CONST=.05;function Maven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Maven.filterName=\"Maven\";export default Maven;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.06,BRIGHTNESS_CONST=.1;function Ginza(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ginza.filterName=\"Ginza\";export default Ginza;","import BaseFilters from\"./BaseFilters\";var SATURATION_CONST=.35,BRIGHTNESS_CONST=.1;function Skyline(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Skyline.filterName=\"Skyline\";export default Skyline;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.15,BRIGHTNESS_CONST=.1;function Dogpatch(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Dogpatch.filterName=\"Dogpatch\";export default Dogpatch;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[25,240,252,.05],SEPIA_CONST=.3;function Brooklyn(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.sepia(SEPIA_CONST))}Brooklyn.filterName=\"Brooklyn\";export default Brooklyn;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[208,208,86,.2],CONTRAST_CONST=.15;function Helena(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Helena.filterName=\"Helena\";export default Helena;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,160,25,.1],BRIGHTNESS_CONST=.1;function Ashby(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ashby.filterName=\"Ashby\";export default Ashby;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,50,80,.12],CONTRAST_CONST=.05;function Charmes(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Charmes.filterName=\"Charmes\";export default Charmes;","import Konva from\"konva\";import*as CustomFilters from\"../custom/filters\";var filterStrToClass=function(a){return a?CustomFilters[a]||Konva.Filters[a]:null};export default filterStrToClass;","import Konva from\"konva\";import{Factory as KonvaFactory}from\"konva/lib/Factory\";import{getNumberValidator as konvaGetNumberValidator}from\"konva/lib/Validators\";function Warmth(a){for(var b=this.warmth(),c=a.data,d=c.length,e=0;e=b?255:0,c[e+1]=c[e+1]>=b?255:0,c[e+2]=c[e+2]>=b?255:0)}CustomThreshold.finetuneName=\"CustomThreshold\";export default CustomThreshold;KonvaFactory.addGetterSetter(Konva.Image,\"threshold\",0,konvaGetNumberValidator,KonvaFactory.afterSetFilter);","import Konva from\"konva\";import*as CustomFinetunes from\"../custom/finetunes\";var finetunesStrsToClasses=function(a){return Array.isArray(a)&&0d.status)b(d.response);else{var a;console.warn(\"Error in sending translation key to backend \".concat(null===(a=d.response)||void 0===a?void 0:a.hint,\", \").concat(d.status)),c()}},d.onerror=function(){var a;console.warn(\"Error in sending translation key to backend \".concat(null===(a=d.response)||void 0===a?void 0:a.hint,\", \").concat(d.status)),c()};d.open(\"POST\",\"https://neo.wordplex.io/api/import/request-translations?grid_uuid=\".concat(TRANSLATIONS_GRID_UUID)),d.send(JSON.stringify({grid_uuid:TRANSLATIONS_GRID_UUID,translations_requests:a}))})};export var getBackendTranslations=function(){var a=0f.status){(f.response||[]).forEach(function(a){backendTranslations[e]=_objectSpread(_objectSpread({},backendTranslations[e]),{},_defineProperty({},a.translation_key,a.translations[e]))});var a=[];Object.keys(defaultTranslations).forEach(function(b){var c;b&&!(null!==(c=backendTranslations[e])&&void 0!==c&&c[b])&&a.push({key:b,lang:e,default:defaultTranslations[b]})}),0d,l=0>e;switch(b){case TOOLS_IDS.RECT:c?(h.width=Math.sqrt(i*i+j*j),h.height=h.width,h.x-=k?h.width-i:0,h.y-=l?h.height-j:0):(h.width=i,h.height=j);break;case TOOLS_IDS.ELLIPSE:c?(h.radiusX=Math.sqrt(i*i+j*j)/2,h.radiusY=h.radiusX,h.x-=k?2*h.radiusX-i:0,h.y-=l?2*h.radiusY-j:0):(h.radiusX=i/2,h.radiusY=j/2),h.offsetX=-h.radiusX,h.offsetY=-h.radiusY;break;case TOOLS_IDS.POLYGON:h.radius=(i+j)/2,h.x-=k?2*h.radius-i:0,h.y-=l?2*h.radius-j:0,h.offsetX=-h.radius,h.offsetY=-h.radius;break;case TOOLS_IDS.LINE:case TOOLS_IDS.ARROW:h.x=f,h.y=g,h.points=[0,0],c?h.points.push(i>=j?d:0,j>i?e:0):h.points=[0,0,d,e];break;default:h.width=i,h.height=j}return h};export default getNewAnnotationPreview;","import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";var _excluded=[\"id\",\"x\",\"y\",\"points\"],_excluded2=[\"startedX\",\"startedY\",\"offsetX\",\"offsetY\",\"width\",\"height\"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c=MIN_PIXELS&&latestAnnotationProps.height>=MIN_PIXELS||latestAnnotationProps.radiusX>=MIN_PIXELS&&latestAnnotationProps.radiusY>=MIN_PIXELS||null!==(c=latestAnnotationProps.points)&&void 0!==c&&c[2]||null!==(e=latestAnnotationProps.points)&&void 0!==e&&e[3]||latestAnnotationProps.radius>=MIN_PIXELS)){var f=latestAnnotationProps,g=f.startedX,h=f.startedY,i=f.offsetX,o=f.offsetY,p=f.width,q=f.height,r=_objectWithoutProperties(f,_excluded2);NO_WIDTH_HEIGHT_ANNOTATIONS.includes(b.name)||(r.width=p,r.height=q),d(r,!0)}shownAnnotationPreview=null,textAnnotationWrappedRect=null,latestAnnotationProps=null,a.setAttrs({isDrawing:!1}),a.off(\"mousemove touchmove\",l),a.off(\"mouseleave touchcancel\",m),document.removeEventListener(\"mouseup\",n,eventsOptions),document.removeEventListener(\"touchend\",n,eventsOptions),document.removeEventListener(\"mouseleave\",n,eventsOptions),document.removeEventListener(\"touchcancel\",n,eventsOptions),document.removeEventListener(\"mousemove\",j,eventsOptions),document.removeEventListener(\"touchmove\",j,eventsOptions),pointerDown.isOutOfCanvas=!1},o=function handlePointerDown(b){var d;if(b.evt.preventDefault(),!(b.target.attrs.draggable||1<(null===(d=b.evt.touches)||void 0===d?void 0:d.length))){k();var e=getPointerOffsetPositionBoundedToObject(c,f());pointerDown.startedX=e.offsetX,pointerDown.startedY=e.offsetY,pointerDown.isOutOfCanvas=!1,a.on(\"mousemove touchmove\",l),a.on(\"mouseleave touchcancel\",m),document.addEventListener(\"mouseup\",n,eventsOptions),document.addEventListener(\"touchend\",n,eventsOptions),document.addEventListener(\"mouseleave\",n,eventsOptions),document.addEventListener(\"touchcancel\",n,eventsOptions)}};return a.on(\"mousedown touchstart\",o),function(){k(),a.off(\"mousedown touchstart\",o)}};export default previewThenCallAnnotationAdding;","import{useCallback}from\"react\";import debounce from\"../utils/debounce\";var useDebouncedCallback=function(a,b){var c=2=e?0:function getTopOffset(){return 0>e&&-90=e&&-90<=e?0:function getLeftOffset(){return 90>>32-b},cvtHex=function(a){var b,c,d=\"\";for(b=7;0<=b;b--)c=15&a>>>4*b,d+=c.toString(16);return d},Utf8Encode=function(a){for(var b,d=a.replace(/\\r\\n/g,\"\\n\"),e=\"\",f=0;fb?e+=String.fromCharCode(b):127b?(e+=String.fromCharCode(192|b>>6),e+=String.fromCharCode(128|63&b)):(e+=String.fromCharCode(224|b>>12),e+=String.fromCharCode(128|63&b>>6),e+=String.fromCharCode(128|63&b));return e},sha1=function(a){var b,c,d,e,f,g,h,k,l,m=a,n=Array(80),o=1732584193,p=4023233417,q=2562383102,r=271733878,s=3285377520;m=Utf8Encode(m);var t=m.length,u=[];for(c=0;c>>29),u.push(4294967295&t<<3),b=0;bc;c++)n[c]=u[b+c];for(c=16;79>=c;c++)n[c]=rotateLeft(n[c-3]^n[c-8]^n[c-14]^n[c-16],1);for(e=o,f=p,g=q,h=r,k=s,c=0;19>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|~f&h)+k+n[c]+1518500249,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=20;39>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+1859775393,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=40;59>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|f&h|g&h)+k+n[c]+2400959708,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=60;79>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+3395469782,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;o=4294967295&o+e,p=4294967295&p+f,q=4294967295&q+g,r=4294967295&r+h,s=4294967295&s+k}return l=cvtHex(o)+cvtHex(p)+cvtHex(q)+cvtHex(r)+cvtHex(s),l.toLowerCase()};export default sha1;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import sha1 from\"./sha1\";var encodeBase64=function(a){return btoa(a).replace(/=*$/g,\"\")},getSha1=function(a,b){return sha1(a).slice(0,b)},getSealingParams=function(a,b,c,d){var e=encodeBase64(a),f=getSha1(b+e+c,d);return[f?\"ci_seal=\".concat(f):\"\",e?\"ci_eqs=\".concat(e):\"\"].filter(function(a){return a}).join(\"&\")},getImageSealingParams=function(a,b,c){var d=b||{},e=d.salt,f=d.charCount,g=d.includeParams,h=void 0===g?[]:g,i=!h||0===(null===h||void 0===h?void 0:h.length),j=\"\",k=\"\",l=[],m=[];return a.split(\"&\").forEach(function(a){var b=a.split(\"=\"),c=_slicedToArray(b,1),d=c[0];-1<(null===h||void 0===h?void 0:h.indexOf(d))||i?l.push(a):m.push(a)}),0o?e*k/p:f*m/q),2);return\"\".concat(t,\"&wat_opacity=\").concat(i,\"&wat_scale=\").concat(A,\"p\").concat(z?\"&wat_url=\".concat(encodeURIComponent(z)):\"\")};export var finetuneNameToParamInfo={Brighten:{cloudimage:{name:\"bright\",min:-100,max:100},internal:{propName:\"brightness\",min:-1,max:1}},Contrast:{cloudimage:{name:\"contrast\",min:-100,max:100},internal:{propName:\"contrast\",min:-100,max:100}},Blur:{cloudimage:{name:\"blur\",min:0,max:100},internal:{propName:\"blurRadius\",min:0,max:100}}};var generateFinetuneQuery=function(a){var b=1 input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}\"]);\nvar LabelTooltip = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'label')\n}).withConfig({\n componentId: \"sc-jjink6-4\"\n})(function (_ref2) {\n var theme = _ref2.theme,\n _ref2$open = _ref2.open,\n open = _ref2$open === void 0 ? false : _ref2$open,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;\n return css([\"display:flex;align-items:center;justify-content:center;padding:6px 6px;border-radius:2px;position:absolute;top:-10px;font-size:10px;z-index:1;white-space:nowrap;transition:transform 150ms cubic-bezier(0.4,0,0.2,1) 0ms;transform-origin:bottom center;transform:\", \";background-color:\", \";color:#fff;cursor:pointer;transition:all 100ms ease-out;&::before{position:absolute;content:'';background-color:inherit;width:8px;height:8px;bottom:0px;left:50%;transform:translate(-50%,50%) rotate(45deg);}\"], open ? 'translateY(-100%) scale(1)' : 'translateY(-100%) scale(0)', disabled ? theme.palette[PC.AccentPrimaryDisabled] : theme.palette[PC.LinkStateless]);\n});\nvar SliderAnnotation = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'annotation')\n}).withConfig({\n componentId: \"sc-jjink6-5\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"display:flex;justify-content:space-between;margin-top:12px;color:\", \";\"], theme.palette[PC.TextSecondary]);\n});\nvar Styled = applyDisplayNames({\n Slider: Slider,\n Rail: Rail,\n Track: Track,\n Thumb: Thumb,\n SliderAnnotation: SliderAnnotation,\n LabelTooltip: LabelTooltip\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"defaultValue\", \"disabled\", \"disableSwap\", \"hideTrack\", \"hideAnnotation\", \"value\", \"min\", \"max\", \"onChange\", \"onMouseDown\", \"onMouseUp\", \"step\", \"labelTooltip\", \"annotation\", \"components\", \"componentsProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { intrinsicComponent, asc, valueToPercent, percentToValue, roundValueToStep, setValueIndex, findClosest, ownerDocument, clamp, trackFinger, focusThumb, axisProps, useForkRef } from '../../utils/functions';\nimport useControlled from '../../hooks/use-controlled';\nimport useEventCallback from '../../hooks/use-event-callback';\nimport { LabelTooltip } from './types';\nimport Styled from './slider.styles';\nvar INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nvar dataIndex = 'data-index';\nvar Slider = intrinsicComponent(function (_ref, ref) {\n var defaultValue = _ref.defaultValue,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$disableSwap = _ref.disableSwap,\n disableSwap = _ref$disableSwap === void 0 ? false : _ref$disableSwap,\n _ref$hideTrack = _ref.hideTrack,\n hideTrack = _ref$hideTrack === void 0 ? false : _ref$hideTrack,\n _ref$hideAnnotation = _ref.hideAnnotation,\n hideAnnotation = _ref$hideAnnotation === void 0 ? false : _ref$hideAnnotation,\n valueProp = _ref.value,\n _ref$min = _ref.min,\n min = _ref$min === void 0 ? 0 : _ref$min,\n _ref$max = _ref.max,\n max = _ref$max === void 0 ? 100 : _ref$max,\n onChange = _ref.onChange,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n _ref$step = _ref.step,\n step = _ref$step === void 0 ? 1 : _ref$step,\n _ref$labelTooltip = _ref.labelTooltip,\n labelTooltip = _ref$labelTooltip === void 0 ? LabelTooltip.Off : _ref$labelTooltip,\n _ref$annotation = _ref.annotation,\n annotation = _ref$annotation === void 0 ? 'MB' : _ref$annotation,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n _ref$componentsProps = _ref.componentsProps,\n componentsProps = _ref$componentsProps === void 0 ? {} : _ref$componentsProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n open = _useState4[0],\n setOpen = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n dragging = _useState6[0],\n setDragging = _useState6[1];\n var moveCount = useRef(0);\n var previousIndex = useRef(0);\n var touchId = useRef();\n var sliderRef = useRef(null);\n var handleRef = useForkRef(ref, sliderRef);\n var _useControlled = useControlled({\n controlled: valueProp,\n \"default\": defaultValue !== null && defaultValue !== void 0 ? defaultValue : min\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n var axis = 'horizontal';\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n var getFingerNewValue = function getFingerNewValue(_ref2) {\n var finger = _ref2.finger,\n _ref2$move = _ref2.move,\n move = _ref2$move === void 0 ? false : _ref2$move,\n values2 = _ref2.values;\n var slider = sliderRef.current;\n if (slider) {\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n var percent;\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n if (axis.includes('-reverse')) {\n percent = 1 - percent;\n }\n var newValue;\n newValue = percentToValue(percent, min, max);\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n if (disableSwap) {\n newValue = clamp(newValue, values2[activeIndex - 1] || -Infinity, values2[activeIndex + 1] || Infinity);\n }\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n newValue: newValue,\n index: activeIndex\n });\n if (!(disableSwap && move) && Array.isArray(newValue)) {\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n }\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n }\n return null;\n };\n var handleChange = function handleChange(event, value, thumbIndex) {\n if (onChange) {\n onChange(event, value, thumbIndex);\n }\n };\n var handleHiddenInputChange = function handleHiddenInputChange(event) {\n var index = Number(event.currentTarget.getAttribute(dataIndex));\n var newValue = event.target.valueAsNumber;\n if (range) {\n if (disableSwap) {\n newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);\n }\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n newValue: newValue,\n index: index\n });\n var activeIndex = index;\n if (!disableSwap) {\n activeIndex = newValue.indexOf(previousValue);\n }\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex\n });\n }\n setValueState(newValue);\n handleChange(event, newValue, index);\n if (onMouseUp) {\n onMouseUp(event);\n }\n };\n var handleTouchMove = useEventCallback(function (nativeEvent) {\n var finger = trackFinger(nativeEvent, touchId);\n if (!finger) {\n return;\n }\n moveCount.current += 1;\n if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {\n handleTouchEnd(nativeEvent);\n return;\n }\n var _ref3 = getFingerNewValue({\n finger: finger,\n move: true,\n values: values\n }),\n newValue = _ref3.newValue,\n activeIndex = _ref3.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n handleChange(nativeEvent, newValue, activeIndex);\n });\n var handleTouchEnd = useEventCallback(function (nativeEvent) {\n var finger = trackFinger(nativeEvent, touchId);\n setDragging(false);\n if (!finger) {\n return;\n }\n setActive(-1);\n if (nativeEvent.type === 'touchend') {\n setOpen(-1);\n }\n if (onMouseUp) {\n onMouseUp(nativeEvent);\n }\n touchId.current = undefined;\n stopListening();\n });\n var handleTouchStart = useEventCallback(function (nativeEvent) {\n var touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n touchId.current = touch.identifier;\n }\n var finger = trackFinger(nativeEvent, touchId);\n var _ref4 = getFingerNewValue({\n finger: finger,\n values: values\n }),\n newValue = _ref4.newValue,\n activeIndex = _ref4.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n handleChange(nativeEvent, newValue, activeIndex);\n moveCount.current = 0;\n var doc = ownerDocument(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n var handleMouseOver = useEventCallback(function (event) {\n var index = Number(event.currentTarget.getAttribute(dataIndex));\n setOpen(index);\n });\n var handleMouseLeave = useEventCallback(function () {\n setOpen(-1);\n });\n var handleMouseDown = useEventCallback(function (event) {\n if (!disabled) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n if (event.button !== 0) {\n return;\n }\n\n // Avoid text selection\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n var _ref5 = getFingerNewValue({\n finger: finger,\n values: values\n }),\n newValue = _ref5.newValue,\n activeIndex = _ref5.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n handleChange(event, newValue, activeIndex);\n moveCount.current = 0;\n var doc = ownerDocument(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n } else {\n // Avoid text selection\n event.preventDefault();\n }\n });\n var stopListening = useCallback(function () {\n var doc = ownerDocument(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n }, [handleTouchEnd, handleTouchMove]);\n useEffect(function () {\n var slider = sliderRef.current;\n if (slider) {\n return function () {\n stopListening();\n };\n }\n }, [stopListening, handleTouchStart]);\n useEffect(function () {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n var trackStyle = _objectSpread(_objectSpread({}, axisProps[axis].offset(trackOffset)), axisProps[axis].leap(trackLeap));\n var railProps = componentsProps.rail;\n var Rail = typeof components.Rail === 'function' ? /*#__PURE__*/React.createElement(components.Rail, _extends({}, railProps, {\n style: _objectSpread({}, railProps === null || railProps === void 0 ? void 0 : railProps.style)\n })) : /*#__PURE__*/React.createElement(Styled.Rail, _extends({}, railProps, {\n style: _objectSpread({}, railProps === null || railProps === void 0 ? void 0 : railProps.style)\n }));\n var trackProps = componentsProps.track;\n var Track = !hideTrack && (typeof components.Track === 'function' ? /*#__PURE__*/React.createElement(components.Track, _extends({}, trackProps, {\n style: _objectSpread(_objectSpread({}, trackStyle), trackProps === null || trackProps === void 0 ? void 0 : trackProps.style)\n })) : /*#__PURE__*/React.createElement(Styled.Track, _extends({}, trackProps, {\n style: _objectSpread(_objectSpread({}, trackStyle), trackProps === null || trackProps === void 0 ? void 0 : trackProps.style)\n })));\n var thumbProps = componentsProps.thumb;\n var Thumb = components.Thumb || Styled.Thumb;\n var LabelTooltipComponent = components.LabelTooltip || Styled.LabelTooltip;\n var labelTooltipProps = componentsProps.labelTooltip;\n var annotationText = annotation ? \" \".concat(annotation) : '';\n return /*#__PURE__*/React.createElement(Styled.Slider, _extends({\n ref: handleRef,\n disabled: disabled,\n onTouchStart: handleTouchStart,\n onMouseDown: handleMouseDown\n }, rest), Rail, Track, values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: index\n }, /*#__PURE__*/React.createElement(Thumb, _extends({\n \"data-index\": index,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }, thumbProps, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n pointerEvents: disableSwap && active !== index ? 'none' : undefined\n }, thumbProps === null || thumbProps === void 0 ? void 0 : thumbProps.style)\n }), /*#__PURE__*/React.createElement(\"input\", {\n \"data-index\": index,\n type: \"range\",\n min: min,\n max: max,\n value: values[index],\n step: step,\n disabled: disabled,\n onChange: handleHiddenInputChange\n }), /*#__PURE__*/React.createElement(LabelTooltipComponent, {\n open: (open === index || active === index || labelTooltip === 'on') && labelTooltip !== 'off',\n disabled: disabled,\n style: _objectSpread({}, labelTooltipProps === null || labelTooltipProps === void 0 ? void 0 : labelTooltipProps.style)\n }, values[index], annotationText)));\n }), !hideAnnotation && /*#__PURE__*/React.createElement(Styled.SliderAnnotation, null, /*#__PURE__*/React.createElement(\"span\", null, min, annotationText), /*#__PURE__*/React.createElement(\"span\", null, max, annotationText)));\n});\nexport default Slider;","import styled from\"styled-components\";import Slider from\"@scaleflex/ui/core/slider\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledSlider=styled(Slider).withConfig({componentId:\"sc-1wort0h-0\"})([\"width:\",\";max-width:\",\";user-select:none;padding:0;margin-bottom:\",\";.SfxSlider-thumb{background-color:\",\";}.SfxSlider-Track{height:2px;color:\",\";}.SfxSlider-rail{height:2px;background-color:\",\";}\"],function(a){var b=a.width;return b||\"104px\"},function(a){var b=a.width;return b||\"104px\"},function(a){var b=a.noMargin;return b?\"\":\"16px\"},function(a){var b=a.theme.palette;return b[PC.AccentStateless]},function(a){var b=a.theme.palette;return b[PC.AccentStateless]},function(a){var b=a.theme.palette;return b[PC.BordersItem]});export{StyledSlider};","import _extends from\"@babel/runtime/helpers/extends\";import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";var _excluded=[\"onChange\"];import React from\"react\";import{StyledSlider}from\"./Slider.styled\";var Slider=function(a){var b=a.onChange,c=_objectWithoutProperties(a,_excluded);return React.createElement(StyledSlider,_extends({annotation:\"\",onChange:function onChange(a,c){return b?b(c):void 0},hideAnnotation:!0,labelTooltip:\"auto\"},c))};export default Slider;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowBottom = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 11 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.8468 3.13984C11.0457 3.33138 11.0517 3.64791 10.8602 3.84682L6.04534 8.84682C5.95332 8.94238 5.82709 8.99746 5.69445 8.99991C5.5618 9.00237 5.43362 8.95201 5.33812 8.85992L0.152931 3.85992C-0.0458479 3.66824 -0.0516033 3.35171 0.140078 3.15293C0.331758 2.95415 0.648288 2.9484 0.847067 3.14008L5.67208 7.79277L10.1398 3.15318C10.3314 2.95427 10.6479 2.9483 10.8468 3.13984Z\",\n fill: color\n }));\n});\nexport default ArrowBottom;","export var Position = {\n Left: 'left',\n Right: 'right',\n Top: 'top',\n Bottom: 'bottom'\n};","export var ButtonColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n Basic: 'basic',\n LinkPrimary: 'link-primary',\n LinkSecondary: 'link-secondary',\n LinkBasicPrimary: 'link-basic-primary',\n LinkBasicSecondary: 'link-basic-secondary',\n ErrorPrimary: 'error-primary',\n ErrorSecondary: 'error-secondary',\n ErrorBasic: 'error-basic',\n WarningPrimary: 'warning-primary',\n WarningSecondary: 'warning-secondary',\n WarningBasic: 'warning-basic'\n};","export var IconButtonColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n Basic: 'basic'\n};","export var ButtonSize = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","export var InputSize = {\n Sm: 'sm',\n Md: 'md'\n};","export var Type = {\n Left: 'left',\n Right: 'right',\n Top: 'top',\n Bottom: 'bottom'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Type } from './arrow-tick.props';\nexport var typeArrowTickMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Type.Right, css([\"svg{transform:rotate(-90deg);transition:transform 150ms ease-out;}\"])), Type.Left, css([\"svg{transform:rotate(90deg);transition:transform 150ms ease-out;}\"])), Type.Top, css([\"svg{transform:rotate(180deg);transition:transform 150ms ease-out;}\"])), Type.Bottom, css([\"svg{transform:rotate(0);transition:transform 150ms ease-out;}\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { typeArrowTickMixin } from './arrow-tick.mixin';\nimport { Position } from '../../utils/types';\nvar baseClassName = 'ArrowTick';\nvar ArrowTick = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-tlypde-0\"\n})(function (_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Position.Right : _ref$type;\n return css([\"display:inline-flex;\", \"\"], typeArrowTickMixin[type]);\n});\nvar Styled = applyDisplayNames({\n ArrowTick: ArrowTick\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"type\", \"IconProps\"];\nimport React from 'react';\nimport ArrowBottom from '@scaleflex/icons/arrow-bottom';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Position } from '../../utils/types';\nimport Styled from './arrow-tick.styles';\nvar ArrowTick = intrinsicComponent(function (_ref, ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Position.Right : _ref$type,\n IconPropsData = _ref.IconProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ArrowTick, _extends({}, rest, {\n type: type,\n ref: ref\n }), /*#__PURE__*/React.createElement(ArrowBottom, IconPropsData));\n});\nexport default ArrowTick;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nvar baseClassName = 'AccordionHeader';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-1dtjsgt-0\"\n})(function () {\n return css([\"display:inline-flex;padding-left:8px;\"]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'label')\n}).withConfig({\n componentId: \"sc-1dtjsgt-1\"\n})(function (_ref) {\n var theme = _ref.theme;\n return css([\"\", \"\"], theme.typography.font[FontVariant.ButtonSm]);\n});\nvar Header = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1dtjsgt-2\"\n})(function (_ref2) {\n var theme = _ref2.theme,\n $fullWidth = _ref2.$fullWidth;\n return css([\"display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;width:\", \";color:\", \";user-select:none;\"], $fullWidth ? '100%' : 'auto', theme.palette[PColor.LinkPrimary]);\n});\nvar Wrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-1dtjsgt-3\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"color:\", \";\"], theme.palette[PColor.LinkPrimary]);\n});\nvar Styled = applyDisplayNames({\n Header: Header,\n Wrapper: Wrapper,\n Icon: Icon,\n Label: Label\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"expanded\", \"label\", \"onChange\", \"onClick\", \"onContextMenu\", \"hideIcon\", \"fullWidth\", \"iconProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport ArrowTick from '../arrow-tick';\nimport { Position as ArrowTickType } from '../../utils/types';\nimport Styled from './accordion-header.styles';\nvar AccordionHeader = intrinsicComponent(function (_ref, ref) {\n var _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n label = _ref.label,\n onChange = _ref.onChange,\n _onClick = _ref.onClick,\n onContextMenu = _ref.onContextMenu,\n _ref$hideIcon = _ref.hideIcon,\n hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n iconPropsData = _ref.iconProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Header, _extends({\n ref: ref,\n onClick: function onClick(event) {\n if (typeof onChange === 'function') {\n onChange(!expanded);\n }\n if (typeof _onClick === 'function') {\n _onClick(event);\n }\n },\n $fullWidth: fullWidth\n }, rest), /*#__PURE__*/React.createElement(Styled.Label, {\n onContextMenu: onContextMenu\n }, label), !hideIcon && /*#__PURE__*/React.createElement(Styled.Icon, {\n onContextMenu: onContextMenu\n }, /*#__PURE__*/React.createElement(ArrowTick, {\n type: expanded ? ArrowTickType.Top : ArrowTickType.Bottom,\n IconProps: _objectSpread({\n size: 11\n }, iconPropsData)\n })));\n});\nexport default AccordionHeader;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'AccordionDetails';\nvar AccordionDetails = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1wr6wpr-0\"\n})([\"margin:16px 0;\"]);\nvar Styled = applyDisplayNames({\n AccordionDetails: AccordionDetails\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"expanded\", \"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './accordion-details.styles';\nvar AccordionDetails = intrinsicComponent(function (_ref, ref) {\n var _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(React.Fragment, null, expanded && /*#__PURE__*/React.createElement(Styled.AccordionDetails, _extends({\n ref: ref\n }, rest), children));\n});\nexport default AccordionDetails;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'Accordion';\nvar Accordion = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1g4tz7s-0\"\n})([\"\"]);\nvar Styled = applyDisplayNames({\n Accordion: Accordion\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"label\", \"expanded\", \"children\", \"detailStyle\", \"headerStyle\", \"fullWidth\", \"iconProps\", \"onClick\", \"onChange\", \"onContextMenu\", \"hideIcon\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport AccordionHeader from '../accordion-header';\nimport AccordionDetails from '../accordion-details';\nimport Styled from './accordion.styles';\nvar Accordion = intrinsicComponent(function (_ref, ref) {\n var label = _ref.label,\n _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n children = _ref.children,\n detailStyle = _ref.detailStyle,\n headerStyle = _ref.headerStyle,\n fullWidth = _ref.fullWidth,\n iconPropsData = _ref.iconProps,\n onClick = _ref.onClick,\n onChange = _ref.onChange,\n onContextMenu = _ref.onContextMenu,\n _ref$hideIcon = _ref.hideIcon,\n hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,\n rest = _objectWithoutProperties(_ref, _excluded);\n var handleOnClick = function handleOnClick(event) {\n if (typeof onChange === 'function') {\n onChange(!expanded, event);\n }\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n return /*#__PURE__*/React.createElement(Styled.Accordion, _extends({\n ref: ref\n }, rest), /*#__PURE__*/React.createElement(AccordionHeader, {\n label: label,\n expanded: expanded,\n style: _objectSpread({}, headerStyle),\n hideIcon: hideIcon,\n onClick: handleOnClick,\n onContextMenu: onContextMenu,\n iconProps: iconPropsData,\n fullWidth: fullWidth\n }), /*#__PURE__*/React.createElement(AccordionDetails, {\n expanded: expanded,\n style: _objectSpread({}, detailStyle)\n }, children));\n});\nexport default Accordion;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"stroke\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Arrow = intrinsicComponent(function (_ref, ref) {\n var _ref$stroke = _ref.stroke,\n stroke = _ref$stroke === void 0 ? 'currentColor' : _ref$stroke,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 10 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size * (51 / 56),\n height: size,\n viewBox: \"0 0 51 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2754 3L37.2754 27.0741L12.2754 53\",\n stroke: stroke,\n strokeWidth: \"5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }));\n});\nexport default Arrow;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Tick = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9783 2.30184C12.7972 2.12074 12.586 2 12.3143 2C12.0728 2 11.8314 2.09055 11.6503 2.30184L4.73816 9.84779L2.29327 7.34254C2.11217 7.16143 1.8707 7.07088 1.62923 7.07088C1.38776 7.07088 1.14629 7.19162 0.995367 7.37272C0.663345 7.76511 0.663345 8.36879 1.02555 8.73099L4.13448 11.9003C4.31559 12.0814 4.52687 12.1719 4.76835 12.1719C5.00982 12.1719 5.25129 12.0814 5.43239 11.8701L12.9783 3.62993C13.3406 3.2979 13.3406 2.66404 12.9783 2.30184Z\",\n fill: color\n }));\n});\nexport default Tick;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CopyOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z\",\n fill: color\n }));\n});\nexport default CopyOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var EyeOpen = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 31.625C8.64336 31.625 0.533984 17.3656 0.196875 16.759C-0.065625 16.2867 -0.065625 15.7129 0.196875 15.2406C0.533984 14.6344 8.64336 0.375 25 0.375C41.3566 0.375 49.466 14.6344 49.8031 15.241C50.0656 15.7133 50.0656 16.2871 49.8031 16.7594C49.466 17.3656 41.3566 31.625 25 31.625ZM3.40117 15.9977C5.25977 18.8145 12.557 28.5 25 28.5C37.4824 28.5 44.7473 18.8223 46.5988 16.0023C44.7402 13.1855 37.443 3.5 25 3.5C12.5176 3.5 5.25273 13.1777 3.40117 15.9977ZM25 25.375C19.8305 25.375 15.625 21.1695 15.625 16C15.625 10.8305 19.8305 6.625 25 6.625C30.1695 6.625 34.375 10.8305 34.375 16C34.375 21.1695 30.1695 25.375 25 25.375ZM25 9.75C21.5539 9.75 18.75 12.5539 18.75 16C18.75 19.4461 21.5539 22.25 25 22.25C28.4461 22.25 31.25 19.4461 31.25 16C31.25 12.5539 28.4461 9.75 25 9.75Z\",\n fill: color\n }));\n});\nexport default EyeOpen;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var EyeClosed = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 44 44\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.2553 6.05501C36.5966 5.71376 37.1514 5.71376 37.4926 6.05501C37.8339 6.39626 37.8339 6.95103 37.4926 7.29228L32.3765 12.4084C38.3601 15.8067 42.6046 20.7607 42.7917 20.9825C43.0682 21.3097 43.0699 21.7874 42.7936 22.113C42.3893 22.5908 32.7818 33.7978 22.0001 33.7978C18.9909 33.7978 15.9678 33.1203 13.0065 31.7785L7.74272 37.0423C7.57292 37.2121 7.34897 37.2978 7.12495 37.2978C6.90092 37.2978 6.67698 37.212 6.50545 37.0423C6.1642 36.701 6.1642 36.1462 6.50545 35.805L17.0426 25.2678C17.0453 25.265 17.0481 25.2622 17.0509 25.2595C17.0531 25.2573 17.0553 25.2551 17.0575 25.2529L25.7063 16.6041C25.7081 16.6023 25.7098 16.6005 25.7116 16.5987C25.7134 16.5969 25.7152 16.5952 25.717 16.5934L30.2895 12.0208C30.3028 12.0067 30.3164 11.9931 30.3304 11.9799L36.2553 6.05501ZM31.0895 13.6954L27.5301 17.2548C28.4835 18.476 28.9998 19.9721 28.9998 21.5478C28.9998 25.4083 25.8603 28.5478 21.9999 28.5478C20.4242 28.5478 18.9281 28.0314 17.7069 27.078L14.3353 30.4497C16.8728 31.5113 19.445 32.0478 22 32.0478C30.6537 32.0478 38.863 23.8071 40.9489 21.5478C39.6267 20.1195 35.855 16.3016 31.0895 13.6954ZM18.9574 25.8276C19.8392 26.458 20.8929 26.7977 21.9999 26.7977C24.8943 26.7977 27.2499 24.4422 27.2499 21.5477C27.2499 20.4409 26.9092 19.3873 26.2793 18.5056L18.9574 25.8276Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.7418 10.3057C25.7504 9.63545 23.8184 9.29773 22.0001 9.29773C11.2183 9.29773 1.61084 20.5047 1.20659 20.9825C0.951064 21.2835 0.930064 21.721 1.15762 22.0482C1.27837 22.2215 4.17111 26.3287 9.18485 29.659C9.33358 29.7587 9.49985 29.806 9.66785 29.806C9.94963 29.806 10.2279 29.6695 10.3959 29.4122C10.6636 29.0115 10.5534 28.4672 10.1509 28.2012C6.46889 25.753 3.94889 22.7973 3.00561 21.595C5.01989 19.4075 13.2834 11.0478 22.0001 11.0478C23.6293 11.0478 25.3741 11.3558 27.1835 11.963C27.642 12.1275 28.139 11.8738 28.2913 11.4135C28.4453 10.955 28.2003 10.4598 27.7418 10.3057Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2197 14.6685C22.8224 14.5985 22.4164 14.5477 22 14.5477C18.1395 14.5477 15 17.6872 15 21.5477C15 21.9642 15.0508 22.3702 15.1225 22.7674C15.1977 23.1909 15.567 23.4902 15.9817 23.4902C16.0325 23.4902 16.0832 23.4867 16.1357 23.4762C16.6099 23.3922 16.9285 22.9371 16.8445 22.4629C16.7902 22.1654 16.75 21.8627 16.75 21.5477C16.75 18.6532 19.1055 16.2977 22 16.2977C22.315 16.2977 22.6177 16.338 22.9152 16.3905C23.3807 16.485 23.8444 16.1559 23.9284 15.6817C24.0124 15.2075 23.694 14.7525 23.2197 14.6685Z\",\n fill: color\n }));\n});\nexport default EyeClosed;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Success = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.5 10.5001C20.5 16.023 16.0228 20.5001 10.5 20.5001C4.97714 20.5001 0.5 16.023 0.5 10.5001C0.5 4.97727 4.97714 0.500122 10.5 0.500122C16.0228 0.500122 20.5 4.97727 20.5 10.5001ZM7.88239 9.56904C8.00439 9.62145 8.11473 9.69763 8.20698 9.79314L9.49998 11.0861L12.793 7.79314C12.8852 7.69763 12.9956 7.62145 13.1176 7.56904C13.2396 7.51663 13.3708 7.48905 13.5036 7.48789C13.6363 7.48674 13.768 7.51204 13.8909 7.56232C14.0138 7.6126 14.1255 7.68686 14.2194 7.78075C14.3133 7.87464 14.3875 7.98629 14.4378 8.10919C14.4881 8.23208 14.5134 8.36376 14.5122 8.49654C14.5111 8.62932 14.4835 8.76054 14.4311 8.88255C14.3787 9.00455 14.3025 9.1149 14.207 9.20714L10.207 13.2071C10.0194 13.3946 9.76514 13.4999 9.49998 13.4999C9.23482 13.4999 8.98051 13.3946 8.79298 13.2071L6.79298 11.2071C6.69747 11.1149 6.62129 11.0046 6.56888 10.8825C6.51647 10.7605 6.48889 10.6293 6.48773 10.4965C6.48658 10.3638 6.51188 10.2321 6.56216 10.1092C6.61244 9.98629 6.6867 9.87464 6.78059 9.78075C6.87448 9.68686 6.98613 9.6126 7.10903 9.56232C7.23193 9.51204 7.3636 9.48674 7.49638 9.48789C7.62916 9.48905 7.76038 9.51663 7.88239 9.56904Z\",\n fill: color\n }));\n});\nexport default Success;","import { lightPalette } from '../../theme/roots/palette';\nimport { Color } from '../../utils/types/palette';\nexport var getInputBackgroundColor = function getInputBackgroundColor(readOnly, disabled) {\n if (readOnly || disabled) {\n return lightPalette[Color.BackgroundHover];\n }\n return lightPalette[Color.BackgroundStateless];\n};\nexport var getInputTextColor = function getInputTextColor(readOnly, disabled) {\n if (readOnly) {\n return lightPalette[Color.AccentPrimaryHover];\n }\n if (disabled) {\n return lightPalette[Color.TextPlaceholder];\n }\n return lightPalette[Color.TextPrimary];\n};\nexport var getInputBorderColor = function getInputBorderColor(readOnly, disabled) {\n if (readOnly) {\n return lightPalette[Color.BordersItem];\n }\n if (disabled) {\n return lightPalette[Color.BordersSecondary];\n }\n return lightPalette[Color.BorderPrimaryStateless];\n};\nexport var handleCopyIcon = function handleCopyIcon(value, setShowCopyMessage) {\n navigator.clipboard.writeText(value);\n setShowCopyMessage(true);\n};","export var Type = {\n Text: 'text',\n Password: 'password'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { InputSize } from '../../utils/types';\nexport var sizeInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, \"\\n padding: 8px 12px;\\n height: 32px;\\n \"), InputSize.Md, \"\\n padding: 11px 16px;\\n height: 40px;\\n \");\nexport var sizeCrossInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, \"\\n padding: 4px 6px 4px 12px;\\n max-height: 32px;\\n \"), InputSize.Md, \"\\n padding: 0px 4px 0px 16px;\\n max-height: 40px;\\n \");\nexport var fontSizeInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css([\"\", \"\"], font[FV.InputMd]);\n}), InputSize.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"\", \"\"], font[FV.InputLg]);\n});\nexport var sizeInputLabelMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref3) {\n var font = _ref3.theme.typography.font;\n return css(font[FV.LabelSmall]);\n}), InputSize.Md, function (_ref4) {\n var font = _ref4.theme.typography.font;\n return css(font[FV.LabelMedium]);\n});\nexport var errorMixin = function errorMixin(_ref5) {\n var palette = _ref5.theme.palette;\n return css([\"background:\", \" !important;border:1px solid \", \" !important;\"], palette[PaletteColor.BackgroundSecondary], palette[PaletteColor.Error]);\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { sizeInputMixin, fontSizeInputMixin, errorMixin } from './input.mixin';\nimport { InputSize } from '../../utils/types';\nimport { getInputBackgroundColor, getInputTextColor, getInputBorderColor } from './input.utils';\nvar baseClassName = 'Input';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-150k0cz-0\"\n})(function (_ref) {\n var iconClickStart = _ref.iconClickStart,\n iconClickEnd = _ref.iconClickEnd,\n disabled = _ref.disabled,\n readOnly = _ref.readOnly,\n $iconType = _ref.$iconType,\n palette = _ref.theme.palette;\n return css([\"display:flex;color:\", \";cursor:\", \";flex-shrink:0;\", \"\"], palette[PColor.IconsPrimary], (iconClickStart || iconClickEnd) && !disabled && !readOnly ? 'pointer' : 'default', $iconType === 'end' && css([\"color:\", \";\"], palette[PColor.IconsSecondary]));\n});\nvar CopyIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'CopyIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"display:flex;color:\", \";cursor:pointer;\"], palette[PColor.IconsSecondary]);\n});\nvar PasswordIcon = /*#__PURE__*/styled(CopyIcon).attrs({\n className: generateClassNames(baseClassName, 'PasswordIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-2\"\n})([\"\"]);\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-150k0cz-3\"\n})(function () {\n return css([\"display:block;color:inherit;font-size:inherit;width:100%;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;\"]);\n});\nvar Base = /*#__PURE__*/styled.input.attrs({\n className: generateClassNames(baseClassName, 'Base')\n}).withConfig({\n componentId: \"sc-150k0cz-4\"\n})(function (_ref3) {\n var palette = _ref3.theme.palette,\n _ref3$$isEllipsis = _ref3.$isEllipsis,\n $isEllipsis = _ref3$$isEllipsis === void 0 ? false : _ref3$$isEllipsis;\n return css([\"display:block;color:inherit;width:100%;min-width:fit-content;margin:0;padding:0;border:0;background-color:transparent;outline:none;\", \" &::placeholder{color:\", \";}\"], $isEllipsis && css([\"text-overflow:ellipsis;\"]), palette[PColor.TextPlaceholder]);\n});\nvar Input = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-150k0cz-5\"\n})(function (_ref4) {\n var _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? InputSize.Md : _ref4$size,\n _ref4$$error = _ref4.$error,\n $error = _ref4$$error === void 0 ? false : _ref4$$error,\n _ref4$$fullWidth = _ref4.$fullWidth,\n $fullWidth = _ref4$$fullWidth === void 0 ? false : _ref4$$fullWidth,\n _ref4$readOnly = _ref4.readOnly,\n readOnly = _ref4$readOnly === void 0 ? false : _ref4$readOnly,\n _ref4$disabled = _ref4.disabled,\n disabled = _ref4$disabled === void 0 ? false : _ref4$disabled,\n _ref4$isHovering = _ref4.isHovering,\n isHovering = _ref4$isHovering === void 0 ? false : _ref4$isHovering,\n _ref4$$isSelectedItem = _ref4.$isSelectedItems,\n $isSelectedItems = _ref4$$isSelectedItem === void 0 ? false : _ref4$$isSelectedItem,\n _ref4$hasInputActions = _ref4.hasInputActions,\n hasInputActions = _ref4$hasInputActions === void 0 ? false : _ref4$hasInputActions,\n theme = _ref4.theme;\n return css([\"position:relative;display:flex;flex-direction:\", \";\", \" box-sizing:border-box;column-gap:8px;cursor:text;transition:all 100ms ease-out;width:\", \";pointer-events:\", \";background-color:\", \";border-radius:\", \";border:1px solid \", \";color:\", \";\", \" \", \";\", \"{\", \"}\", \" \", \" &:hover{color:\", \";}\", \"\"], !hasInputActions ? 'row' : 'column', hasInputActions && 'align-items: stretch;', $fullWidth ? '100%' : '300px', disabled ? 'none' : 'auto', getInputBackgroundColor(readOnly, disabled), theme.shape.borderRadius[BRSize.Md], getInputBorderColor(readOnly, disabled), disabled ? theme.palette[PColor.TextPlaceholder] : theme.palette[PColor.TextPrimary], sizeInputMixin[size], $isSelectedItems && \"\\n height: fit-content;\\n\\n \".concat(Base, \" {\\n max-width: fit-content;\\n min-width: 20px;\\n flex-grow: 1;\\n width: 40px;\\n }\\n \"), Base, fontSizeInputMixin[size], !readOnly && !disabled && css([\"&:focus-within{background-color:\", \"!important;border:1px solid \", \";&:hover{border:1px solid \", \";\", \"{color:\", \";}}}\", \" &:hover{background-color:\", \";border:1px solid \", \";\", \"{color:\", \";}}\"], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.AccentStateless], theme.palette[PColor.AccentStateless], Icon, theme.palette[PColor.IconsPrimary], isHovering && css([\"\", \"{color:\", \";}\"], Icon, theme.palette[PColor.IconsPrimaryHover]), theme.palette[PColor.BackgroundStateless], theme.palette[PColor.BordersPrimaryHover], Icon, theme.palette[PColor.IconsPrimaryHover]), disabled && css([\"\", \"{color:\", \";}\"], Icon, theme.palette[PColor.IconsMuted]), getInputTextColor(readOnly, disabled), $error && errorMixin);\n});\nvar ClearIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'ClearIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-6\"\n})(function (_ref5) {\n var palette = _ref5.theme.palette;\n return css([\"display:flex;cursor:pointer;color:\", \";\"], palette[PColor.IconsPrimary]);\n});\nvar NotificationBox = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'NotificationBox')\n}).withConfig({\n componentId: \"sc-150k0cz-7\"\n})(function (_ref6) {\n var _ref6$size = _ref6.size,\n size = _ref6$size === void 0 ? InputSize.Md : _ref6$size,\n _ref6$isTextarea = _ref6.isTextarea,\n isTextarea = _ref6$isTextarea === void 0 ? false : _ref6$isTextarea,\n palette = _ref6.theme.palette;\n return css([\"display:flex;position:absolute;align-items:center;max-height:34px;right:0px;padding:8px 12px;gap:6px;bottom:\", \";box-shadow:0px 2px 6px \", \";background-color:\", \";border-radius:4px;align-items:center;\", \"\"], size === InputSize.Md ? '45px' : '35px', palette[PColor.LargeShadow], palette[PColor.BackgroundStateless], isTextarea && \"\\n bottom: \".concat(size === InputSize.Md ? 27 : 22, \"px;\\n right: \").concat(size === InputSize.Md ? 16 : 12, \"px;\\n \"));\n});\nvar NotificationIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'NotificationIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-8\"\n})(function (_ref7) {\n var palette = _ref7.theme.palette;\n return css([\"display:flex;color:\", \";\"], palette[PColor.IconsPrimary]);\n});\nvar NotificationText = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'NotificationText')\n}).withConfig({\n componentId: \"sc-150k0cz-9\"\n})(function (_ref8) {\n var _ref8$theme = _ref8.theme,\n palette = _ref8$theme.palette,\n font = _ref8$theme.typography.font;\n return css([\"display:flex;white-space:nowrap;\", \";color:\", \";\"], font[FV.TextSmall], palette[PColor.TextPrimary]);\n});\nvar FieldWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'fieldWrapper')\n}).withConfig({\n componentId: \"sc-150k0cz-10\"\n})(function (_ref9) {\n var $isSelectedItems = _ref9.$isSelectedItems;\n return css([\"width:100%;height:100%;display:inline-flex;flex-wrap:wrap;gap:8px;max-height:120px;\", \";::-webkit-scrollbar{display:none;}\"], $isSelectedItems && \"\\n overflow-y: auto;\\n \");\n});\nvar InputActions = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'inputActions')\n}).withConfig({\n componentId: \"sc-150k0cz-11\"\n})([\"padding-top:16px;width:100%;box-sizing:border-box;\"]);\nvar InputContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'inputContent')\n}).withConfig({\n componentId: \"sc-150k0cz-12\"\n})([\"display:flex;align-items:center;width:100%;column-gap:8px;box-sizing:border-box;\"]);\nvar Styled = applyDisplayNames({\n Input: Input,\n Container: Container,\n Base: Base,\n Icon: Icon,\n CopyIcon: CopyIcon,\n PasswordIcon: PasswordIcon,\n ClearIcon: ClearIcon,\n NotificationBox: NotificationBox,\n NotificationIcon: NotificationIcon,\n NotificationText: NotificationText,\n FieldWrapper: FieldWrapper,\n InputActions: InputActions,\n InputContent: InputContent\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"inputType\", \"children\", \"iconStart\", \"iconEnd\", \"iconChange\", \"inputActions\", \"clearIcon\", \"iconClickStart\", \"iconClickEnd\", \"clearIconClick\", \"size\", \"className\", \"style\", \"fullWidth\", \"readOnly\", \"disabled\", \"hideCopyIcon\", \"focusOnMount\", \"focusOnClick\", \"isEllipsis\", \"copyTextMessage\", \"copySuccessIcon\", \"error\", \"renderTags\", \"showPlaceholder\", \"InputProps\"];\nimport React, { useState, useRef, useEffect } from 'react';\nimport CopyOutline from '@scaleflex/icons/copy-outline';\nimport EyeOpen from '@scaleflex/icons/eye-open';\nimport EyeClosed from '@scaleflex/icons/eye-closed';\nimport Success from '@scaleflex/icons/success';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { handleCopyIcon } from './input.utils';\nimport { Type } from './types';\nimport Styled from './input.styles';\nvar getIconSize = function getIconSize(sizeName, iconType) {\n switch (sizeName) {\n case InputSize.Md:\n return iconType === 'start' ? 15 : 14;\n case InputSize.Sm:\n default:\n return iconType === 'start' ? 13 : 10;\n }\n};\nvar getPasswordIconSize = function getPasswordIconSize(sizeName) {\n switch (sizeName) {\n case InputSize.Md:\n return 16;\n case InputSize.Sm:\n default:\n return 14;\n }\n};\nvar Input = intrinsicComponent(function (_ref, ref) {\n var _rest$selectedItems;\n var inputType = _ref.inputType,\n children = _ref.children,\n iconStart = _ref.iconStart,\n iconEnd = _ref.iconEnd,\n iconChange = _ref.iconChange,\n inputActions = _ref.inputActions,\n clearIcon = _ref.clearIcon,\n iconClickStart = _ref.iconClickStart,\n iconClickEnd = _ref.iconClickEnd,\n clearIconClick = _ref.clearIconClick,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n className = _ref.className,\n style = _ref.style,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$hideCopyIcon = _ref.hideCopyIcon,\n hideCopyIcon = _ref$hideCopyIcon === void 0 ? false : _ref$hideCopyIcon,\n _ref$focusOnMount = _ref.focusOnMount,\n focusOnMount = _ref$focusOnMount === void 0 ? false : _ref$focusOnMount,\n _ref$focusOnClick = _ref.focusOnClick,\n focusOnClick = _ref$focusOnClick === void 0 ? true : _ref$focusOnClick,\n _ref$isEllipsis = _ref.isEllipsis,\n isEllipsis = _ref$isEllipsis === void 0 ? false : _ref$isEllipsis,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n renderTags = _ref.renderTags,\n showPlaceholder = _ref.showPlaceholder,\n InputPropsData = _ref.InputProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHovering = _useState2[0],\n setIsHovering = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showCopyMessage = _useState4[0],\n setShowCopyMessage = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isVisible = _useState6[0],\n setIsVisible = _useState6[1];\n var inputRef = useRef(null);\n var isSelectedItems = (_rest$selectedItems = rest.selectedItems) === null || _rest$selectedItems === void 0 ? void 0 : _rest$selectedItems.length;\n var placeholder = rest.value || isSelectedItems ? '' : rest.placeholder;\n var showCopyIcon = isHovering && readOnly && rest.value.length > 0 && !hideCopyIcon;\n var handleFocus = function handleFocus() {\n var _inputRef$current;\n if (disabled || readOnly) return;\n showPlaceholder === null || showPlaceholder === void 0 || showPlaceholder(false);\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();\n };\n useEffect(function () {\n if (focusOnMount) {\n handleFocus();\n }\n }, []);\n useEffect(function () {\n setTimeout(function () {\n return setShowCopyMessage(false);\n }, 2000);\n }, [showCopyMessage]);\n var handleEntering = function handleEntering() {\n setTimeout(function () {\n setIsHovering(true);\n }, 150);\n };\n var handleLeaving = function handleLeaving() {\n setTimeout(function () {\n setIsHovering(false);\n }, 200);\n };\n var handleIconClick = function handleIconClick(event, type) {\n if (disabled || readOnly) return;\n if (focusOnClick) {\n handleFocus();\n }\n if (type === 'start') {\n if (iconClickStart) {\n iconClickStart(event);\n }\n } else if (type === 'end') {\n if (iconClickEnd) {\n iconClickEnd(event);\n }\n } else if (clearIconClick) {\n clearIconClick(event);\n }\n };\n var renderIcon = function renderIcon(_icon, type) {\n return _icon ? /*#__PURE__*/React.createElement(Styled.Icon, {\n onClick: function onClick(event) {\n return handleIconClick(event, type);\n },\n iconClickStart: iconClickStart,\n iconClickEnd: iconClickEnd,\n $iconType: type,\n disabled: disabled,\n readOnly: readOnly\n }, typeof _icon === 'function' ? _icon({\n size: getIconSize(size, type)\n }) : _icon) : undefined;\n };\n var renderClearIcon = function renderClearIcon() {\n return disabled || readOnly || !clearIcon ? undefined : /*#__PURE__*/React.createElement(Styled.ClearIcon, {\n onClick: function onClick(event) {\n return handleIconClick(event, 'clear');\n }\n }, typeof clearIcon === 'function' ? clearIcon({\n size: getIconSize(size, 'clear')\n }) : clearIcon);\n };\n var renderCopyIcon = function renderCopyIcon(icon) {\n return showCopyIcon ? /*#__PURE__*/React.createElement(Styled.CopyIcon, {\n onClick: function onClick() {\n return handleCopyIcon(rest.value, setShowCopyMessage);\n }\n }, icon) : undefined;\n };\n var toggleVisibility = function toggleVisibility(event) {\n event.stopPropagation();\n setIsVisible(!isVisible);\n };\n var renderPasswordIcon = function renderPasswordIcon() {\n return /*#__PURE__*/React.createElement(Styled.PasswordIcon, {\n onClick: function onClick(event) {\n return toggleVisibility(event);\n }\n }, isVisible ? /*#__PURE__*/React.createElement(EyeClosed, {\n size: getPasswordIconSize(size)\n }) : /*#__PURE__*/React.createElement(EyeOpen, {\n size: getPasswordIconSize(size)\n }));\n };\n var getInputType = function getInputType() {\n if (!inputType && rest !== null && rest !== void 0 && rest.type) {\n return rest === null || rest === void 0 ? void 0 : rest.type;\n }\n if (inputType === Type.Password && !isVisible) {\n return Type.Password;\n }\n return Type.Text;\n };\n var renderField = function renderField() {\n return /*#__PURE__*/React.createElement(Styled.FieldWrapper, {\n $isSelectedItems: Boolean(isSelectedItems)\n }, renderTags && renderTags(), /*#__PURE__*/React.createElement(Styled.Base, _extends({}, rest, {\n placeholder: placeholder,\n ref: inputRef,\n readOnly: Boolean(readOnly),\n type: getInputType(),\n $isEllipsis: isEllipsis\n })));\n };\n var renderCopyText = function renderCopyText() {\n return /*#__PURE__*/React.createElement(Styled.NotificationBox, {\n size: size\n }, /*#__PURE__*/React.createElement(Styled.NotificationIcon, null, copySuccessIcon), /*#__PURE__*/React.createElement(Styled.NotificationText, null, copyTextMessage));\n };\n var renderInputActions = function renderInputActions(inputActions) {\n if (!inputActions) return;\n return /*#__PURE__*/React.createElement(Styled.InputActions, null, inputActions);\n };\n return /*#__PURE__*/React.createElement(Styled.Input, _extends({\n onClick: focusOnClick ? handleFocus : undefined,\n ref: ref,\n size: size,\n onMouseEnter: handleEntering,\n onMouseLeave: handleLeaving,\n className: className,\n style: style,\n readOnly: readOnly,\n disabled: disabled,\n $fullWidth: Boolean(fullWidth),\n $error: error,\n clearIcon: clearIcon,\n isHovering: rest.isHovering,\n $isSelectedItems: Boolean(isSelectedItems || inputActions),\n hasInputActions: Boolean(inputActions)\n }, InputPropsData || {}), /*#__PURE__*/React.createElement(Styled.InputContent, null, renderIcon(iconStart, 'start'), renderField(), renderCopyIcon( /*#__PURE__*/React.createElement(CopyOutline, {\n size: getIconSize(size, 'copy')\n })), showCopyMessage && renderCopyText(), renderClearIcon(), inputType === Type.Password && renderPasswordIcon(), renderIcon(iconEnd, 'end'), renderIcon(iconChange, ''), children && /*#__PURE__*/React.createElement(React.Fragment, null, children)), renderInputActions(inputActions));\n});\nexport default Input;","export var Position = {\n AutoStart: 'auto-start',\n Auto: 'auto',\n AutoEnd: 'auto-end',\n TopStart: 'top-start',\n Top: 'top',\n TopEnd: 'top-end',\n BottomStart: 'bottom-start',\n Bottom: 'bottom',\n BottomEnd: 'bottom-end',\n LeftStart: 'left-start',\n Left: 'left',\n LeftEnd: 'left-end',\n RightStart: 'right-start',\n Right: 'right',\n RightEnd: 'right-end'\n};","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.0.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { useRef, useEffect } from 'react';\n/**\r\n * Creates DOM element to be used as React root.\r\n */\nfunction createRootElement(id) {\n var rootContainer = document.createElement('div');\n rootContainer.setAttribute('id', id);\n return rootContainer;\n}\n\n/**\r\n * Appends element as last child of body.\r\n */\nfunction addRootElement(rootElem) {\n document.body.append(rootElem);\n}\n\n/**\r\n * Hook to create a React Portal.\r\n * Automatically handles creating and tearing-down the root elements (no SRR\r\n * makes this trivial), so there is no need to ensure the parent target already\r\n * exists.\r\n * @example\r\n * const target = usePortal(id, [id]);\r\n * return createPortal(children, target);\r\n * @param {String} id The id of the target container, e.g 'modal' or 'spotlight'\r\n * @returns {HTMLElement} The DOM node to use as the Portal target.\r\n */\nfunction usePortal(id) {\n var rootElemRef = useRef(null);\n useEffect(function () {\n // Look for existing target dom element to append to\n var existingParent = document.querySelector(\"#\".concat(id));\n // Parent is either a new root or the existing dom element\n var parentElem = existingParent || createRootElement(id);\n\n // If there is no existing DOM element, add a new one.\n if (!existingParent) {\n addRootElement(parentElem);\n }\n\n // Add the detached element to the parent\n if (rootElemRef.current) {\n parentElem.append(rootElemRef.current);\n }\n return function removeElement() {\n if (rootElemRef.current) {\n rootElemRef.current.remove();\n }\n if (parentElem.childNodes.length === -1) {\n parentElem.remove();\n }\n };\n }, []);\n\n /**\r\n * It's important we evaluate this lazily:\r\n * - We need first render to contain the DOM element, so it shouldn't happen\r\n * in useEffect. We would normally put this in the constructor().\r\n * - We can't do 'const rootElemRef = useRef(document.createElement('div))',\r\n * since this will run every single render (that's a lot).\r\n * - We want the ref to consistently point to the same DOM element and only\r\n * ever run once.\r\n * @link https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily\r\n */\n function getRootElem() {\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement('div');\n }\n return rootElemRef.current;\n }\n return getRootElem();\n}\nexport default usePortal;\nexport { usePortal };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _PopperMixin;\nimport { css } from 'styled-components';\nimport { Position } from './types';\nexport var PopperMixin = (_PopperMixin = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_PopperMixin, Position.Auto, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.AutoEnd, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.AutoStart, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.Right, css([\"left:-4px;\"])), Position.RightEnd, css([\"left:-4px;\"])), Position.RightStart, css([\"left:-4px;\"])), Position.Left, css([\"right:-4px;\"])), Position.LeftEnd, css([\"right:-4px;\"])), Position.LeftStart, css([\"right:-4px;\"])), Position.Top, css([\"bottom:-4px;\"])), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_PopperMixin, Position.TopEnd, css([\"bottom:-4px;\"])), Position.TopStart, css([\"bottom:-4px;\"])), Position.Bottom, css([\"top:-4px;\"])), Position.BottomEnd, css([\"top:-4px;\"])), Position.BottomStart, css([\"top:-4px;\"])));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { PopperMixin } from './popper.mixin';\nimport { Position } from './types';\nvar baseClassName = 'Popper';\nvar Popper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1373tsp-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"display:\", \";\"], !open && 'none');\n});\nvar PopperWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-1373tsp-1\"\n})(function (_ref2) {\n var $zIndex = _ref2.$zIndex;\n return css([\"position:relative;z-index:\", \";\"], $zIndex);\n});\nvar Arrow = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'arrow')\n}).withConfig({\n componentId: \"sc-1373tsp-2\"\n})(function (_ref3) {\n var _ref3$warning = _ref3.warning,\n warning = _ref3$warning === void 0 ? false : _ref3$warning,\n _ref3$position = _ref3.position,\n position = _ref3$position === void 0 ? Position.Right : _ref3$position,\n theme = _ref3.theme;\n return css([\"width:8px;height:8px;position:absolute;&::before{content:'';background:\", \";width:8px;height:8px;transform:rotate(45deg);position:absolute;top:0;left:0;z-index:-1;}\", \"\"], warning ? theme.palette[PColor.BackgroundOrange] : theme.palette[PColor.BackgroundGrey], PopperMixin[position]);\n});\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-1373tsp-3\"\n})(function () {\n return css([\"position:fixed;right:0;bottom:0;top:0;left:0;background-color:transparent;\"]);\n});\nvar Styled = applyDisplayNames({\n Popper: Popper,\n Overlay: Overlay,\n Arrow: Arrow,\n PopperWrapper: PopperWrapper\n});\nexport default Styled;","export var passEventToUnderLayingEvent = function passEventToUnderLayingEvent(event) {\n setTimeout(function () {\n if (event.clientX && event.clientY) {\n var elem = document.elementFromPoint(event.clientX, event.clientY);\n if (elem) {\n elem.dispatchEvent(event.nativeEvent);\n }\n }\n }, 0);\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"anchorEl\", \"children\", \"open\", \"warning\", \"position\", \"arrow\", \"popperOptions\", \"overlay\", \"zIndex\", \"enableUnderlayingEvent\", \"wrapperStyles\", \"disablePortal\", \"onClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useRef, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { createPopper } from '@popperjs/core';\nimport usePortal from '../../hooks/use-portal';\nimport { intrinsicComponent, generateClassNames, useForkRef } from '../../utils/functions';\nimport { Position } from './types';\nimport Styled from './popper.styles';\nimport { passEventToUnderLayingEvent } from './popper.utils';\nvar Popper = intrinsicComponent(function (_ref, ref) {\n var anchorEl = _ref.anchorEl,\n children = _ref.children,\n open = _ref.open,\n _ref$warning = _ref.warning,\n warning = _ref$warning === void 0 ? false : _ref$warning,\n _ref$position = _ref.position,\n initialPlacement = _ref$position === void 0 ? Position.Bottom : _ref$position,\n _ref$arrow = _ref.arrow,\n arrow = _ref$arrow === void 0 ? false : _ref$arrow,\n _ref$popperOptions = _ref.popperOptions,\n popperOptions = _ref$popperOptions === void 0 ? {} : _ref$popperOptions,\n _ref$overlay = _ref.overlay,\n overlay = _ref$overlay === void 0 ? false : _ref$overlay,\n _ref$zIndex = _ref.zIndex,\n zIndex = _ref$zIndex === void 0 ? 1300 : _ref$zIndex,\n _ref$enableUnderlayin = _ref.enableUnderlayingEvent,\n enableUnderlayingEvent = _ref$enableUnderlayin === void 0 ? false : _ref$enableUnderlayin,\n _ref$wrapperStyles = _ref.wrapperStyles,\n wrapperStyles = _ref$wrapperStyles === void 0 ? {} : _ref$wrapperStyles,\n _ref$disablePortal = _ref.disablePortal,\n disablePortal = _ref$disablePortal === void 0 ? false : _ref$disablePortal,\n onClick = _ref.onClick,\n rest = _objectWithoutProperties(_ref, _excluded);\n var target = usePortal(generateClassNames('Popper'));\n var popperRef = useRef(null);\n var handlePopperRef = useForkRef(popperRef, ref);\n useEffect(function () {\n if (!anchorEl || !open || popperRef.current === null) {\n return undefined;\n }\n var defaultModifiers = [{\n name: 'arrow',\n options: {\n element: '[data-popper-arrow]'\n }\n }, {\n name: 'offset',\n options: {\n offset: [0, 10]\n }\n }];\n var popperModifiers = arrow ? defaultModifiers : [];\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n var popper = createPopper(anchorEl, popperRef.current, _objectSpread(_objectSpread({\n placement: initialPlacement\n }, popperOptions), {}, {\n modifiers: popperModifiers\n }));\n handlePopperRef.current = popper;\n return function () {\n popper.destroy();\n handlePopperRef.current = null;\n };\n }, [anchorEl, open, popperOptions, initialPlacement, arrow]);\n var handleOnClicking = function handleOnClicking(event) {\n event.persist();\n event.preventDefault();\n event.stopPropagation();\n if (onClick) {\n onClick(event);\n }\n if (enableUnderlayingEvent) {\n passEventToUnderLayingEvent(event);\n }\n };\n var renderOverlay = function renderOverlay() {\n return /*#__PURE__*/React.createElement(Styled.Overlay, {\n onClick: handleOnClicking,\n onContextMenu: handleOnClicking\n });\n };\n var render = function render() {\n var _handlePopperRef$stat;\n return /*#__PURE__*/React.createElement(Styled.PopperWrapper, {\n $zIndex: zIndex,\n style: _objectSpread({}, wrapperStyles)\n }, overlay && open && renderOverlay(), /*#__PURE__*/React.createElement(Styled.Popper, _extends({\n ref: handlePopperRef,\n open: open\n }, rest), children, arrow && /*#__PURE__*/React.createElement(Styled.Arrow, {\n warning: warning,\n \"data-popper-arrow\": true,\n position: (handlePopperRef === null || handlePopperRef === void 0 || (_handlePopperRef$stat = handlePopperRef.state) === null || _handlePopperRef$stat === void 0 ? void 0 : _handlePopperRef$stat.placement) || initialPlacement\n })));\n };\n return disablePortal ? render() : /*#__PURE__*/createPortal(render(), target);\n});\nexport default Popper;","import styled, { css, keyframes } from 'styled-components';\nimport { generateClassNames, applyDisplayNames, scrollBar } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nvar baseClassName = 'Menu';\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-10okxhw-0\"\n})(function () {\n return css([\"position:fixed;right:0;bottom:0;top:0;left:0;background-color:transparent;z-index:-1;\"]);\n});\nvar opacityKeyframes = /*#__PURE__*/keyframes([\"from{opacity:0;}to{opacity:1;}\"]);\nvar transformKeyframes = /*#__PURE__*/keyframes([\"from{transform:scale(0.97);margin-top:0px;}to{transform:scale(1);margin-top:4px;}\"]);\nvar fadeInAnimation = /*#__PURE__*/css([\"animation:\", \" 250ms 0ms cubic-bezier(0.4,0,0.2,1),\", \" 250ms cubic-bezier(0.4,0,0.2,1);\"], opacityKeyframes, transformKeyframes);\nvar Menu = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-10okxhw-1\"\n})(function (_ref) {\n var theme = _ref.theme,\n _ref$$maxHeight = _ref.$maxHeight,\n $maxHeight = _ref$$maxHeight === void 0 ? '' : _ref$$maxHeight,\n $rect = _ref.$rect;\n return css([\"min-width:\", \"px;width:195px;min-height:16px;overflow-x:hidden;overflow-y:auto;transition:opacity 250ms cubic-bezier(0.4,0,0,1),transform 250ms cubic-bezier(0.4,0,0,1),margin-top 250ms cubic-bezier(0.4,0,0,1);outline:0;box-shadow:0 2px 4px \", \";border-radius:\", \";padding:4px 0;background-color:\", \";margin-top:4px;\", \" \", \" \", \"\"], $rect.width, theme.palette[PColor.MediumShadow], theme.shape.borderRadius[BRSize.Md], theme.palette[PColor.BackgroundStateless], scrollBar, fadeInAnimation, $maxHeight && css([\"max-height:\", \";\"], Number.isNaN(+$maxHeight) ? $maxHeight : \"\".concat($maxHeight, \"px\")));\n});\nvar Styled = applyDisplayNames({\n Menu: Menu,\n Overlay: Overlay\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"anchorEl\", \"maxHeight\", \"position\", \"zIndex\", \"open\", \"enableOverlay\", \"hideScroll\", \"enableUnderlayingEvent\", \"containerProps\", \"popperOptions\", \"popperWrapperStyles\", \"onClose\"];\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Position } from '../popper/types';\nimport Popper from '../popper';\nimport Styled from './menu.styles';\nvar Menu = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n anchorEl = _ref.anchorEl,\n _ref$maxHeight = _ref.maxHeight,\n maxHeight = _ref$maxHeight === void 0 ? 250 : _ref$maxHeight,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? Position.BottomStart : _ref$position,\n zIndex = _ref.zIndex,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? false : _ref$open,\n _ref$enableOverlay = _ref.enableOverlay,\n enableOverlay = _ref$enableOverlay === void 0 ? true : _ref$enableOverlay,\n _ref$hideScroll = _ref.hideScroll,\n hideScroll = _ref$hideScroll === void 0 ? true : _ref$hideScroll,\n _ref$enableUnderlayin = _ref.enableUnderlayingEvent,\n enableUnderlayingEvent = _ref$enableUnderlayin === void 0 ? false : _ref$enableUnderlayin,\n _ref$containerProps = _ref.containerProps,\n containerProps = _ref$containerProps === void 0 ? {} : _ref$containerProps,\n popperOptions = _ref.popperOptions,\n _ref$popperWrapperSty = _ref.popperWrapperStyles,\n popperWrapperStyles = _ref$popperWrapperSty === void 0 ? {} : _ref$popperWrapperSty,\n onClose = _ref.onClose,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n timeout = _useState2[0],\n setTimeoutState = _useState2[1];\n var _useState3 = useState(new DOMRect()),\n _useState4 = _slicedToArray(_useState3, 2),\n rect = _useState4[0],\n setRect = _useState4[1];\n var menuRef = useRef(null);\n var updateRect = useCallback(function () {\n var _anchorEl$getBounding;\n var defaultPosition = {\n top: 0,\n left: 0,\n height: 0,\n width: 0\n };\n var defaultRect = new DOMRect(defaultPosition.left, defaultPosition.top, defaultPosition.width, defaultPosition.height);\n setRect((_anchorEl$getBounding = anchorEl === null || anchorEl === void 0 ? void 0 : anchorEl.getBoundingClientRect()) !== null && _anchorEl$getBounding !== void 0 ? _anchorEl$getBounding : defaultRect);\n }, [open, timeout, anchorEl]);\n var handleWindowSizeChanged = useCallback(function () {\n if (open) {\n if (timeout) {\n clearTimeout(timeout);\n }\n setTimeoutState(setTimeout(updateRect, 300));\n }\n }, [open, timeout]);\n useEffect(function () {\n window.addEventListener('resize', handleWindowSizeChanged);\n return function () {\n window.removeEventListener('resize', handleWindowSizeChanged);\n };\n }, [handleWindowSizeChanged]);\n useEffect(function () {\n updateRect();\n }, [updateRect]);\n useEffect(function () {\n if (hideScroll) {\n if (open) {\n document.body.classList.add('Menu-open');\n updateRect();\n } else {\n document.body.classList.remove('Menu-open');\n }\n return function () {\n document.body.classList.remove('Menu-open');\n };\n }\n }, [open, updateRect]);\n var handleClose = function handleClose(event) {\n if (typeof onClose === 'function') {\n onClose(event);\n }\n };\n return /*#__PURE__*/React.createElement(Popper, {\n ref: menuRef,\n position: position,\n open: open,\n anchorEl: anchorEl,\n overlay: enableOverlay,\n popperOptions: popperOptions,\n zIndex: zIndex,\n enableUnderlayingEvent: enableUnderlayingEvent,\n wrapperStyles: popperWrapperStyles,\n onClick: handleClose\n }, /*#__PURE__*/React.createElement(Styled.Menu, _extends({\n ref: ref,\n $maxHeight: maxHeight,\n $rect: rect\n }, containerProps, rest), children));\n});\nexport default Menu;","export var Size = {\n Sm: 'sm',\n Md: 'md'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { Size } from './types';\nexport var sizeMenuItemMixin = _defineProperty(_defineProperty({}, Size.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css([\"padding:8px 16px;min-height:32px;\", \"\"], font[FV.LabelMedium]);\n}), Size.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"padding:11px 16px;min-height:40px;\", \"\"], font[FV.LabelLarge]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { sizeMenuItemMixin } from './menu-item.mixin';\nimport { Size } from './types';\nvar baseClassName = 'MenuItem';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-rrzye0-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette,\n disabled = _ref.disabled;\n return css([\"flex-shrink:0;margin-right:10px;color:\", \";\"], disabled ? palette[PColor.TextPlaceholder] : palette[PColor.IconsPrimary]);\n});\nvar Actions = /*#__PURE__*/styled(Icon).attrs({\n className: generateClassNames(baseClassName, 'Actions')\n}).withConfig({\n componentId: \"sc-rrzye0-1\"\n})(function () {\n return css([\"margin-right:0px;margin-left:16px;\"]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-rrzye0-2\"\n})([\"align-items:center;column-gap:4px;flex-grow:1;\"]);\nvar MenuItemWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-rrzye0-3\"\n})(function (_ref2) {\n var _ref2$divider = _ref2.divider,\n divider = _ref2$divider === void 0 ? false : _ref2$divider,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,\n theme = _ref2.theme;\n return css([\"\", \" \", \"\"], divider && css([\"width:100%;height:1px;background:\", \";box-sizing:border-box;margin:4px 0;\"], theme.palette[PColor.BordersSecondary]), disabled && css([\"color:\", \";\"], theme.palette[PColor.ButtonDisabledText]));\n});\nvar MenuItem = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-rrzye0-4\"\n})(function (_ref3) {\n var _ref3$size = _ref3.size,\n size = _ref3$size === void 0 ? Size.Sm : _ref3$size,\n $active = _ref3.$active,\n theme = _ref3.theme,\n _ref3$disableHover = _ref3.disableHover,\n disableHover = _ref3$disableHover === void 0 ? false : _ref3$disableHover,\n disabled = _ref3.disabled,\n $isFocused = _ref3.$isFocused;\n return css([\"display:flex;justify-content:space-between;flex-direction:row;align-items:center;width:100%;background:\", \";color:\", \";cursor:pointer;box-sizing:border-box;transition:all 100ms ease-out;\", \" &:focus-within,&:focus,&:hover{\", \";\", \"}\", \" \", \"\"], theme.palette[$active ? PColor.BackgroundActive : PColor.BackgroundSecondary], theme.palette[PColor.TextPrimary], sizeMenuItemMixin[size], !disableHover && css([\"background-color:\", \";\"], theme.palette[PColor.BackgroundHover]), disabled && css([\"cursor:default;background-color:white;\"]), disabled && css([\"& > svg{path{fill:\", \";}}color:\", \";\"], theme.palette[PColor.ButtonDisabledText], theme.palette[PColor.ButtonDisabledText]), $isFocused && !disableHover && css([\"background-color:\", \";\"], theme.palette[PColor.BackgroundHover]));\n});\nvar MenuPrefix = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'prefix')\n}).withConfig({\n componentId: \"sc-rrzye0-5\"\n})(function () {\n return css([\"display:flex;\"]);\n});\nvar MenuContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'content')\n}).withConfig({\n componentId: \"sc-rrzye0-6\"\n})(function () {\n return css([\"flex-grow:1;line-height:16px;\"]);\n});\nvar MenuSuffix = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'suffix')\n}).withConfig({\n componentId: \"sc-rrzye0-7\"\n})(function () {\n return css([\"display:flex;margin-left:8px;\"]);\n});\nvar Styled = applyDisplayNames({\n MenuItemWrapper: MenuItemWrapper,\n MenuItem: MenuItem,\n MenuPrefix: MenuPrefix,\n MenuContent: MenuContent,\n MenuSuffix: MenuSuffix,\n Label: Label,\n Icon: Icon,\n Actions: Actions\n});\nexport default Styled;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useRef, useEffect } from 'react';\nimport Arrow from '@scaleflex/icons/arrow';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Menu from '../menu';\nimport Styled from './menu-item.styles';\nvar MenuItem = intrinsicComponent(function (props, ref) {\n var list = props.list,\n children = props.children,\n disableHover = props.disableHover,\n disabled = props.disabled,\n enableScrollIntoView = props.enableScrollIntoView,\n _props$isFocused = props.isFocused,\n isFocused = _props$isFocused === void 0 ? false : _props$isFocused,\n active = props.active,\n value = props.value,\n dividerStyle = props.dividerStyle,\n _props$depth = props.depth,\n depth = _props$depth === void 0 ? 0 : _props$depth;\n var menuItemRef = useRef(null);\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n anchorEl = _React$useState2[0],\n setAnchorEl = _React$useState2[1];\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n selectedIds = _React$useState4[0],\n setSelectedIds = _React$useState4[1];\n var handleOpenMenu = function handleOpenMenu(event) {\n setAnchorEl(event.currentTarget);\n };\n var handleScroll = function handleScroll() {\n var _menuItemRef$current;\n (_menuItemRef$current = menuItemRef.current) === null || _menuItemRef$current === void 0 || _menuItemRef$current.scrollIntoView({\n behavior: 'auto',\n block: 'nearest'\n });\n };\n useEffect(function () {\n if ((active || isFocused) && enableScrollIntoView) {\n handleScroll();\n }\n }, [active, isFocused]);\n var handleSelectedId = function handleSelectedId(ev, selected, depthLevel) {\n var updatedArray = selectedIds.slice(0);\n updatedArray[depthLevel] = selected;\n setSelectedIds(updatedArray);\n handleOpenMenu(ev);\n };\n var handleCloseSubMenu = function handleCloseSubMenu(depthLevel) {\n var updatedArray = selectedIds.slice(0);\n updatedArray[depthLevel] = '';\n setSelectedIds(updatedArray);\n setAnchorEl(null);\n };\n var renderItems = function renderItems(options) {\n var depthLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return options.map(function (option) {\n var hasOptions = option.subList && option.subList.length > 0;\n var subMenu;\n if (selectedIds[depthLevel] === option.key && hasOptions) {\n var newDepthLevel = depthLevel + 1;\n subMenu = /*#__PURE__*/React.createElement(Menu, _extends({\n key: option.key,\n position: \"right\",\n open: Boolean(anchorEl),\n anchorEl: anchorEl,\n enableOverlay: false\n }, option.subMenuProps), /*#__PURE__*/React.createElement(MenuItem, _extends({}, props, {\n list: option.subList,\n depth: newDepthLevel\n })));\n }\n if (option.content === 'divider') {\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n divider: true,\n key: option.key,\n style: option.dividerStyle\n });\n }\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, _extends({\n disabled: false,\n key: option.key,\n onMouseLeave: function onMouseLeave() {\n return handleCloseSubMenu(depthLevel);\n }\n }, props), /*#__PURE__*/React.createElement(Styled.MenuItem, _extends({}, props, {\n className: option.className,\n ref: ref,\n $isFocused: isFocused,\n $active: Boolean(option.active),\n onClick: function onClick(event) {\n var _option$onClick;\n return (_option$onClick = option.onClick) === null || _option$onClick === void 0 ? void 0 : _option$onClick.call(option, _objectSpread({\n event: event\n }, props));\n },\n onMouseEnter: function onMouseEnter(ev) {\n return handleSelectedId(ev, option.key, depthLevel);\n },\n disableHover: disableHover || option.disableHover\n }), option.prefix && /*#__PURE__*/React.createElement(Styled.MenuPrefix, null, typeof option.prefix === 'function' ? option.prefix(props) : option.prefix), option.content && /*#__PURE__*/React.createElement(Styled.MenuContent, null, typeof option.content === 'function' ? option.content(props) : option.content), (option.suffix || option.subList) && /*#__PURE__*/React.createElement(Styled.MenuSuffix, null, typeof option.suffix === 'function' ? option.suffix(props) : option.suffix, option.subList && /*#__PURE__*/React.createElement(Arrow, {\n size: 10,\n color: \"#768A9F\"\n }))), subMenu);\n });\n };\n if (!list) {\n if (value === 'divider') {\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n divider: true,\n key: value,\n style: dividerStyle\n });\n }\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n disabled: Boolean(disabled)\n }, /*#__PURE__*/React.createElement(Styled.MenuItem, _extends({}, props, {\n ref: menuItemRef,\n disableHover: disableHover,\n disabled: disabled,\n $isFocused: isFocused,\n $active: active\n }), children));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, renderItems(list, depth));\n});\nMenuItem.displayName = 'MenuItem';\nexport default MenuItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"disabled\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './menu-item.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Md:\n return 16;\n case Size.Sm:\n default:\n return 14;\n }\n};\nvar MenuItemIcon = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Md : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Icon, _extends({\n disabled: disabled\n }, rest, {\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: getIconSize(size)\n }) : children);\n});\nexport default MenuItemIcon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './menu-item.styles';\nvar MenuItemLabel = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Label, _extends({}, rest, {\n ref: ref\n }), children);\n});\nMenuItemLabel.displayName = 'MenuItemLabel';\nexport default MenuItemLabel;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './menu-item.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Md:\n return 16;\n case Size.Sm:\n default:\n return 14;\n }\n};\nvar MenuItemActions = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Actions, _extends({}, rest, {\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: getIconSize(rest.size)\n }) : children);\n});\nMenuItemActions.displayName = 'MenuItemActions';\nexport default MenuItemActions;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CrossOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 44 44\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.3196 40.0403C44.2253 40.9461 44.2253 42.4146 43.3196 43.3204C42.4138 44.2262 40.9453 44.2262 40.0396 43.3204L21.9997 25.2802L3.95952 43.3207C3.05376 44.2264 1.58525 44.2264 0.679494 43.3207C-0.226258 42.4149 -0.226258 40.9464 0.679495 40.0406L18.7197 22.0001L0.679313 3.95941C-0.226437 3.05364 -0.226439 1.5851 0.679314 0.679328C1.58507 -0.226442 3.05358 -0.226443 3.95934 0.679328L21.9997 18.72L40.0398 0.679604C40.9455 -0.226163 42.414 -0.226165 43.3198 0.679605C44.2255 1.58537 44.2255 3.05392 43.3198 3.95969L25.2797 22.0001L43.3196 40.0403Z\",\n fill: color\n }));\n});\nexport default CrossOutline;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { InputSize } from '../../utils/types';\nexport var sizeHintMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css(font[FV.LabelExtraSmallUp]);\n}), InputSize.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css(font[FV.LabelSmall]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { sizeHintMixin } from './form-hint.mixin';\nvar baseClassName = 'FormHint';\nvar FormHint = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1vu99sv-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$$error = _ref.$error,\n $error = _ref$$error === void 0 ? false : _ref$$error,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n theme = _ref.theme;\n return css([\"display:flex;align-items:center;color:\", \";\", \" \", \"\"], $error ? theme.palette[PColor.Error] : theme.palette[PColor.TextSecondary], disabled && css([\"color:\", \";\"], theme.palette[PColor.ButtonDisabledText]), sizeHintMixin[size]);\n});\nvar Styled = applyDisplayNames({\n FormHint: FormHint\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"error\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './form-hint.styles';\nvar FormHint = intrinsicComponent(function (_ref, ref) {\n var _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.FormHint, _extends({\n ref: ref,\n $error: error\n }, rest));\n});\nexport default FormHint;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Spinner = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 28 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.3465 44.355C33.5656 50.7844 22.9687 51.6268 14.3708 47.3665L17.8949 44.4545C24.754 47.117 32.7424 46.1093 38.709 41.1792C44.6755 36.249 47.1546 28.6071 45.8085 21.3893L49.3325 18.4773C51.9291 27.6967 49.1274 37.9256 41.3465 44.355Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.1749 2.63356L32.6509 5.54555C25.821 2.91828 17.838 3.86187 11.8366 8.82088C5.87009 13.7511 3.42028 21.4282 4.7372 28.6107L1.21311 31.5227C-1.38344 22.3034 1.45314 12.0456 9.19916 5.64502C16.9801 -0.784402 27.5768 -1.62682 36.1749 2.63356Z\",\n fill: color\n }));\n});\nexport default Spinner;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TwoArrowsRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74299 0.152553C5.95998 -0.056404 6.30528 -0.0498885 6.51424 0.167105C6.7232 0.384099 6.71668 0.7294 6.49969 0.938357L1.43832 5.81227L6.51398 11.0759C6.72309 11.2928 6.71681 11.6381 6.49996 11.8472C6.28311 12.0563 5.9378 12.05 5.7287 11.8332L0.274151 6.1766C0.17369 6.07242 0.118752 5.93258 0.121433 5.78788C0.124113 5.64317 0.184193 5.50547 0.288444 5.40508L5.74299 0.152553Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9549 0.152554C11.1719 -0.0564031 11.5172 -0.0498876 11.7262 0.167106C11.9351 0.3841 11.9286 0.729401 11.7116 0.938357L6.65023 5.81227L11.7259 11.0759C11.935 11.2928 11.9287 11.6381 11.7119 11.8472C11.495 12.0563 11.1497 12.05 10.9406 11.8332L5.48606 6.1766C5.3856 6.07242 5.33067 5.93258 5.33335 5.78788C5.33603 5.64317 5.39611 5.50547 5.50036 5.40508L10.9549 0.152554Z\",\n fill: color\n }));\n});\nexport default TwoArrowsRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TwoArrowsLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25714 11.8474C6.04014 12.0564 5.69484 12.0499 5.48588 11.8329C5.27693 11.6159 5.28344 11.2706 5.50043 11.0616L10.5618 6.18773L5.48614 0.924074C5.27704 0.707224 5.28331 0.361919 5.50016 0.152813C5.71701 -0.0562931 6.06232 -0.0500145 6.27143 0.166835L11.726 5.8234C11.8264 5.92758 11.8814 6.06742 11.8787 6.21212C11.876 6.35683 11.8159 6.49453 11.7117 6.59492L6.25714 11.8474Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.04522 11.8474C0.828227 12.0564 0.482925 12.0499 0.273969 11.8329C0.065012 11.6159 0.0715275 11.2706 0.288521 11.0616L5.34989 6.18773L0.274227 0.924074C0.0651226 0.707224 0.0714006 0.361919 0.28825 0.152813C0.5051 -0.0562931 0.850407 -0.0500145 1.05951 0.166835L6.51406 5.8234C6.61452 5.92758 6.66946 6.06742 6.66678 6.21212C6.6641 6.35683 6.60402 6.49453 6.49977 6.59492L1.04522 11.8474Z\",\n fill: color\n }));\n});\nexport default TwoArrowsLeft;","export var BadgeColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n White: 'white'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { BadgeColor } from './badge.props';\nexport var colorBadgeMixin = _defineProperty(_defineProperty(_defineProperty({}, BadgeColor.Primary, function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.AccentPrimary], palette[PaletteColor.ButtonPrimaryText]);\n}), BadgeColor.White, function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimary]);\n}), BadgeColor.Secondary, function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.TextPrimary]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { colorBadgeMixin } from './badge.mixin';\nvar baseClassName = 'Badge';\nvar defaultSize = 20;\nvar BadgeRoot = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1rfm40m-0\"\n})([\"position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle;\"]);\nvar Badge = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName)\n}).withConfig({\n componentId: \"sc-1rfm40m-1\"\n})(function (_ref) {\n var size = _ref.size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'secondary' : _ref$color,\n fontSize = _ref.fontSize,\n _ref$padding = _ref.padding,\n padding = _ref$padding === void 0 ? '0 6px' : _ref$padding,\n inline = _ref.inline;\n return css([\"\", \" display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;align-items:center;align-content:center;height:\", \"px;min-width:\", \"px;line-height:1;padding:\", \";font-size:\", \";box-sizing:border-box;transition:transform 225ms cubic-bezier(0.4,0,0.2,1) 0ms;border-radius:\", \"px;z-index:1;\", \"\"], inline ? '' : 'position: absolute;', size || defaultSize, size || defaultSize, typeof padding === 'number' ? \"\".concat(padding, \"px\") : padding, typeof fontSize === 'number' ? \"\".concat(fontSize, \"px\") : fontSize, (size || defaultSize) / 2, colorBadgeMixin[color]);\n});\nvar Styled = applyDisplayNames({\n BadgeRoot: BadgeRoot,\n Badge: Badge\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"inline\", \"badgeContent\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { BadgeColor } from './badge.props';\nimport Styled from './badge.styles';\nvar Badge = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? BadgeColor.Secondary : _ref$color,\n _ref$inline = _ref.inline,\n inline = _ref$inline === void 0 ? false : _ref$inline,\n badgeContent = _ref.badgeContent,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.BadgeRoot, {\n ref: ref\n }, /*#__PURE__*/React.createElement(Styled.Badge, _extends({\n color: color,\n inline: inline,\n badgeContent: badgeContent\n }, rest), badgeContent));\n});\nexport default Badge;","export var ButtonType = {\n Default: 'default',\n Sidebar: 'sidebar'\n};","export var SideBarType = {\n Left: 'left',\n Right: 'right'\n};","import { ButtonSize } from '../../utils/types';\nexport var getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case ButtonSize.Lg:\n return 18;\n case ButtonSize.Md:\n return 16;\n case ButtonSize.Sm:\n return 14;\n case ButtonSize.Xs:\n return 12;\n default:\n return 16;\n }\n};\nexport var getSideBarIconSize = function getSideBarIconSize(sizeName) {\n switch (sizeName) {\n case ButtonSize.Lg:\n return 12;\n case ButtonSize.Md:\n return 11;\n case ButtonSize.Sm:\n return 10;\n default:\n return 11;\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _colorButtonMixin;\nimport { css } from 'styled-components';\nimport StyledBadge from '../badge/badge.styles';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nexport var colorButtonMixin = (_colorButtonMixin = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_colorButtonMixin, ButtonColor.Primary, function (_ref) {\n var palette = _ref.theme.palette,\n active = _ref.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.Secondary, function (_ref2) {\n var palette = _ref2.theme.palette,\n active = _ref2.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background:transparent;}&:hover{color:\", \";background-color:\", \";\", \"{color:\", \";}}&:focus{color:\", \";background-color:\", \";border:1px solid \", \";\", \"{color:\", \";}}&:active{color:\", \";background-color:\", \";\", \"{color:\", \";}}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentStateless], StyledBadge.Badge, palette[PaletteColor.AccentStateless], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryHover], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], active && css([\"color:\", \";background-color:\", \";\", \"{color:\", \";}&:hover,&:focus{color:\", \";background-color:\", \";\", \"{color:\", \";}}\"], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.Basic, function (_ref3) {\n var palette = _ref3.theme.palette,\n active = _ref3.active;\n return css([\"background-color:transparent;border:1px solid \", \";color:\", \";\", \"{background-color:transparent;color:\", \";}&:hover{background-color:\", \";color:\", \";\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";\", \"{color:\", \";}}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;border:none;\", \"{color:\", \";}}\"], palette[PaletteColor.BordersButton], palette[PaletteColor.LinkStateless], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.BackgroundHover], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], active && css([\"background-color:\", \";color:\", \";\", \"{color:\", \";}&:hover,&:focus{background-color:\", \";color:\", \";}\"], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkPrimary, function (_ref4) {\n var palette = _ref4.theme.palette,\n active = _ref4.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkSecondary, function (_ref5) {\n var palette = _ref5.theme.palette,\n active = _ref5.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkBasicPrimary, function (_ref6) {\n var palette = _ref6.theme.palette,\n active = _ref6.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkBasicSecondary, function (_ref7) {\n var palette = _ref7.theme.palette,\n active = _ref7.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorPrimary, function (_ref8) {\n var palette = _ref8.theme.palette,\n active = _ref8.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.Error], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorHover], palette[PaletteColor.ErrorActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ErrorActive]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorSecondary, function (_ref9) {\n var palette = _ref9.theme.palette,\n active = _ref9.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background-color:transparent;}&:hover{background-color:\", \";color:\", \";border:none;\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";border:none;}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.LinkStateless], palette[PaletteColor.BordersButton], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.ErrorHover], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorActive], palette[PaletteColor.ButtonPrimaryText], active && css([\"background-color:\", \";color:\", \";border:none;&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorBasic, function (_ref10) {\n var palette = _ref10.theme.palette,\n active = _ref10.active;\n return css([\"color:\", \";background-color:transparent;&:hover{color:\", \";}&:active{color:\", \";}\", \" &:disabled{color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.ErrorHover], palette[PaletteColor.ErrorActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ErrorActive]), palette[PaletteColor.BordersDisabled]);\n}), _defineProperty(_defineProperty(_defineProperty(_colorButtonMixin, ButtonColor.WarningPrimary, function (_ref11) {\n var palette = _ref11.theme.palette,\n active = _ref11.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.Warning], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningHover], palette[PaletteColor.WarningActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.WarningActive]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.WarningSecondary, function (_ref12) {\n var palette = _ref12.theme.palette,\n active = _ref12.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background-color:transparent;}&:hover{background-color:\", \";color:\", \";border:none;\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";border:none;}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.LinkStateless], palette[PaletteColor.BordersButton], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.WarningHover], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningActive], palette[PaletteColor.ButtonPrimaryText], active && css([\"background-color:\", \";color:\", \";border:none;\", \"{color:\", \";background-color:transparent;}&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.WarningBasic, function (_ref13) {\n var palette = _ref13.theme.palette,\n active = _ref13.active;\n return css([\"color:\", \";background-color:transparent;&:hover{color:\", \";}&:active{color:\", \";}\", \" &:disabled{color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.WarningHover], palette[PaletteColor.WarningActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.WarningActive]), palette[PaletteColor.BordersDisabled]);\n}));\nexport var sizeButtonMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:5px 10px;\"])), ButtonSize.Sm, css([\"padding:8px 12px;\"])), ButtonSize.Md, css([\"padding:11px 16px;\"])), ButtonSize.Lg, css([\"padding:14px 24px;\"]));\nexport var sizeSecondaryButtonMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:4px 10px;\"])), ButtonSize.Sm, css([\"padding:7px 12px;\"])), ButtonSize.Md, css([\"padding:10px 16px;\"])), ButtonSize.Lg, css([\"padding:13px 24px;\"]));\nexport var sizeSidebarMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:5px 10px;\"])), ButtonSize.Sm, css([\"padding:8px 12px;\"])), ButtonSize.Md, css([\"padding:11px 14px;\"])), ButtonSize.Lg, css([\"padding:14px 16px;\"]));\nexport var sizeSidebarDividerMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"height:14px;\"])), ButtonSize.Sm, css([\"height:16px;\"])), ButtonSize.Md, css([\"height:18px;\"])), ButtonSize.Lg, css([\"height:20px;\"]));\nexport var paddingIconLabelMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"margin-right:5px;\"])), ButtonSize.Sm, css([\"margin-right:6px;\"])), ButtonSize.Md, css([\"margin-right:7px;\"])), ButtonSize.Lg, css([\"margin-right:8px;\"]));\nexport var sizeButtonLabelMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, function (_ref14) {\n var font = _ref14.theme.typography.font;\n return css(font[FontVariant.ButtonSmEmphasis]);\n}), ButtonSize.Sm, function (_ref15) {\n var font = _ref15.theme.typography.font;\n return css(font[FontVariant.ButtonMdEmphasis]);\n}), ButtonSize.Md, function (_ref16) {\n var font = _ref16.theme.typography.font;\n return css(font[FontVariant.ButtonLgEmphasis]);\n}), ButtonSize.Lg, function (_ref17) {\n var font = _ref17.theme.typography.font;\n return css(font[FontVariant.ButtonLgUpEmphasis]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { colorButtonMixin, sizeButtonMixin, sizeButtonLabelMixin, sizeSidebarMixin, sizeSidebarDividerMixin, paddingIconLabelMixin, sizeSecondaryButtonMixin } from './button.mixin';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nimport { ButtonType as ButtonValueType, SideBarType as SideBarValueType } from './types';\nvar baseClassName = 'Button';\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-lxwit0-0\"\n})([\"display:flex;\"]);\nvar Badge = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Badge')\n}).withConfig({\n componentId: \"sc-lxwit0-1\"\n})([\"display:flex;margin-left:5px;\"]);\nvar Wrapper = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Body')\n}).withConfig({\n componentId: \"sc-lxwit0-2\"\n})([\"display:flex;align-items:center;\"]);\nvar Button = /*#__PURE__*/styled.button.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-lxwit0-3\"\n})(function (_ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? ButtonColor.Secondary : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n $buttonType = _ref.$buttonType,\n active = _ref.active,\n theme = _ref.theme;\n return css([\"display:inline-flex;flex-shrink:0;flex-direction:row;align-items:center;justify-content:center;border-radius:\", \";transition:all 100ms ease-out;border:0;cursor:pointer;outline:none;\", \" \", \" \", \" \", \"{\", \" \", \"}\", \"{\", \"}\", \"\"], theme.shape.borderRadius[BRSize.Md], $buttonType !== ButtonValueType.Sidebar && colorButtonMixin[color], $buttonType === ButtonValueType.Sidebar ? sizeSidebarMixin[size] : sizeButtonMixin[size], color === ButtonColor.Secondary && sizeSecondaryButtonMixin[size], Label, sizeButtonLabelMixin[size], (color === ButtonColor.LinkBasicPrimary || color === ButtonColor.LinkBasicSecondary) && \"font-weight: 400\", Badge, sizeButtonLabelMixin[size], $buttonType === ButtonValueType.Sidebar && css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \" \", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;}\"], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.LinkStateless], theme.palette[PaletteColor.BordersButton], !active && css([\"&:hover{color:\", \";background-color:\", \";border:none;}&:active{color:\", \";background-color:\", \";border:none;}\"], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.AccentPrimaryHover], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.AccentPrimaryActive]), active && css([\"background-color:\", \";color:\", \";border:1px solid \", \";\"], theme.palette[PaletteColor.Accent_1_2_Opacity], theme.palette[PaletteColor.AccentPrimaryActive], theme.palette[PaletteColor.AccentPrimaryActive]), theme.palette[PaletteColor.BordersDisabled], theme.palette[PaletteColor.AccentPrimaryDisabled]));\n});\nvar StartIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'StartIcon')\n}).withConfig({\n componentId: \"sc-lxwit0-4\"\n})(function (_ref2) {\n var $loading = _ref2.$loading,\n _ref2$size = _ref2.size,\n size = _ref2$size === void 0 ? ButtonSize.Md : _ref2$size;\n return css([\"display:flex;svg{animation:\", \";}\", \"\"], $loading ? 'spinner 1.2s linear infinite' : '1.2s', paddingIconLabelMixin[size]);\n});\nvar SideArrows = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'SideBar')\n}).withConfig({\n componentId: \"sc-lxwit0-5\"\n})(function (_ref3) {\n var $sideBarType = _ref3.$sideBarType;\n return css([\"display:flex;\", \":12px;\"], \"margin-\".concat($sideBarType === SideBarValueType.Left ? 'right' : 'left'));\n});\nvar Divider = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Divider')\n}).withConfig({\n componentId: \"sc-lxwit0-6\"\n})(function (_ref4) {\n var $sideBarType = _ref4.$sideBarType,\n _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? ButtonSize.Md : _ref4$size;\n return css([\"border-left-style:solid;border-width:1px;\", \" \", \":12px;\"], sizeSidebarDividerMixin[size], \"margin-\".concat($sideBarType === SideBarValueType.Left ? 'right' : 'left'));\n});\nvar EndIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'EndIcon')\n}).withConfig({\n componentId: \"sc-lxwit0-7\"\n})([\"display:flex;margin-left:6px;\"]);\nvar Styled = applyDisplayNames({\n Button: Button,\n Wrapper: Wrapper,\n Label: Label,\n SideArrows: SideArrows,\n Divider: Divider,\n StartIcon: StartIcon,\n EndIcon: EndIcon,\n Badge: Badge\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"startIcon\", \"endIcon\", \"badge\", \"color\", \"active\", \"buttonType\", \"sideBarType\", \"size\", \"loading\", \"disabled\"];\nimport React from 'react';\nimport SpinnerIcon from '@scaleflex/icons/spinner';\nimport TwoArrowsRight from '@scaleflex/icons/two-arrows-right';\nimport TwoArrowsLeft from '@scaleflex/icons/two-arrows-left';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Badge from '../badge';\n// TODO: move both types inside buttons.props file instead having them inside utils\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nimport { ButtonType, SideBarType } from './types';\nimport { getIconSize, getSideBarIconSize } from './button.utils';\nimport Styled from './button.styles';\nvar Button = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n startIcon = _ref.startIcon,\n endIcon = _ref.endIcon,\n badge = _ref.badge,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? ButtonColor.Primary : _ref$color,\n _ref$active = _ref.active,\n active = _ref$active === void 0 ? false : _ref$active,\n _ref$buttonType = _ref.buttonType,\n buttonType = _ref$buttonType === void 0 ? ButtonType.Default : _ref$buttonType,\n _ref$sideBarType = _ref.sideBarType,\n sideBarType = _ref$sideBarType === void 0 ? SideBarType.Left : _ref$sideBarType,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$loading = _ref.loading,\n loading = _ref$loading === void 0 ? false : _ref$loading,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n rest = _objectWithoutProperties(_ref, _excluded);\n var getSideBarArrows = function getSideBarArrows(props) {\n switch (sideBarType) {\n case SideBarType.Right:\n return active ? /*#__PURE__*/React.createElement(TwoArrowsLeft, props) : /*#__PURE__*/React.createElement(TwoArrowsRight, props);\n case SideBarType.Left:\n return active ? /*#__PURE__*/React.createElement(TwoArrowsRight, props) : /*#__PURE__*/React.createElement(TwoArrowsLeft, props);\n default:\n }\n };\n var getSideBarSection = function getSideBarSection() {\n var sideBarSection = [/*#__PURE__*/React.createElement(Styled.SideArrows, {\n key: \"arrows\",\n $sideBarType: sideBarType\n }, getSideBarArrows({\n size: getSideBarIconSize(size)\n }))];\n var divider = /*#__PURE__*/React.createElement(Styled.Divider, {\n key: \"divider\",\n size: size,\n $sideBarType: sideBarType\n });\n if (sideBarType === SideBarType.Right) {\n sideBarSection.unshift(divider);\n } else {\n sideBarSection.push(divider);\n }\n return buttonType === ButtonType.Sidebar && sideBarSection;\n };\n return /*#__PURE__*/React.createElement(Styled.Button, _extends({\n type: \"button\",\n $buttonType: buttonType\n }, rest, {\n disabled: loading || disabled,\n color: color,\n active: active,\n size: size,\n ref: ref\n }), sideBarType === SideBarType.Left && getSideBarSection(), /*#__PURE__*/React.createElement(Styled.Wrapper, null, startIcon && /*#__PURE__*/React.createElement(Styled.StartIcon, {\n $loading: loading,\n size: size\n }, typeof startIcon === 'function' ? loading ? /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n }) : startIcon({\n size: getIconSize(size)\n }) : loading ? /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n }) : startIcon), loading && !startIcon && /*#__PURE__*/React.createElement(Styled.StartIcon, {\n $loading: loading\n }, /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n })), /*#__PURE__*/React.createElement(Styled.Label, null, children), endIcon && /*#__PURE__*/React.createElement(Styled.EndIcon, null, typeof endIcon === 'function' ? endIcon({\n size: getIconSize(size)\n }) : endIcon)), sideBarType === SideBarType.Right && getSideBarSection(), badge && /*#__PURE__*/React.createElement(Styled.Badge, null, /*#__PURE__*/React.createElement(Badge, {\n inline: true,\n size: 14,\n padding: \"0 1px\",\n badgeContent: badge,\n color: color === ButtonColor.Primary ? 'white' : 'secondary'\n })));\n});\nexport default Button;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Image2 = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 42 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.483002 4.49014V37.5097C0.483002 38.5725 0.90519 39.5917 1.65669 40.3432C2.40819 41.0947 3.42745 41.5169 4.49023 41.5169H37.5098C38.5726 41.5169 39.5918 41.0947 40.3433 40.3432C41.0948 39.5917 41.517 38.5725 41.517 37.5097V4.49014C41.517 3.42735 41.0948 2.4081 40.3433 1.6566C39.5918 0.905099 38.5726 0.48291 37.5098 0.48291H4.49023C3.42745 0.48291 2.40819 0.905099 1.65669 1.6566C0.90519 2.4081 0.483002 3.42735 0.483002 4.49014ZM38.9272 5.87776V31.3044L26.3817 19.5446L21.8068 22.3356L14.8048 15.3337L3.07279 23.0543V6.06233C3.07279 5.2695 3.38775 4.50913 3.94836 3.94851C4.50898 3.38789 5.26935 3.07294 6.06218 3.07294H36.1222C36.8661 3.07294 37.5795 3.36844 38.1055 3.89444C38.6316 4.42044 38.9272 5.13385 38.9272 5.87776Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.4602 15.6943C33.066 15.6943 35.1784 13.5819 35.1784 10.976C35.1784 8.37021 33.066 6.25777 30.4602 6.25777C27.8543 6.25777 25.7419 8.37021 25.7419 10.976C25.7419 13.5819 27.8543 15.6943 30.4602 15.6943Z\",\n fill: color\n }));\n});\nexport default Image2;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Undo = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 40 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.5112 31.2036C39.5112 41.568 31.0785 50 20.7148 50H14.0613C12.9587 50 12.0652 49.1066 12.0652 48.004V47.3386C12.0652 46.2359 12.9586 45.3425 14.0613 45.3425H20.7148C28.5107 45.3425 34.8537 38.9995 34.8537 31.2036C34.8537 23.4078 28.5107 17.0648 20.7148 17.0648H8.4394L16.8935 25.5189C17.8015 26.4266 17.8015 27.9042 16.8935 28.8119C16.0124 29.6923 14.479 29.691 13.5999 28.8119L1.17111 16.3828C0.731285 15.943 0.488892 15.3581 0.488892 14.7359C0.488892 14.1142 0.731285 13.529 1.17111 13.0894L13.6006 0.65976C14.4797 -0.220001 16.0144 -0.220001 16.8936 0.65976C17.8016 1.56722 17.8016 3.04511 16.8936 3.95246L8.43951 12.4072H20.7148C31.0785 12.4072 39.5112 20.8395 39.5112 31.2036Z\",\n fill: color\n }));\n});\nexport default Undo;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Redo = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 40 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.98 31.2037C0.98 41.568 9.41216 50 19.7752 50H26.4284C27.5309 50 28.4244 49.1066 28.4244 48.004V47.3386C28.4244 46.2359 27.531 45.3425 26.4284 45.3425H19.7752C11.9798 45.3425 5.6372 38.9995 5.6372 31.2037C5.6372 23.4079 11.9798 17.0648 19.7752 17.0648H32.05L23.5964 25.5189C22.6884 26.4266 22.6884 27.9043 23.5964 28.812C24.4774 29.6924 26.0107 29.6911 26.8897 28.812L39.3178 16.3828C39.7576 15.943 40 15.3582 40 14.736C40 14.1142 39.7576 13.5291 39.3178 13.0895L26.8891 0.659821C26.01 -0.21994 24.4754 -0.21994 23.5962 0.659821C22.6883 1.56728 22.6883 3.04517 23.5962 3.95252L32.0498 12.4073H19.7752C9.41216 12.4073 0.98 20.8396 0.98 31.2037Z\",\n fill: color\n }));\n});\nexport default Redo;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Line = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.1901 7.27549L7.59689 39.8687C6.83412 40.6315 6.83412 41.8681 7.59689 42.6308C8.35965 43.3936 9.59626 43.3936 10.359 42.6308L42.9522 10.0376C43.715 9.27486 43.715 8.03825 42.9522 7.27549C42.1895 6.51272 40.9529 6.51272 40.1901 7.27549Z\",\n fill: color\n }));\n});\nexport default Line;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ImageFilters = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.2229 16.7653C41.3215 12.426 39.7436 8.284 36.6864 5.02956C33.6292 1.77513 29.4872 -2.09808e-05 25.0493 -2.09808e-05C20.6114 -2.09808e-05 16.3708 1.77513 13.3136 5.02956C10.2564 8.18538 8.6785 12.3274 8.77712 16.7653C3.45168 19.5266 0 25.1479 0 31.1637C0 37.2781 3.25444 42.6035 8.57988 45.4635C11.0454 46.7455 13.7081 47.4359 16.2722 47.4359C19.3294 47.4359 22.288 46.5483 24.9507 44.8718C29.9803 48.1262 36.0947 48.3234 41.4201 45.4635C46.7456 42.6035 50 37.2781 50 31.1637C50 25.0493 46.6469 19.5266 41.2229 16.7653ZM22.7811 43.0966C18.6391 45.3649 13.7081 45.3649 9.56607 42.998C5.22682 40.5325 2.66272 36.1933 2.66272 31.1637C2.66272 26.43 5.12821 22.0907 9.1716 19.6252C10.1578 24.359 13.3136 28.501 17.6529 30.6706C17.4556 35.4043 19.3294 39.8422 22.7811 43.0966ZM32.1499 27.8106C31.4596 24.5562 29.783 21.499 27.3176 19.2307C30.6706 17.357 34.8126 17.0611 38.4615 18.3432C37.7712 22.2879 35.503 25.7396 32.1499 27.8106ZM20.6114 28.1065C21.3018 25.2465 22.8797 22.6824 25.0493 20.8087C27.5148 22.8797 29.1913 25.8382 29.6844 28.9941C26.7258 30.0789 23.4714 30.0789 20.4142 28.9941C20.4142 28.6982 20.5128 28.4023 20.6114 28.1065ZM25.0493 17.4556C23.57 16.4694 21.8935 15.7791 20.1183 15.3846C19.428 15.1874 18.6391 15.6805 18.5404 16.3708C18.4418 16.7653 18.5404 17.0611 18.7377 17.357C18.9349 17.6528 19.2308 17.8501 19.5266 17.9487C20.7101 18.2446 21.7949 18.639 22.7811 19.2307C20.3156 21.499 18.6391 24.4576 17.9487 27.8106C14.5957 25.7396 12.2288 22.2879 11.6371 18.3432C11.9329 18.2446 12.1302 18.1459 12.426 18.0473C12.7219 17.9487 13.0178 17.7515 13.215 17.357C13.4122 17.0611 13.4122 16.6666 13.3136 16.3708C13.1164 15.6805 12.3274 15.286 11.6371 15.4832C11.5385 15.4832 11.5385 15.4832 11.4398 15.5818C11.8343 8.48124 17.7515 2.6627 25.0493 2.6627C32.3471 2.6627 38.2643 8.38262 38.6588 15.5818C34.0237 14.2012 28.9941 14.8915 25.0493 17.4556ZM29.783 31.7554C29.5858 35.5029 27.9093 39.0532 25.0493 41.5187C22.1893 39.0532 20.4142 35.6016 20.3156 31.7554C23.3728 32.7416 26.7258 32.7416 29.783 31.7554ZM32.4458 30.6706C36.785 28.4023 39.8422 24.359 40.927 19.6252C44.9704 22.0907 47.4359 26.43 47.4359 31.1637C47.4359 36.0947 44.8718 40.5325 40.5325 42.998C36.3905 45.3649 31.4596 45.3649 27.3176 43.0966C30.7692 39.8422 32.643 35.4043 32.4458 30.6706Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5819 14.8915C14.9901 14.9901 14.497 15.5818 14.497 16.1735C14.497 16.8639 15.0888 17.5542 15.8777 17.5542C16.6667 17.5542 17.2584 16.9625 17.2584 16.1735C17.2584 15.7791 17.0611 15.3846 16.7653 15.1874C16.3708 14.9901 15.9763 14.8915 15.5819 14.8915Z\",\n fill: color\n }));\n});\nexport default ImageFilters;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Crop = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 2.00049C3.34315 2.00049 2 3.34364 2 5.00049V16.7505H5.5V5.50049H16.75V2.00049H5ZM45 2.00049H33.25V5.50049H44.5V16.7505H48V5.00049C48 3.34363 46.6569 2.00049 45 2.00049ZM5.5 33.2505H2V45.0005C2 46.6573 3.34315 48.0005 5 48.0005H16.75V44.5005H5.5V33.2505ZM48 33.2505H44.5V44.5005H33.25V48.0005H45C46.6569 48.0005 48 46.6573 48 45.0005V33.2505Z\",\n fill: color\n }));\n});\nexport default Crop;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CropLandscape = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 53 37\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.11841 3.93799V32.063H47.8684V3.93799H4.11841ZM3.49341 0.812988C2.1127 0.812988 0.993408 1.91229 0.993408 3.26835V32.7326C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7326V3.26835C50.9934 1.91229 49.8741 0.812988 48.4934 0.812988H3.49341Z\",\n fill: color\n }));\n});\nexport default CropLandscape;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Resize = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 0.5H3V2.375H2.375V3H0.5V0.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 21.125H3V21.2693H24.7308V43H24.875V45.5L0.5 45.5001V21.125ZM22.2308 43L3 43.0001V23.7693H22.2308V43Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 45.5H45.5V43H43.625V43.625H43V45.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 3V0.5H43V2.375H43.625V3H45.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.125 0.5V3H9.875V0.5H6.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.625 0.5V3H17.375V0.5H13.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.125 0.5V3H24.875V0.5H21.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.625 0.5V3H32.375V0.5H28.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.125 0.5V3H39.875V0.5H36.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 6.125H43V9.875H45.5V6.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 13.625H43V17.375H45.5V13.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 21.125H43V24.875H45.5V21.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 28.625H43V32.375H45.5V28.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 36.125H43V39.875H45.5V36.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 45.5V43H36.125V45.5H39.875Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.375 45.5V43H28.625V45.5H32.375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 17.375H3V13.625H0.5V17.375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 9.875H3V6.125H0.5V9.875Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.1391 9.23718L26.3209 17.8619C25.8274 18.3446 25.8186 19.136 26.3013 19.6295C26.784 20.1231 27.5754 20.1319 28.069 19.6492L37.1012 10.815V16.9907C37.1012 17.681 37.6609 18.2407 38.3512 18.2407C39.0416 18.2407 39.6012 17.681 39.6012 16.9907V7.98718C39.6012 7.29683 39.0416 6.73718 38.3512 6.73718L29.3477 6.73718C28.6574 6.73718 28.0977 7.29683 28.0977 7.98718C28.0977 8.67754 28.6574 9.23718 29.3477 9.23718L35.1391 9.23718Z\",\n fill: color\n }));\n});\nexport default Resize;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Watermark = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.1323 0.500031H2.73399C1.42693 0.500031 0.399963 1.527 0.399963 2.83406V43.166C0.399963 44.4731 1.42693 45.5 2.73399 45.5H42.1323C43.4394 45.5 44.4664 44.4731 44.4664 43.166V2.83406C44.4664 1.527 43.4394 0.500031 42.1323 0.500031ZM41.6655 3.30086V25.8942L36.624 21.693C36.1572 21.2262 35.4103 21.2262 34.8502 21.5996L28.595 26.2677L15.5244 11.2365C15.3377 10.9565 14.9643 10.7697 14.5908 10.7697C14.2174 10.7697 13.8439 10.9565 13.5639 11.1432L3.20079 21.693V3.30086H41.6655ZM3.20079 42.6992V39.8984C4.22776 40.3652 5.72154 40.832 7.58876 40.832C9.36262 40.832 10.483 40.2718 11.3232 39.805C12.0701 39.4316 12.5369 39.1515 13.3771 39.2448C14.3108 39.3382 14.8709 39.5249 15.4311 39.805C16.2713 40.0851 17.2049 40.4585 18.9788 40.4585V38.3112C17.6717 38.3112 17.0182 38.0312 16.178 37.7511C15.5244 37.471 14.6842 37.1909 13.5639 37.0975C12.0701 36.9108 11.1365 37.471 10.2962 37.8444C9.54934 38.2179 8.80245 38.5913 7.4954 38.5913C5.06801 38.5913 3.6676 37.7511 3.10743 37.2843V35.0436C4.1344 35.5104 5.62818 35.9772 7.4954 35.9772C9.26926 35.9772 10.3896 35.417 11.2298 34.9502C11.9767 34.5768 12.4435 34.2967 13.2838 34.3901C14.2174 34.4834 14.7776 34.6702 15.3377 34.9502C16.178 35.2303 17.1116 35.6038 18.8854 35.6038V33.4565C17.5784 33.4565 16.9249 33.1764 16.0846 32.8963C15.4311 32.6162 14.5908 32.3361 13.4705 32.2428C11.9767 32.056 11.0431 32.6162 10.2029 32.9897C9.45598 33.3631 8.70909 33.7365 7.40204 33.7365C4.97465 33.7365 3.57424 32.8963 3.01407 32.4295V30.1888C4.04104 30.6556 5.53482 31.1224 7.40204 31.1224C9.1759 31.1224 10.2962 30.5623 11.1365 30.0955C11.8834 29.722 12.3502 29.4419 13.1904 29.5353C14.124 29.6287 14.6842 29.8154 15.2444 30.0955C16.0846 30.3755 17.0182 30.749 18.7921 30.749V28.6017C17.485 28.6017 16.8315 28.3216 15.9912 28.0415C15.3377 27.7614 14.4975 27.4814 13.3771 27.388C11.8834 27.2013 10.9498 27.7614 10.1095 28.1349C9.36262 28.5083 8.61573 28.8818 7.30868 28.8818C4.88129 28.8818 3.48088 28.0415 2.92071 27.5747V25.7075L14.124 14.2241L27.1012 29.0685C27.568 29.6287 28.4083 29.722 28.9684 29.2552L35.4103 24.4004L41.3854 29.4419V42.6058H3.20079V42.6992Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.7029 15.7179C35.4103 15.7179 37.651 13.4772 37.651 10.7697C37.651 8.06227 35.4103 5.82161 32.7029 5.82161C29.9954 5.82161 27.7547 8.06227 27.7547 10.7697C27.7547 13.4772 29.9954 15.7179 32.7029 15.7179ZM32.7029 8.15563C34.1966 8.15563 35.317 9.36933 35.317 10.7697C35.317 12.1702 34.1033 13.3838 32.7029 13.3838C31.3025 13.3838 30.0888 12.1702 30.0888 10.7697C30.0888 9.36933 31.2091 8.15563 32.7029 8.15563Z\",\n fill: color\n }));\n});\nexport default Watermark;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Images = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.4164 5.98527H1.06762C0.533808 5.98527 0 6.53674 0 7.08821V49C0 49.7353 0.533808 50.1029 1.06762 50.1029H43.4164C44.1281 50.1029 44.484 49.7353 44.484 49V7.08821C44.484 6.53674 44.1281 5.98527 43.4164 5.98527ZM35.7651 13.1544C37.9004 13.1544 39.5 15.0809 39.5 17.1029C39.5 19.3088 37.7224 20.6029 35.7651 20.6029C33.8078 20.6029 32 19.125 32 17.1029C31.8221 14.897 33.6299 13.1544 35.7651 13.1544ZM1.9573 45.875C2.13523 45.6912 14.2349 30.9853 16.548 27.8603C16.726 27.4926 17.2598 27.4926 17.4377 27.8603L29.7153 43.4853L35.0534 37.4191C35.4093 37.0514 35.7651 37.2353 35.9431 37.4191L42.5267 45.875H1.9573Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9164 -3.8147e-06H6.74555C6.03381 -3.8147e-06 5.5 0.367643 5.5 1.10294V4.29294H7.5V2.20588H47.6892V39H46.2473V44.1176H48.9164C49.6281 44.1176 49.984 43.75 49.984 43.0147V1.10294C49.984 0.367643 49.6281 -3.8147e-06 48.9164 -3.8147e-06Z\",\n fill: color\n }));\n});\nexport default Images;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Reset = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 0C38.8071 0 50 11.1929 50 25C50 38.807 38.8071 50 25 50C14.111 50 4.854 43.0397 1.42326 33.333C0.963005 32.0312 1.6455 30.603 2.94725 30.143C4.249 29.6828 5.67725 30.365 6.1375 31.667C8.88425 39.4382 16.2957 45 25 45C36.0457 45 45 36.0457 45 25C45 13.9543 36.0457 5 25 5C21.121 5 17.8345 6.40292 14.7095 8.6015C12.6078 10.0803 10.663 11.8526 8.6895 13.75H16.25C17.6308 13.75 18.75 14.8693 18.75 16.25C18.75 17.6307 17.6308 18.75 16.25 18.75H2.5C1.11926 18.75 0 17.6307 0 16.25V2.5C0 1.1193 1.11926 0 2.5 0C3.88075 0 5 1.1193 5 2.5V10.3593C7.12075 8.31457 9.38601 6.23342 11.8325 4.51222C15.5128 1.9229 19.7882 0 25 0Z\",\n fill: color\n }));\n});\nexport default Reset;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Text = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.4229 8.89453L39.7891 16.6582H38.8613C38.6823 15.291 38.4382 14.3145 38.1289 13.7285C37.6243 12.7845 36.9489 12.0928 36.1025 11.6533C35.2725 11.1976 34.1738 10.9697 32.8066 10.9697H28.1436V36.2627C28.1436 38.2972 28.3633 39.5667 28.8027 40.0713C29.4212 40.7549 30.3734 41.0967 31.6592 41.0967H32.8066V42H18.7686V41.0967H19.9404C21.3402 41.0967 22.333 40.6735 22.9189 39.8271C23.277 39.3063 23.4561 38.1182 23.4561 36.2627V10.9697H19.4766C17.9303 10.9697 16.8317 11.0837 16.1807 11.3115C15.3343 11.6208 14.61 12.2148 14.0078 13.0938C13.4056 13.9727 13.0475 15.1608 12.9336 16.6582H12.0059L12.3965 8.89453H39.4229Z\",\n fill: color\n }));\n});\nexport default Text;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TextAlignLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 45 29\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.89502C0 1.20466 0.559644 0.64502 1.25 0.64502H28.75C29.4404 0.64502 30 1.20466 30 1.89502C30 2.58538 29.4404 3.14502 28.75 3.14502H1.25C0.559645 3.14502 0 2.58538 0 1.89502Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 14.395C0 13.7047 0.559644 13.145 1.25 13.145H43.75C44.4404 13.145 45 13.7047 45 14.395C45 15.0854 44.4404 15.645 43.75 15.645H1.25C0.559645 15.645 0 15.0854 0 14.395Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.25 25.645C0.559644 25.645 0 26.2047 0 26.895C0 27.5854 0.559645 28.145 1.25 28.145H28.75C29.4404 28.145 30 27.5854 30 26.895C30 26.2047 29.4404 25.645 28.75 25.645H1.25Z\",\n fill: color\n }));\n});\nexport default TextAlignLeft;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TextAlignCenter = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38 1.50049C38 0.810132 37.4404 0.250488 36.75 0.250488H9.25C8.55964 0.250488 8 0.810132 8 1.50049C8 2.19084 8.55964 2.75049 9.25 2.75049H36.75C37.4404 2.75049 38 2.19084 38 1.50049Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 14.0005C45.5 13.3101 44.9404 12.7505 44.25 12.7505H1.75C1.05964 12.7505 0.5 13.3101 0.5 14.0005C0.5 14.6908 1.05964 15.2505 1.75 15.2505H44.25C44.9404 15.2505 45.5 14.6908 45.5 14.0005Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.75 25.2505C37.4404 25.2505 38 25.8101 38 26.5005C38 27.1908 37.4404 27.7505 36.75 27.7505H9.25C8.55964 27.7505 8 27.1908 8 26.5005C8 25.8101 8.55964 25.2505 9.25 25.2505H36.75Z\",\n fill: color\n }));\n});\nexport default TextAlignCenter;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RotationLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 45 43\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.66027 14.6997L3.59752 14.4437L3.09232 3.93218C3.05918 3.24262 2.47331 2.71049 1.78375 2.74363C1.09419 2.77677 0.562061 3.36263 0.595202 4.05219L1.16041 15.8123C1.19355 16.5018 1.77942 17.034 2.46898 17.0008L14.2291 16.4356C14.9186 16.4025 15.4508 15.8166 15.4176 15.1271C15.3845 14.4375 14.7986 13.9054 14.1091 13.9385L5.48447 14.353C8.23224 7.41077 15.0052 2.50049 22.925 2.50049C33.2802 2.50049 41.6748 10.8951 41.6748 21.2503C41.6748 22.4035 41.5706 23.5324 41.3713 24.6281L43.7968 25.261C44.0449 23.9622 44.1748 22.6214 44.1748 21.2503C44.1748 9.51435 34.6609 0.000488281 22.925 0.000488281C15.0467 0.000488281 8.16974 4.28779 4.50001 10.6566L2.66027 14.6997Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.88491 34.708L8.27773 36.6309C8.82614 37.1539 9.40248 37.6479 10.0043 38.1103L11.5276 36.128C10.9528 35.6863 10.4043 35.2121 9.88491 34.708Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3142 39.6567C13.9038 40.5764 15.6235 41.2961 17.439 41.7814L18.0846 39.3662C16.4846 38.9385 14.9685 38.3041 13.5662 37.4928L12.3142 39.6567Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.1654 42.3209C21.0738 42.4394 22.0002 42.5005 22.9408 42.5005C23.8815 42.5005 24.8079 42.4394 25.7162 42.3209L25.3929 39.8419C24.5915 39.9465 23.7731 40.0005 22.9408 40.0005C22.1086 40.0005 21.2902 39.9465 20.4888 39.8419L20.1654 42.3209Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.4427 41.7814C30.2582 41.2961 31.9779 40.5764 33.5674 39.6567L32.3154 37.4928C30.9132 38.3041 29.397 38.9385 27.7971 39.3662L28.4427 41.7814Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.8774 38.1103C37.3494 36.9791 38.6692 35.6594 39.8004 34.1873L37.8181 32.664C36.8193 33.9638 35.6538 35.1292 34.354 36.128L35.8774 38.1103Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.3468 31.8773C42.2665 30.2878 42.9862 28.5681 43.4715 26.7526L41.0563 26.107C40.6286 27.707 39.9942 29.2231 39.1829 30.6253L41.3468 31.8773Z\",\n fill: color\n }));\n});\nexport default RotationLeft;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RotationRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.2753 26.8064H24.4689L36.5656 14.7096C32.735 11.0806 28.7027 9.66933 23.6624 9.66933C13.3802 9.66933 6.32372 15.3145 3.50118 25.5967L0.275391 24.7903C3.50118 13.0968 11.9689 6.44355 23.6625 6.44355C29.7109 6.44355 34.348 8.25806 38.9851 12.2903L50.2754 1L50.2753 26.8064Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.5495 46.3628L33.1382 44.3467C33.743 43.9435 34.3479 43.3386 34.9527 42.9355L36.5656 44.75C35.9608 45.1532 35.3559 45.758 34.5495 46.3628Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.2913 49.387C26.6865 49.5886 26.0817 49.5886 25.4768 49.7903L25.0736 47.3709C26.4848 47.1693 27.8962 46.7661 29.3074 46.3628L30.1139 48.5806C29.1058 48.9838 28.2994 49.1854 27.2913 49.387ZM20.4365 49.9919C18.8235 49.7903 17.2107 49.5886 15.5978 48.9838L16.4042 46.766C17.8155 47.1693 19.2268 47.5724 20.6381 47.5724L20.4365 49.9919ZM11.1623 46.9677C9.75104 46.1612 8.33971 45.1532 7.13003 43.9435L8.74296 42.129C9.75104 43.137 10.9607 43.9435 12.372 44.7499L11.1623 46.9677ZM3.90425 40.3144C2.89617 38.9032 2.08974 37.2903 1.6865 35.879L3.90425 35.0726C4.50909 36.4838 5.11393 37.6935 5.92036 38.9032L3.90425 40.3144Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.2996 30.0322L0.880241 30.2338C0.678647 29.2257 0.678647 28.4193 0.678647 27.4112H3.09801C3.09801 28.4193 3.2996 29.2258 3.2996 30.0322Z\",\n fill: color\n })), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"50\",\n height: \"50\",\n fill: \"white\",\n transform: \"translate(0.275391)\"\n })));\n});\nexport default RotationRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var LockOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 51 51\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.5 20H38V12.5C38 5.6 32.4 0 25.5 0C18.6 0 13 5.6 13 12.5V20H10.5C9.1 20 8 21.1 8 22.5V47.5C8 48.9 9.1 50 10.5 50H40.5C41.9 50 43 48.9 43 47.5V22.5C43 21.1 41.9 20 40.5 20ZM15.5 12.5C15.5 7 20 2.5 25.5 2.5C31 2.5 35.5 7 35.5 12.5V20H15.5V12.5ZM40.5 47.5H10.5V22.5H40.5V47.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.3 37.3V41.3H26.8V37.3C28.3 36.8 29.3 35.4 29.3 33.8C29.3 31.7 27.6 30 25.5 30C23.4 30 21.7 31.7 21.7 33.8C21.8 35.4 22.8 36.8 24.3 37.3ZM25.5 32.5C26.2 32.5 26.8 33.1 26.8 33.8C26.8 34.5 26.2 35.1 25.5 35.1C24.8 35.1 24.2 34.5 24.2 33.8C24.3 33.1 24.8 32.5 25.5 32.5Z\",\n fill: color\n }));\n});\nexport default LockOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var UnlockOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.2754 7.5C34.2754 3.1 29.8754 0 24.7754 0C17.8754 0 12.2754 5.6 12.2754 12.5V20H9.77539C8.37539 20 7.27539 21.1 7.27539 22.5V47.5C7.27539 48.9 8.37539 50 9.77539 50H39.7754C41.1754 50 42.2754 48.9 42.2754 47.5V22.5C42.2754 21.1 41.1754 20 39.7754 20H14.7754V12.5C14.7754 7 19.2754 2.5 24.7754 2.5C28.4754 2.5 31.7754 4.5 33.4754 7.6L36.2754 7.5ZM39.7754 47.5H9.77539V22.5H39.7754V47.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7754 30C22.6754 30 20.9754 31.7 20.9754 33.7C20.9754 35.3 21.9754 36.7 23.4754 37.2V41.2H25.9754V37.2C27.4754 36.7 28.4754 35.3 28.4754 33.7C28.5754 31.7 26.8754 30 24.7754 30ZM24.7754 35C24.0754 35 23.4754 34.4 23.4754 33.7C23.4754 33 24.0754 32.4 24.7754 32.4C25.4754 32.4 25.9754 33 25.9754 33.7C25.9754 34.4 25.4754 35 24.7754 35Z\",\n fill: color\n }));\n});\nexport default UnlockOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Point = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"25\",\n r: \"8.33333\",\n fill: color\n }));\n});\nexport default Point;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var About = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.6793 7.32203C32.916 -2.44013 17.0863 -2.44122 7.32197 7.32203C-2.44128 17.0853 -2.4402 32.915 7.32197 42.6793C17.0852 52.4404 32.9149 52.4415 42.6793 42.6793C52.4414 32.915 52.4403 17.0864 42.6793 7.32203ZM28.2605 35.8705C28.2605 37.6716 26.8007 39.1314 24.9995 39.1314C23.1984 39.1314 21.7386 37.6716 21.7386 35.8705V22.8267C21.7386 21.0256 23.1984 19.5658 24.9995 19.5658C26.8007 19.5658 28.2605 21.0256 28.2605 22.8267V35.8705ZM24.9419 17.2527C23.0636 17.2527 21.8114 15.9222 21.8506 14.2798C21.8114 12.558 23.0636 11.2678 24.98 11.2678C26.8974 11.2678 28.1105 12.5591 28.1507 14.2798C28.1496 15.9222 26.8985 17.2527 24.9419 17.2527Z\",\n fill: color\n }));\n});\nexport default About;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Warning = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9856 38.314L31.3034 3.80423C29.9688 1.42247 27.6118 0 24.9985 0C22.3852 0 20.0282 1.42247 18.6936 3.80423C18.6836 3.82245 18.6751 3.84067 18.665 3.8589L1.04158 38.2594C-0.321602 40.6914 -0.347383 43.612 0.971367 46.0713C2.29314 48.5321 4.67439 50 7.345 50H42.5544C45.225 50 47.7041 48.5321 49.0258 46.0713C50.3445 43.6121 50.3188 40.6913 48.9856 38.314ZM22.0659 15.8013C22.0659 14.0842 23.3789 12.6924 24.9985 12.6924C26.6182 12.6924 27.9311 14.0843 27.9311 15.8013V28.2372C27.9311 29.9541 26.6181 31.3462 24.9985 31.3462C23.3789 31.3462 22.0659 29.954 22.0659 28.2372V15.8013ZM24.9985 43.7821C22.5728 43.7821 20.5995 41.6902 20.5995 39.1186C20.5995 36.5471 22.5727 34.4552 24.9985 34.4552C27.4242 34.4552 29.3974 36.5471 29.3974 39.1186C29.3975 41.6901 27.4243 43.7821 24.9985 43.7821Z\",\n fill: color\n }));\n});\nexport default Warning;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var InfoOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 50C11.2033 50 0 38.7967 0 25C0 11.2033 11.2033 0 25 0C38.7967 0 50 11.2033 50 25C50 38.7967 38.6929 50 25 50ZM25 3.52697C13.1743 3.52697 3.63071 13.1743 3.63071 24.8963C3.63071 36.6183 13.278 46.2656 25 46.2656C36.8257 46.2656 46.3693 36.6183 46.3693 24.8963C46.3693 13.1743 36.8257 3.52697 25 3.52697Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.3755 13.125C28.3755 11.3992 26.9765 10 25.2505 10C23.5245 10 22.1255 11.3992 22.1255 13.125C22.1255 14.8516 23.5245 16.25 25.2505 16.25C26.9765 16.25 28.3755 14.8516 28.3755 13.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.563 38.5H29.938C30.8009 38.5 31.5005 37.8012 31.5005 36.9375C31.5005 36.0746 30.8009 35.375 29.938 35.375H28.3755V20.9375C28.3755 20.0746 27.6759 19.375 26.813 19.375H20.563C19.7001 19.375 19.0005 20.0746 19.0005 20.9375C19.0005 21.8012 19.7001 22.5 20.563 22.5H22.1255V35.375H20.563C19.7001 35.375 19.0005 36.0746 19.0005 36.9375C19.0005 37.8012 19.7001 38.5 20.563 38.5Z\",\n fill: color\n }));\n});\nexport default InfoOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ImageOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.3032 17.8662C34.0646 17.8662 36.3032 15.6276 36.3032 12.8662C36.3032 10.1048 34.0646 7.86618 31.3032 7.86618C28.5418 7.86618 26.3032 10.1048 26.3032 12.8662C26.3032 15.6276 28.5418 17.8662 31.3032 17.8662ZM31.3032 15.3662C32.6839 15.3662 33.8032 14.2469 33.8032 12.8662C33.8032 11.4855 32.6839 10.3662 31.3032 10.3662C29.9225 10.3662 28.8032 11.4855 28.8032 12.8662C28.8032 14.2469 29.9225 15.3662 31.3032 15.3662Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.9372 15.1063C16.3967 15.0794 16.8338 15.3071 17.075 15.6991L25.0831 28.7141L29.8357 24.4289C30.0935 24.1966 30.4362 24.0818 30.7819 24.1121C31.1276 24.1424 31.4452 24.3151 31.6586 24.5887L40.2822 35.6497C40.5759 36.0264 40.6292 36.5376 40.4196 36.9668C40.21 37.396 39.7741 37.6683 39.2964 37.6683H6.70331C6.2766 37.6683 5.87937 37.4506 5.64974 37.091C5.42011 36.7313 5.38981 36.2794 5.56937 35.8923L14.8765 15.8282C15.0702 15.4106 15.4777 15.1333 15.9372 15.1063ZM16.1652 18.991L8.66108 35.1683H36.7368L30.5126 27.1848L25.6422 31.5761C25.3666 31.8246 24.9947 31.9378 24.6274 31.885C24.26 31.8322 23.9351 31.6189 23.7406 31.3027L16.1652 18.991Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z\",\n fill: color\n }));\n});\nexport default ImageOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Custom = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.562515 0.562512H3.68752V2.90626H2.90627V3.68751H0.562515V0.562512ZM0.562515 44.3125V47.4375H3.68752V45.0938H2.90627V44.3125H0.562515ZM44.3125 47.4375H47.4375V44.3125H45.0938V45.0938H44.3125V47.4375ZM47.4375 3.68751V0.562512H44.3125V2.90626H45.0938V3.68751H47.4375ZM7.59376 0.562512V3.68751H12.2813V0.562512H7.59376ZM16.9688 0.562512V3.68751H21.6563V0.562512H16.9688ZM26.3438 0.562512V3.68751H31.0313V0.562512H26.3438ZM35.7188 0.562512V3.68751H40.4063V0.562512H35.7188ZM47.4375 7.59376H44.3125V12.2813H47.4375V7.59376ZM47.4375 16.9688H44.3125V21.6563H47.4375V16.9688ZM47.4375 26.3438H44.3125V31.0313H47.4375V26.3438ZM47.4375 35.7188H44.3125V40.4063H47.4375V35.7188ZM40.4063 47.4375V44.3125H35.7188V47.4375H40.4063ZM31.0313 47.4375V44.3125H26.3438V47.4375H31.0313ZM21.6563 47.4375V44.3125H16.9688V47.4375H21.6563ZM12.2813 47.4375V44.3125H7.59377V47.4375H12.2813ZM0.562515 40.4063H3.68752V35.7188H0.562515V40.4063ZM0.562515 31.0313H3.68752V26.3438H0.562515V31.0313ZM0.562515 21.6563H3.68752V16.9688H0.562515V21.6563ZM0.562515 12.2813H3.68752V7.59376H0.562515V12.2813Z\",\n fill: color\n }));\n});\nexport default Custom;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FlipY = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.5001 24.0625C38.2086 24.0625 38.8284 23.5858 39.0102 22.901C39.1921 22.2162 38.8904 21.4948 38.2753 21.1433L3.27531 1.14333C2.79171 0.866989 2.19757 0.868973 1.71583 1.14854C1.23409 1.4281 0.937592 1.94298 0.937592 2.49996V22.5C0.937592 23.3629 1.63715 24.0625 2.50009 24.0625L37.5001 24.0625ZM4.06259 20.9375L4.06259 5.19243L31.6164 20.9375L4.06259 20.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.2753 28.8566C38.8904 28.5051 39.1921 27.7837 39.0102 27.0989C38.8284 26.4142 38.2086 25.9375 37.5001 25.9375H35.3126V26.9504L34.5374 27.3933L35.3126 28.75V29.0625H35.4912L36.0878 30.1066L38.2753 28.8566Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3378 35.1066L31.7128 32.6066L30.1624 29.8933L25.7874 32.3933L27.3378 35.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.9376 25.9375H26.5626L26.5626 29.0625H30.9376L30.9376 25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5878 40.1066L22.9628 37.6066L21.4124 34.8933L17.0374 37.3933L18.5878 40.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1876 25.9375H17.8126V29.0625H22.1876V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.83781 45.1066L14.2128 42.6066L12.6624 39.8933L8.28738 42.3933L9.83781 45.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4376 25.9375H9.0626V29.0625H13.4376V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.27531 48.8566L5.46281 47.6066L4.06259 45.1562V45H3.97331L3.91238 44.8933L3.72578 45H0.937592V47.5C0.937592 48.0569 1.23409 48.5718 1.71583 48.8514C2.19758 49.1309 2.79171 49.1329 3.27531 48.8566Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.6876 25.9375L2.50009 25.9375C1.63715 25.9375 0.937592 26.637 0.937592 27.5V30H4.06259V29.0625H4.6876V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.937592 35V40L4.06259 40V35H0.937592Z\",\n fill: color\n }));\n});\nexport default FlipY;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FlipX = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24.0625 1.93758C24.0625 1.22909 23.5858 0.609274 22.901 0.427427C22.2163 0.245581 21.4949 0.547225 21.1434 1.16237L1.14337 39.2874C0.867028 39.771 0.869012 40.3651 1.14858 40.8468C1.42814 41.3286 1.94302 41.6251 2.5 41.6251H22.5C23.3629 41.6251 24.0625 40.9255 24.0625 40.0626V1.93758ZM20.9375 38.5001H5.19247L20.9375 7.82128V38.5001Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.8566 1.16237C28.5051 0.547225 27.7837 0.245581 27.099 0.427428C26.4142 0.609274 25.9375 1.22909 25.9375 1.93758V4.12508H26.9504L27.3934 4.9003L28.75 4.12508H29.0625V3.94651L30.1066 3.34986L28.8566 1.16237Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.1066 12.0999L32.6066 7.72486L29.8934 9.2753L32.3934 13.6503L35.1066 12.0999Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 8.50008V12.8751H29.0625V8.50008H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.1066 23.9749L37.6066 19.5999L34.8934 21.1503L37.3934 25.5253L40.1066 23.9749Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 20.3751V24.7501H29.0625V20.3751H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1066 32.7249L42.6066 28.3499L39.8934 29.9003L42.3934 34.2753L45.1066 32.7249Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 29.1251V33.5001H29.0625V29.1251H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.8566 39.2874L47.6066 37.0999L45.1562 38.5001H45V38.5894L44.8934 38.6503L45 38.8369V41.6251H47.5C48.057 41.6251 48.5719 41.3286 48.8514 40.8468C49.131 40.3651 49.133 39.771 48.8566 39.2874Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 37.8751V40.0626C25.9375 40.9255 26.6371 41.6251 27.5 41.6251H30V38.5001H29.0625V37.8751H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35 41.6251H40V38.5001H35V41.6251Z\",\n fill: color\n }));\n});\nexport default FlipX;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Ellipse = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25.2047 46.875C37.2859 46.875 47.0797 37.0812 47.0797 25C47.0797 12.9188 37.2859 3.125 25.2047 3.125C13.1235 3.125 3.32968 12.9188 3.32968 25C3.32968 37.0812 13.1235 46.875 25.2047 46.875ZM25.2047 50C39.0118 50 50.2047 38.8071 50.2047 25C50.2047 11.1929 39.0118 0 25.2047 0C11.3976 0 0.204681 11.1929 0.204681 25C0.204681 38.8071 11.3976 50 25.2047 50Z\",\n fill: color\n }));\n});\nexport default Ellipse;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Landscape = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 51 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.11841 3.93805V32.063H47.8684V3.93805H4.11841ZM3.49341 0.813049C2.1127 0.813049 0.993408 1.91235 0.993408 3.26841V32.7327C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7327V3.26841C50.9934 1.91235 49.8741 0.813049 48.4934 0.813049H3.49341Z\",\n fill: color\n }));\n});\nexport default Landscape;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Stroke = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.50015 7.9997C5.50015 6.61898 6.61944 5.49969 8.00015 5.49969H38.0002C39.3809 5.49969 40.5002 6.61898 40.5002 7.99969V37.9997C40.5002 39.3804 39.3809 40.4997 38.0002 40.4997H8.00015C6.61944 40.4997 5.50015 39.3804 5.50015 37.9997V7.9997ZM8.00015 7.99969H38.0002V37.9997H8.00015V7.99969Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z\",\n fill: color\n }));\n});\nexport default Stroke;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Transparency = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.166672 0.166664H8.50001V8.5H0.166672V0.166664Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.8333 8.5H8.50001V16.8333H0.166672V25.1667H8.50001V33.5H0.166672V41.8333H8.50001V33.5H16.8333V41.8333H25.1667V33.5H33.5V41.8333H41.8333V33.5H33.5V25.1667H41.8333V16.8333H33.5V8.5H41.8333V0.166664H33.5V8.5H25.1667V0.166664H16.8333V8.5ZM16.8333 16.8333V8.5H25.1667V16.8333H16.8333ZM16.8333 25.1667V33.5H25.1667V25.1667H33.5V16.8333H25.1667V25.1667H16.8333ZM16.8333 25.1667H8.50001V16.8333H16.8333V25.1667Z\",\n fill: color\n }));\n});\nexport default Transparency;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Shadow = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.95831 0.458374C1.5776 0.458374 0.458313 1.57766 0.458313 2.95837V35.4584C0.458313 36.8391 1.5776 37.9584 2.95831 37.9584H7.54167V43.7917C7.54167 45.8627 9.2206 47.5417 11.2917 47.5417H43.7917C45.8627 47.5417 47.5417 45.8627 47.5417 43.7917V11.2917C47.5417 9.22059 45.8627 7.54166 43.7917 7.54166H37.9583V2.95837C37.9583 1.57766 36.839 0.458374 35.4583 0.458374H2.95831ZM35.4583 2.95837H2.95831L2.95831 35.4584H35.4583V2.95837ZM15.7267 37.9584L10.0417 43.746V37.9584H15.7267ZM11.5135 45.0417L18.4712 37.9584H28.5529L21.4696 45.0417H11.5135ZM24.4159 45.0417H34.2932L45.0417 34.1339V24.0207L37.9583 31.3242V35.4584C37.9583 36.8391 36.839 37.9584 35.4583 37.9584H31.4912C31.4689 37.9859 31.445 38.0126 31.4194 38.0382L24.4159 45.0417ZM45.0417 21.3515L37.9583 28.655V18.9107L45.0417 11.8338V21.3515ZM37.0311 45.0417H43.7917C44.482 45.0417 45.0417 44.482 45.0417 43.7917V36.9124L37.0311 45.0417ZM43.8844 10.045C43.8538 10.0428 43.8229 10.0417 43.7917 10.0417H37.9583V15.9657L43.8844 10.045Z\",\n fill: color\n }));\n});\nexport default Shadow;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RadiusCorner = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3H23V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V23H43V43H3V3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 7.25076H43V5.50076C43 5.15718 42.9321 4.83576 42.8113 4.54446L45.1206 3.58682C45.3651 4.17636 45.5 4.82281 45.5 5.50076V7.25076Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.75 0.500763V3.00076H28.25V0.500763H24.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.75 0.500763V3.00076H35.25V0.500763H31.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.75 0.500763V3.00076H40.5C40.8436 3.00076 41.165 3.06868 41.4563 3.18948L42.414 0.880166C41.8244 0.635694 41.178 0.500763 40.5 0.500763H38.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 10.7508H43V14.2508H45.5V10.7508Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 17.7508H43V21.2508H45.5V17.7508Z\",\n fill: color\n }));\n});\nexport default RadiusCorner;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Position = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 9.24878H11.7501V10.9675H10.9688V11.7488H9.25008V9.24878Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 34.2488V36.7488H11.7501V35.03H10.9688V34.2488H9.25008Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.2501 36.7488H36.7501V34.2488H35.0313V35.03H34.2501V36.7488Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 11.7488V9.24878H34.2501V10.9675H35.0313V11.7488H36.7501Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.4063 9.24878V11.7488H17.8438V9.24878H14.4063Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.2813 9.24878V11.7488H24.7188V9.24878H21.2813Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.1563 9.24878V11.7488H31.5938V9.24878H28.1563Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 14.405H34.2501V17.8425H36.7501V14.405Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 21.28H34.2501V24.7175H36.7501V21.28Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 28.155H34.2501V31.5925H36.7501V28.155Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5938 36.7488V34.2488H28.1563V36.7488H31.5938Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7188 36.7488V34.2488H21.2813V36.7488H24.7188Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8438 36.7488V34.2488H14.4063V36.7488H17.8438Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 31.5925H11.7501V28.155H9.25008V31.5925Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 24.7175H11.7501V21.28H9.25008V24.7175Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 17.8425H11.7501V14.405H9.25008V17.8425Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.0002 26.7497C25.0712 26.7497 26.7502 25.0708 26.7502 22.9997C26.7502 20.9286 25.0712 19.2497 23.0002 19.2497C20.9291 19.2497 19.2502 20.9286 19.2502 22.9997C19.2502 25.0708 20.9291 26.7497 23.0002 26.7497Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z\",\n fill: color\n }));\n});\nexport default Position;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Spacing = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.29986 0.991788C4.78802 0.503633 5.57947 0.503633 6.06763 0.991788L9.367 4.29116C9.85516 4.77932 9.85516 5.57077 9.367 6.05893C8.87885 6.54708 8.08739 6.54708 7.59924 6.05893L6.43374 4.89344V34.0829L7.59924 32.9174C8.08739 32.4293 8.87885 32.4293 9.367 32.9174C9.85516 33.4056 9.85516 34.197 9.367 34.6852L6.06763 37.9846C5.8332 38.219 5.51524 38.3507 5.18371 38.3507C4.85217 38.3507 4.53422 38.219 4.29981 37.9845L1.00084 34.6851C0.512712 34.1969 0.512761 33.4055 1.00095 32.9174C1.48913 32.4292 2.28059 32.4293 2.76871 32.9175L3.93374 34.0827V4.89344L2.76825 6.05893C2.2801 6.54708 1.48864 6.54708 1.00049 6.05893C0.51233 5.57077 0.51233 4.77932 1.00049 4.29116L4.29986 0.991788ZM13.1588 8.34109V1.49725H46.3156V8.34102H43.398V7.19776C43.398 5.54595 42.0562 4.20442 40.4047 4.20442H31.8516V26.0992C31.8516 28.1387 33.5088 29.7957 35.5481 29.7957H36.5137V32.4599H23.01V29.7957H23.9756C26.0151 29.7957 27.6721 28.1387 27.6721 26.0992V4.20448H19.0697C17.418 4.20448 16.0763 5.54604 16.0763 7.19783V8.34109H13.1588ZM46.9995 39.7088C47.4877 39.2207 47.4877 38.4292 46.9995 37.9411L43.7001 34.6417C43.212 34.1535 42.4205 34.1535 41.9324 34.6417C41.4442 35.1298 41.4442 35.9213 41.9324 36.4095L43.0979 37.5749L15.0832 37.5749L16.2484 36.4099C16.7366 35.9218 16.7366 35.1303 16.2485 34.6421C15.7604 34.154 14.9689 34.1539 14.4807 34.642L11.1814 37.941C10.9469 38.1754 10.8152 38.4934 10.8152 38.8249C10.8152 39.1564 10.9469 39.4744 11.1813 39.7088L14.4807 43.0082C14.9688 43.4964 15.7603 43.4964 16.2485 43.0082C16.7366 42.5201 16.7366 41.7286 16.2485 41.2404L15.083 40.0749L43.0979 40.0749L41.9324 41.2404C41.4442 41.7286 41.4442 42.5201 41.9324 43.0082C42.4205 43.4964 43.212 43.4964 43.7001 43.0082L46.9995 39.7088Z\",\n fill: color\n }));\n});\nexport default Spacing;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Padding = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8334 9.19949C13.8334 8.50914 14.3931 7.94949 15.0834 7.94949H31.3334C32.0238 7.94949 32.5834 8.50914 32.5834 9.19949C32.5834 9.88985 32.0238 10.4495 31.3334 10.4495H15.0834C14.3931 10.4495 13.8334 9.88985 13.8334 9.19949Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0834 35.5496C14.3931 35.5496 13.8334 36.1092 13.8334 36.7996C13.8334 37.4899 14.3931 38.0496 15.0834 38.0496H31.3334C32.0238 38.0496 32.5834 37.4899 32.5834 36.7996C32.5834 36.1092 32.0238 35.5496 31.3334 35.5496H15.0834Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.8001 13.4163C37.4905 13.4163 38.0501 13.9759 38.0501 14.6663V30.9163C38.0501 31.6066 37.4905 32.1663 36.8001 32.1663C36.1098 32.1663 35.5501 31.6066 35.5501 30.9163V14.6663C35.5501 13.9759 36.1098 13.4163 36.8001 13.4163Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.45 14.6663C10.45 13.9759 9.89038 13.4163 9.20003 13.4163C8.50967 13.4163 7.95003 13.9759 7.95003 14.6663L7.95003 30.9163C7.95003 31.6066 8.50967 32.1663 9.20003 32.1663C9.89038 32.1663 10.45 31.6066 10.45 30.9163L10.45 14.6663Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z\",\n fill: color\n }));\n});\nexport default Padding;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Polygon = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.103 18.4866L24.0002 3.8811L3.89749 18.4866L11.5761 42.1188H36.4244L44.103 18.4866ZM25.8371 1.35293C24.7418 0.557164 23.2587 0.557162 22.1634 1.35292L2.06066 15.9584C0.96539 16.7542 0.507082 18.1647 0.925439 19.4523L8.604 43.0845C9.02236 44.372 10.2222 45.2438 11.5761 45.2438H36.4244C37.7782 45.2438 38.9781 44.372 39.3965 43.0845L47.075 19.4523C47.4934 18.1647 47.0351 16.7542 45.9398 15.9584L25.8371 1.35293Z\",\n fill: color\n }));\n});\nexport default Polygon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PolygonSides = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 48\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.0078 29.9669H25.835L24.7803 35.9727H27.4609L28.5156 29.9669H32.2363V27.4473H28.9551L29.6875 23.2872H33.3496V20.7383H30.1416L31.2109 14.6446H28.5303L27.4609 20.7383H24.6191L25.6885 14.6446H23.0225L21.9531 20.7383H18.1006V23.2872H21.499L20.7666 27.4473H17.002V29.9669H20.3271L19.2725 35.9727H21.9531L23.0078 29.9669ZM26.2744 27.4473H23.4473L24.165 23.2872H27.0068L26.2744 27.4473Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.5448 0.821208C24.421 0.184598 25.6075 0.184597 26.4837 0.821207L48.4803 16.8026C49.3565 17.4392 49.7231 18.5677 49.3885 19.5977L40.9865 45.4562C40.6518 46.4862 39.692 47.1836 38.6089 47.1836H11.4197C10.3366 47.1836 9.37672 46.4862 9.04204 45.4562L0.640107 19.5977C0.305422 18.5677 0.672067 17.4392 1.54829 16.8026L23.5448 0.821208ZM25.0143 2.84375L47.0108 18.8252L38.6089 44.6836H11.4197L3.01775 18.8252L25.0143 2.84375Z\",\n fill: color\n }));\n});\nexport default PolygonSides;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.5 15.0005C45.5 15.7079 45.2003 16.3822 44.6753 16.8562L30.8291 29.3562C29.8042 30.2814 28.2234 30.2006 27.2982 29.1758C26.373 28.1509 26.4537 26.57 27.4786 25.6448L36.5 17.5005L3 17.5005C1.61928 17.5005 0.499999 16.3812 0.499999 15.0005C0.499999 13.6198 1.61929 12.5005 3 12.5005L36.5 12.5005L27.4786 4.35618C26.4537 3.43096 26.373 1.85011 27.2982 0.82525C28.2234 -0.199608 29.8042 -0.280382 30.8291 0.644837L44.6753 13.1448C45.2003 13.6189 45.5 14.2931 45.5 15.0005Z\",\n fill: color\n }));\n});\nexport default ArrowRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FontItalic = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19 48L26.9931 2H31.2019L23.2087 48H19Z\",\n fill: color\n }));\n});\nexport default FontItalic;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FontBold = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 14 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.214966 17.4813V0.518677H6.61123C8.82693 0.518677 10.5075 0.914783 11.653 1.70699C12.7985 2.49144 13.3712 3.64481 13.3712 5.16709C13.3712 5.99814 13.1413 6.7321 12.6814 7.36898C12.2216 7.99809 11.5819 8.46021 10.7625 8.75535C11.699 8.97282 12.4348 9.41164 12.9699 10.0718C13.5133 10.732 13.7851 11.5397 13.7851 12.4951C13.7851 14.1261 13.2249 15.361 12.1045 16.1998C10.9841 17.0386 9.38713 17.4658 7.31357 17.4813H0.214966ZM3.97748 10.0951V14.6736H7.20069C8.08697 14.6736 8.77677 14.4795 9.27007 14.0911C9.77174 13.695 10.0226 13.1513 10.0226 12.4601C10.0226 10.9067 9.1572 10.1184 7.42644 10.0951H3.97748ZM3.97748 7.62528H6.76173C8.65971 7.59421 9.6087 6.89132 9.6087 5.5166C9.6087 4.74769 9.36623 4.19625 8.88128 3.86228C8.4047 3.52054 7.64801 3.34967 6.61123 3.34967H3.97748V7.62528Z\",\n fill: color\n }));\n});\nexport default FontBold;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var UploadOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5911 1.54582C16.7075 0.680052 15.2937 0.680014 14.4101 1.54573L4.05296 11.6925C3.15635 12.5709 3.14159 14.0098 4.01999 14.9064C4.89839 15.8031 6.33733 15.8178 7.23394 14.9394L13.7278 8.57741V30.4419C13.7278 31.6971 14.7454 32.7147 16.0006 32.7147C17.2558 32.7147 18.2733 31.6971 18.2733 30.4419V8.57782L24.766 14.9393C25.6625 15.8178 27.1015 15.8031 27.9799 14.9065C28.8584 14.01 28.8437 12.571 27.9471 11.6926L17.5911 1.54582Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.78827 36.5543C1.53308 36.5543 0.515541 37.5719 0.515541 38.827C0.515541 40.0822 1.53308 41.0998 2.78827 41.0998H29.1519C30.4071 41.0998 31.4246 40.0822 31.4246 38.827C31.4246 37.5719 30.4071 36.5543 29.1519 36.5543H2.78827Z\",\n fill: color\n }));\n});\nexport default UploadOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowLeftOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 28 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.907 0.71085C25.7493 -0.292553 23.9445 -0.224769 22.8758 0.862251L0.931376 23.1837C-0.0773525 24.2097 -0.0773525 25.7913 0.931376 26.8173L22.8758 49.1388C23.9445 50.2258 25.7493 50.2936 26.907 49.2902C28.0647 48.2868 28.1369 46.5921 27.0683 45.5051L6.90997 25.0005L27.0683 4.49589C28.1369 3.40888 28.0647 1.71425 26.907 0.71085Z\",\n fill: color\n }));\n});\nexport default ArrowLeftOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowRightOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 28 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.09286 0.71085C2.25057 -0.292553 4.05541 -0.224769 5.12407 0.862251L27.0685 23.1837C28.0772 24.2097 28.0772 25.7913 27.0685 26.8173L5.12407 49.1388C4.05541 50.2258 2.25057 50.2936 1.09286 49.2902C-0.0648579 48.2868 -0.137051 46.5921 0.93161 45.5051L21.0899 25.0005L0.93161 4.49589C-0.137051 3.40888 -0.0648579 1.71425 1.09286 0.71085Z\",\n fill: color\n }));\n});\nexport default ArrowRightOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PlusOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.9167 27.0838L22.9167 41.6672C22.9167 42.8177 23.8494 43.7505 25 43.7505C26.1506 43.7505 27.0833 42.8177 27.0833 41.6672L27.0833 27.0838H41.6667C42.8173 27.0838 43.75 26.1511 43.75 25.0005C43.75 23.8499 42.8173 22.9172 41.6667 22.9172L27.0833 22.9172L27.0833 8.33382C27.0833 7.18323 26.1506 6.25049 25 6.25049C23.8494 6.25049 22.9167 7.18323 22.9167 8.33382L22.9167 22.9172H8.33333C7.18274 22.9172 6.25 23.8499 6.25 25.0005C6.25 26.1511 7.18274 27.0838 8.33333 27.0838H22.9167Z\",\n fill: color\n }));\n});\nexport default PlusOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowTool = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.04757 38.9503C0.437373 38.3401 0.437373 37.3508 1.04757 36.7406L33.9229 3.86697L23.8354 3.33584C22.9736 3.29047 22.3118 2.5551 22.3572 1.69335C22.4026 0.831601 23.138 0.169794 23.9997 0.215167L37.5909 0.930759C38.3892 0.972794 39.027 1.61063 39.0691 2.40894L39.7846 16.0001C39.83 16.8619 39.1682 17.5972 38.3065 17.6426C37.4447 17.688 36.7093 17.0262 36.664 16.1644L36.1328 6.07651L3.25728 38.9503C2.64708 39.5605 1.65776 39.5605 1.04757 38.9503Z\",\n fill: color\n }));\n});\nexport default ArrowTool;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Compare = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.1607 4.16667V2.08333C27.1607 0.93274 26.2279 0 25.0773 0C23.9267 0 22.994 0.932741 22.994 2.08333V4.16667H4.244C1.94281 4.16667 0.0773315 6.03215 0.0773315 8.33333V41.6667C0.0773315 43.9679 1.94281 45.8333 4.244 45.8333H22.994V47.9167C22.994 49.0673 23.9267 50 25.0773 50C26.2279 50 27.1607 49.0673 27.1607 47.9167V45.8333H45.9107C48.2118 45.8333 50.0773 43.9678 50.0773 41.6667V8.33333C50.0773 6.03215 48.2119 4.16667 45.9107 4.16667H27.1607ZM22.994 8.33333H4.244L4.244 41.6667H22.994V8.33333ZM27.1607 41.6667V8.33333H45.9107V41.6667H27.1607Z\",\n fill: color\n }));\n});\nexport default Compare;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MinusOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 38 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.835 5.0769L2.16498 5.0769C1.00277 5.0769 0.0606079 4.14726 0.0606079 3.00048C0.060608 1.85371 1.00277 0.924072 2.16498 0.924072L35.835 0.924074C36.9972 0.924074 37.9394 1.85372 37.9394 3.00049C37.9394 4.14726 36.9972 5.0769 35.835 5.0769Z\",\n fill: color\n }));\n});\nexport default MinusOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Temprature = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.48799 3.125H17.0311L17.0311 24.4063C17.0311 26.6148 18.1889 28.4084 19.5429 29.5401C21.7011 31.3438 23.0656 34.0456 23.0656 37.069C23.0656 42.4847 18.6753 46.875 13.2595 46.875C7.84382 46.875 3.45351 42.4847 3.45351 37.069C3.45351 34.0456 4.81799 31.3438 6.97617 29.5401C8.33021 28.4084 9.48799 26.6148 9.48799 24.4063V3.125ZM20.1561 3.125C20.1561 1.39911 18.757 0 17.0311 0H9.48799C7.7621 0 6.36299 1.39911 6.36299 3.125V24.4063C6.36299 25.4785 5.79482 26.4547 4.97216 27.1423C2.13398 29.5143 0.328506 33.0808 0.328506 37.069C0.328506 44.2106 6.11793 50 13.2595 50C20.4012 50 26.1906 44.2106 26.1906 37.069C26.1906 33.0808 24.3851 29.5143 21.5469 27.1423C20.7243 26.4547 20.1561 25.4785 20.1561 24.4063V3.125ZM35.6715 1.25C35.6715 0.559645 35.1119 0 34.4215 0H28.1715C27.4812 0 26.9215 0.559644 26.9215 1.25C26.9215 1.94036 27.4812 2.5 28.1715 2.5L34.4215 2.5C35.1119 2.5 35.6715 1.94036 35.6715 1.25ZM35.6715 8.24951C35.6715 7.55916 35.1119 6.99951 34.4215 6.99951H28.1715C27.4812 6.99951 26.9215 7.55916 26.9215 8.24951C26.9215 8.93987 27.4812 9.49951 28.1715 9.49951H34.4215C35.1119 9.49951 35.6715 8.93987 35.6715 8.24951ZM34.4215 13.999C35.1119 13.999 35.6715 14.5587 35.6715 15.249C35.6715 15.9394 35.1119 16.499 34.4215 16.499H28.1715C27.4812 16.499 26.9215 15.9394 26.9215 15.249C26.9215 14.5587 27.4812 13.999 28.1715 13.999H34.4215ZM13.2594 43.7501C16.366 43.7501 18.8844 41.2317 18.8844 38.1251C18.8844 35.4037 16.9519 33.1337 14.3844 32.6126V10.3662C14.3844 9.67582 13.8247 9.11617 13.1344 9.11617C12.444 9.11617 11.8844 9.67582 11.8844 10.3662V32.6694C9.44245 33.2829 7.63441 35.4928 7.63441 38.1251C7.63441 41.2317 10.1528 43.7501 13.2594 43.7501Z\",\n fill: color\n }));\n});\nexport default Temprature;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Contrast = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.4376 40.6858V38.5625V4.18746V3.31418C10.8133 4.10816 3.25006 12.1708 3.25006 22C3.25006 31.8292 10.8133 39.8918 20.4376 40.6858ZM40.7501 22C40.7501 31.8292 33.1868 39.8918 23.5626 40.6858V38.5625V4.18746V3.31418C33.1868 4.10816 40.7501 12.1708 40.7501 22ZM43.8751 22C43.8751 34.0812 34.0813 43.875 22.0001 43.875C9.91883 43.875 0.125061 34.0812 0.125061 22C0.125061 9.91877 9.91883 0.125 22.0001 0.125C34.0813 0.125 43.8751 9.91877 43.8751 22Z\",\n fill: color\n }));\n});\nexport default Contrast;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FineTune = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.3679 7.50003C15.7995 10.005 13.5592 11.875 10.8823 11.875C8.20528 11.875 5.96506 10.005 5.39665 7.50003H1.5448C0.854444 7.50003 0.2948 6.94039 0.2948 6.25003C0.2948 5.55967 0.854444 5.00003 1.5448 5.00003H5.39665C5.96506 2.49504 8.20528 0.625031 10.8823 0.625031C13.5592 0.625031 15.7995 2.49504 16.3679 5.00003H48.4557C49.1461 5.00003 49.7057 5.55967 49.7057 6.25003C49.7057 6.94039 49.1461 7.50003 48.4557 7.50003H16.3679ZM14.0073 6.25003C14.0073 7.97592 12.6082 9.37503 10.8823 9.37503C9.15637 9.37503 7.75726 7.97592 7.75726 6.25003C7.75726 4.52414 9.15637 3.12503 10.8823 3.12503C12.6082 3.12503 14.0073 4.52414 14.0073 6.25003Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.5715 27.625C37.2485 27.625 39.4887 25.755 40.0571 23.25H48.4554C49.1458 23.25 49.7054 22.6904 49.7054 22C49.7054 21.3096 49.1458 20.75 48.4554 20.75H40.0571C39.4887 18.245 37.2485 16.375 34.5715 16.375C31.8946 16.375 29.6543 18.245 29.0859 20.75H1.5448C0.854444 20.75 0.2948 21.3096 0.2948 22C0.2948 22.6904 0.854444 23.25 1.5448 23.25H29.0859C29.6543 25.755 31.8946 27.625 34.5715 27.625ZM34.5715 25.125C36.2974 25.125 37.6965 23.7259 37.6965 22C37.6965 20.2741 36.2974 18.875 34.5715 18.875C32.8456 18.875 31.4465 20.2741 31.4465 22C31.4465 23.7259 32.8456 25.125 34.5715 25.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.7702 39C22.2018 41.505 19.9615 43.375 17.2845 43.375C14.6076 43.375 12.3673 41.505 11.7989 39H1.5448C0.854444 39 0.2948 38.4403 0.2948 37.75C0.2948 37.0596 0.854444 36.5 1.5448 36.5H11.7989C12.3673 33.995 14.6076 32.125 17.2845 32.125C19.9615 32.125 22.2018 33.995 22.7702 36.5H48.4554C49.1458 36.5 49.7054 37.0596 49.7054 37.75C49.7054 38.4403 49.1458 39 48.4554 39H22.7702ZM20.4095 37.75C20.4095 39.4759 19.0104 40.875 17.2845 40.875C15.5587 40.875 14.1595 39.4759 14.1595 37.75C14.1595 36.0241 15.5587 34.625 17.2845 34.625C19.0104 34.625 20.4095 36.0241 20.4095 37.75Z\",\n fill: color\n }));\n});\nexport default FineTune;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Saturation = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.2341 37.6984H37.5121V37.4237C41.4447 33.4687 43.875 28.0182 43.875 22C43.875 15.9819 41.4447 10.5314 37.5121 6.57632V6.30045H37.2328C33.2942 2.47819 27.9219 0.125031 22 0.125031C9.91877 0.125031 0.125 9.9188 0.125 22C0.125 34.0813 9.91877 43.875 22 43.875C24.718 43.875 27.3203 43.3793 29.7213 42.4733H30.5303V42.1494C33.0389 41.0861 35.308 39.5679 37.2341 37.6984ZM20.4257 3.31519C10.807 4.1148 3.25 12.1749 3.25 22C3.25 31.8252 10.807 39.8853 20.4257 40.6849V3.31519ZM34.3871 36.0759C33.221 37.1029 31.9263 37.9873 30.5303 38.7017V5.29836C31.9263 6.01281 33.221 6.89715 34.3871 7.92411V36.0759ZM37.5121 11.4641C39.5556 14.4669 40.75 18.094 40.75 22C40.75 25.9061 39.5556 29.5332 37.5121 32.536V11.4641ZM23.5507 40.6868C24.8796 40.578 26.1693 40.3307 27.4053 39.9592V4.04089C26.1693 3.66941 24.8796 3.42203 23.5507 3.31324V40.6868Z\",\n fill: color\n }));\n});\nexport default Saturation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Annotate = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.1442 31.379C45.4585 31.379 44.8974 31.9429 44.8974 32.6321V43.7349C44.8974 45.8025 43.2267 47.4817 41.157 47.4943H6.22156C4.16433 47.4943 2.49361 45.8151 2.48114 43.7349V11.1283C2.48114 9.06067 4.15186 7.38147 6.22156 7.36894H17.2807C17.9665 7.36894 18.5275 6.80503 18.5275 6.1158C18.5275 5.42658 17.9665 4.86267 17.2807 4.86267H6.22156C2.79284 4.8752 0 7.66969 0 11.1283V43.7349C0 47.1935 2.79284 50.0005 6.22156 50.0005H41.157C44.5982 50.0005 47.3786 47.1935 47.3786 43.7474V32.6321C47.391 31.9429 46.83 31.379 46.1442 31.379Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.8923 1.65462C44.698 -0.55089 41.157 -0.55089 38.9627 1.65462L16.7571 23.9729C16.6075 24.1233 16.4953 24.3113 16.4329 24.5243L13.5154 35.1258C13.3907 35.5644 13.5154 36.0281 13.8396 36.3413C14.1513 36.6546 14.6251 36.7799 15.049 36.6672L25.5969 33.7348C25.8089 33.6722 25.9959 33.5719 26.1455 33.409L48.3636 11.0782C50.5455 8.87267 50.5455 5.31377 48.3636 3.10826L46.8923 1.65462ZM19.4751 24.7875L37.6535 6.51678L43.5135 12.4065L25.3351 30.6897L19.4751 24.7875ZM18.3031 27.1559L22.9911 31.8677L16.5077 33.6722L18.3031 27.1559ZM46.5931 9.31127L45.2715 10.6396L39.4115 4.74986L40.7331 3.42154C41.9425 2.206 43.9249 2.206 45.1343 3.42154L46.5931 4.88771C47.815 6.11578 47.815 8.09573 46.5931 9.31127Z\",\n fill: color\n }));\n});\nexport default Annotate;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Blur = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.3626 41.293C17.5103 41.4285 16.7096 40.8474 16.5742 39.9952C16.4387 39.143 17.0198 38.3423 17.872 38.2068C18.2902 38.1403 18.6988 38.0456 19.0958 37.9246C21.9368 37.059 24.1957 34.8468 25.1254 32.0335C25.2671 31.6049 25.378 31.1621 25.4555 30.7076C25.6005 29.857 26.4076 29.2849 27.2583 29.4299C28.109 29.5749 28.681 30.3821 28.536 31.2327C28.432 31.8429 28.283 32.4379 28.0926 33.0142C26.8449 36.7893 23.8206 39.7519 20.0065 40.914C19.4728 41.0766 18.9239 41.2038 18.3626 41.293Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.9356 31.0645C33.9356 23.9644 24.1764 8.59028 19.4747 1.59549C18.2785 -0.184172 15.7216 -0.184172 14.5254 1.59548C9.82374 8.59028 0.0645752 23.9644 0.0645752 31.0645C0.0645752 40.4177 7.64685 48 17.0001 48C26.3533 48 33.9356 40.4177 33.9356 31.0645ZM30.8106 31.0645C30.8106 29.8836 30.375 28.0316 29.4236 25.578C28.5 23.1959 27.1988 20.5159 25.7187 17.7756C22.8106 12.3913 19.3287 6.98743 17.0001 3.51586C14.6715 6.98743 11.1895 12.3913 8.28145 17.7756C6.80135 20.5159 5.50017 23.1959 4.57655 25.578C3.62517 28.0316 3.18958 29.8836 3.18958 31.0645C3.18958 38.6918 9.37274 44.875 17.0001 44.875C24.6274 44.875 30.8106 38.6918 30.8106 31.0645Z\",\n fill: color\n }));\n});\nexport default Blur;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PinOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.0081 15.2287L36.7869 17.6214L28.935 29.9601C30.5809 33.9266 30.3662 38.0903 27.1408 41.3158L26.5656 41.8909C25.9554 42.5011 24.9661 42.5011 24.3559 41.8909L14.4122 31.9472L2.99211 43.3673C2.38192 43.9775 1.3926 43.9775 0.782403 43.3673C0.17221 42.7571 0.172211 41.7678 0.782403 41.1576L12.2025 29.7375L2.25883 19.7938C1.64864 19.1836 1.64864 18.1943 2.25883 17.5841L2.50512 17.3378C5.73058 14.1123 10.2231 13.5688 14.1897 15.2147L26.5283 7.36283L28.9211 1.14165C29.327 0.0863053 30.6847 -0.201832 31.4843 0.597706L43.552 12.6655C44.3516 13.465 44.0634 14.8228 43.0081 15.2287ZM29.0752 9.44618L30.9747 4.50752L39.6422 13.1751L34.7035 15.0745L25.4251 29.655L26.0486 31.1577C27.234 34.0146 27.0773 36.5309 25.4342 38.5498L5.64209 18.7576C7.75439 17.2384 10.4304 17.0382 12.992 18.1011L14.4948 18.7246L29.0752 9.44618Z\",\n fill: color\n }));\n});\nexport default PinOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Duplicate = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z\",\n fill: color\n }));\n});\nexport default Duplicate;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var DeleteOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8571 19.6429C17.8571 18.6566 18.6566 17.8571 19.6429 17.8571C20.6291 17.8571 21.4286 18.6566 21.4286 19.6429L21.4286 37.5C21.4286 38.4862 20.6291 39.2857 19.6429 39.2857C18.6566 39.2857 17.8571 38.4862 17.8571 37.5L17.8571 19.6429Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.3571 17.8571C29.3709 17.8571 28.5714 18.6566 28.5714 19.6429L28.5714 37.5C28.5714 38.4862 29.3709 39.2857 30.3571 39.2857C31.3434 39.2857 32.1429 38.4862 32.1429 37.5V19.6429C32.1429 18.6566 31.3434 17.8571 30.3571 17.8571Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.2857 7.14286V3.57143C14.2857 1.59898 15.8847 0 17.8571 0H32.1429C34.1153 0 35.7143 1.59898 35.7143 3.57143V7.14286H48.2143C49.2005 7.14286 50 7.94235 50 8.92857C50 9.91479 49.2005 10.7143 48.2143 10.7143H44.6429V46.4286C44.6429 48.401 43.0439 50 41.0714 50H8.92857C6.95613 50 5.35714 48.401 5.35714 46.4286V10.7143L1.78571 10.7143C0.799491 10.7143 0 9.91479 0 8.92857C0 7.94235 0.799492 7.14286 1.78571 7.14286H14.2857ZM17.8571 3.57143H32.1429V7.14286H17.8571V3.57143ZM8.92857 10.7143L8.92857 46.4286H41.0714V10.7143H8.92857Z\",\n fill: color\n }));\n});\nexport default DeleteOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CropFrame = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 3H31.75V0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V14.25H43V3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 14.25V3H14.25V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V14.25H3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 31.75V43C0.5 44.3807 1.61929 45.5 3 45.5H14.25V43H3V31.75H0.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 31.75H45.5V43C45.5 44.3807 44.3807 45.5 43 45.5H31.75V43H43V31.75Z\",\n fill: color\n }));\n});\nexport default CropFrame;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Portrait = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 36 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.0559 46.8755L32.0559 3.12555L3.93091 3.12555L3.93091 46.8755H32.0559ZM35.1809 3.12555C35.1809 1.39966 33.7818 0.000549316 32.0559 0.000549316H3.93091C2.20502 0.000549316 0.805908 1.39966 0.805908 3.12555V46.8755C0.805908 48.6014 2.20502 50.0005 3.93091 50.0005H32.0559C33.7818 50.0005 35.1809 48.6014 35.1809 46.8755L35.1809 3.12555Z\",\n fill: color\n }));\n});\nexport default Portrait;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var WarningOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.961 39.0119L28.2837 7.27185C27.5934 6.17538 26.3971 5.5 24.9981 5.5C23.5956 5.5 22.3967 6.17887 21.7073 7.28034L4.06571 38.9613L4.03009 39.0197C3.33595 40.159 3.32316 41.4697 3.9939 42.6216C4.67405 43.786 5.89 44.5 7.34459 44.5H42.554C44.0596 44.5 45.3464 43.7436 46.0016 42.6231C46.6817 41.4564 46.652 40.1455 45.9968 39.0706L45.961 39.0119ZM49.0254 44.3856C47.7038 46.6495 45.2246 48 42.554 48H7.34459C4.67398 48 2.29272 46.6495 0.970942 44.3856C-0.347811 42.1231 -0.322029 39.4361 1.04116 37.1987L18.6646 5.55018C18.6697 5.5418 18.6743 5.53342 18.6789 5.52504C18.6836 5.51666 18.6882 5.50828 18.6932 5.49989C20.0278 3.30867 22.3849 2 24.9981 2C27.6114 2 29.9685 3.30867 31.303 5.49989L48.9853 37.2489C50.3185 39.436 50.3442 42.1232 49.0254 44.3856Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.0001 16C22.0001 14.3431 23.3433 13 25.0001 13C26.657 13 28.0001 14.3431 28.0001 16V28C28.0001 29.6569 26.657 31 25.0001 31C23.3433 31 22.0001 29.6569 22.0001 28V16Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.0001 37C28.0001 38.6569 26.657 40 25.0001 40C23.3433 40 22.0001 38.6569 22.0001 37C22.0001 35.3431 23.3433 34 25.0001 34C26.657 34 28.0001 35.3431 28.0001 37Z\",\n fill: color\n }));\n});\nexport default WarningOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Error = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.5 20.5001C16.0228 20.5001 20.5 16.023 20.5 10.5001C20.5 4.97727 16.0228 0.500122 10.5 0.500122C4.97715 0.500122 0.5 4.97727 0.5 10.5001C0.5 16.023 4.97715 20.5001 10.5 20.5001ZM15.4375 7.0912L11.8155 10.7132L15.4638 14.309C15.6213 14.4665 15.7 14.6503 15.7 14.8865C15.7 15.1227 15.6213 15.3064 15.4638 15.4639C15.3063 15.6214 15.1226 15.7001 14.8864 15.7001C14.6501 15.7001 14.4664 15.6214 14.3089 15.4639L10.6869 11.8419L7.06483 15.4639C6.77612 15.7789 6.25118 15.7789 5.93622 15.4639C5.77874 15.3064 5.7 15.0964 5.7 14.8865C5.7 14.6765 5.77874 14.4928 5.93622 14.3353L9.55827 10.7132L5.93622 7.0912C5.77874 6.93372 5.7 6.72374 5.7 6.51377C5.7 6.3038 5.77874 6.12007 5.93622 5.96259C6.25118 5.64763 6.74987 5.64763 7.06483 5.96259L10.6869 9.58464L14.3089 5.93634C14.5976 5.62138 15.1226 5.62138 15.4375 5.93634C15.595 6.09382 15.6738 6.27755 15.6738 6.51377C15.6738 6.74999 15.595 6.93372 15.4375 7.0912Z\",\n fill: color\n }));\n});\nexport default Error;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ErrorOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.3438 16.4782L28.2887 25.5333L37.4095 34.5228C37.8032 34.9165 38 35.3758 38 35.9664C38 36.5569 37.8032 37.0162 37.4095 37.4099C37.0158 37.8036 36.5564 38.0005 35.9659 38.0005C35.3753 38.0005 34.916 37.8036 34.5223 37.4099L25.4672 28.3548L16.4121 37.4099C15.6903 38.1973 14.378 38.1973 13.5906 37.4099C13.1969 37.0162 13 36.4913 13 35.9664C13 35.4414 13.1969 34.9821 13.5906 34.5884L22.6457 25.5333L13.5906 16.4782C13.1969 16.0845 13 15.5595 13 15.0346C13 14.5097 13.1969 14.0504 13.5906 13.6567C14.378 12.8693 15.6247 12.8693 16.4121 13.6567L25.4672 22.7118L34.5223 13.591C35.2441 12.8036 36.5564 12.8036 37.3438 13.591C37.7375 13.9847 37.9344 14.4441 37.9344 15.0346C37.9344 15.6252 37.7375 16.0845 37.3438 16.4782Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M-0.000488281 25.0005C-0.000488281 38.7972 11.2028 50.0005 24.9995 50.0005C38.6925 50.0005 49.9995 38.7972 49.9995 25.0005C49.9995 11.2038 38.7962 0.000488281 24.9995 0.000488281C11.2028 0.000488281 -0.000488281 11.2038 -0.000488281 25.0005ZM3.63022 24.8968C3.63022 13.1748 13.1738 3.52746 24.9995 3.52746C36.8252 3.52746 46.3688 13.1748 46.3688 24.8968C46.3688 36.6187 36.8252 46.266 24.9995 46.266C13.2775 46.266 3.63022 36.6187 3.63022 24.8968Z\",\n fill: color\n }));\n});\nexport default ErrorOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Loading = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9338 5.26853C27.8524 4.75154 25.7006 4.56814 23.5381 4.72351C22.4874 4.799 21.4379 4.95535 20.4183 5.18855L19.3724 0.636496C20.6245 0.350265 21.9128 0.158175 23.2017 0.065597C25.8579 -0.125223 28.5034 0.100753 31.0653 0.737277L29.9338 5.26853Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.9\",\n d: \"M40.6131 11.9278C38.5498 9.48098 35.9044 7.52805 32.963 6.2805L34.7952 1.98303C38.4106 3.51633 41.6615 5.91575 44.1962 8.922L40.6131 11.9278Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.8\",\n d: \"M45.3329 23.5739L45.3303 23.5392C45.097 20.3085 44.1359 17.275 42.4734 14.5227L46.4838 12.1129C48.5302 15.501 49.7133 19.2325 50 23.2036L45.3329 23.5739Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.7\",\n d: \"M46.2688 38.2308L42.2981 35.7565C43.9958 33.0458 45.0372 29.9357 45.3095 26.7618L49.9744 27.1604C49.639 31.0674 48.3577 34.8958 46.2688 38.2308Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.6\",\n d: \"M34.4209 48.1735L32.6626 43.8456C35.6192 42.6505 38.2938 40.7405 40.3975 38.3222L43.9338 41.3828C41.3483 44.3551 38.0588 46.7033 34.4209 48.1735V48.1735Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.5\",\n d: \"M26.8033 49.9345C24.1593 50.1242 21.5262 49.9011 18.9766 49.2716L20.1013 44.7386C22.1729 45.25 24.3148 45.4309 26.4673 45.2766C27.5283 45.2004 28.5879 45.0416 29.6165 44.8049L30.6697 49.3551C29.4061 49.6459 28.1052 49.841 26.8033 49.9345V49.9345Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.4\",\n d: \"M15.2449 48.0311C11.6272 46.5033 8.37276 44.1086 5.83362 41.1063L9.412 38.0952C11.479 40.5388 14.1272 42.4877 17.0704 43.7306L15.2449 48.0311Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.3\",\n d: \"M3.54069 37.9198C1.48217 34.5223 0.292537 30.78 0.00479729 26.7959L0 26.7274L4.66972 26.3918L4.67579 26.478C4.90861 29.7017 5.87511 32.7443 7.54751 35.504L3.54069 37.9198Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.2\",\n d: \"M4.69761 23.2075L0.0335693 22.802C0.374666 18.8955 1.66191 15.0691 3.75587 11.7373L7.72274 14.2175C6.02088 16.9257 4.97478 20.0344 4.69761 23.2075V23.2075Z\",\n fill: color\n }));\n});\nexport default Loading;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ColorPicker = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 42 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0001 6.11477C42.0001 4.48089 41.3639 2.94468 40.2086 1.78931C37.8238 -0.595528 33.9433 -0.595878 31.5582 1.78931L25.666 7.68191L22.9908 5.00654C22.5351 4.5509 21.7965 4.5509 21.3407 5.00654L17.8405 8.50695C17.3849 8.96259 17.3849 9.70141 17.8405 10.1572L20.5157 12.8325L3.63971 29.7097C3.5116 29.8378 3.41511 29.9939 3.35783 30.1658L2.27826 33.4048L1.30626 34.3769C-0.435198 36.1186 -0.435314 38.9525 1.30626 40.6943C3.04783 42.436 5.88157 42.4359 7.62314 40.6943L8.59514 39.7223L11.834 38.6426C12.0058 38.5853 12.1619 38.4888 12.29 38.3607L29.1661 21.4835L31.8413 24.1588C32.297 24.6145 33.0357 24.6145 33.4914 24.1588L36.9916 20.6584C37.4472 20.2028 37.4472 19.464 36.9916 19.0082L34.3164 16.3328L40.2086 10.4402C41.3639 9.28486 42.0001 7.74876 42.0001 6.11477ZM20.5157 26.8341H9.81507L22.1658 14.4826L27.516 19.8333L20.5157 26.8341ZM32.6663 21.6836L20.3156 9.332L22.1657 7.48168L34.5163 19.8333L32.6663 21.6836ZM38.5585 8.79014L32.6663 14.6827L27.316 9.332L33.2081 3.4394C34.6833 1.96421 37.0835 1.96409 38.5584 3.4394C40.0263 4.84774 40.0261 7.3818 38.5585 8.79014Z\",\n fill: color\n }));\n});\nexport default ColorPicker;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Menu = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 7.75049C0 6.92206 0.671573 6.25049 1.5 6.25049H48.5C49.3284 6.25049 50 6.92206 50 7.75049V9.43806C50 10.2665 49.3284 10.9381 48.5 10.9381H1.5C0.671571 10.9381 0 10.2665 0 9.43806V7.75049ZM0 24.1567C0 23.3283 0.671573 22.6567 1.5 22.6567H48.5C49.3284 22.6567 50 23.3283 50 24.1567V25.8443C50 26.6727 49.3284 27.3443 48.5 27.3443H1.5C0.671571 27.3443 0 26.6727 0 25.8443V24.1567ZM1.5 39.0629C0.671573 39.0629 0 39.7345 0 40.5629V42.2505C0 43.0789 0.671571 43.7505 1.5 43.7505H48.5C49.3284 43.7505 50 43.0789 50 42.2505V40.5629C50 39.7345 49.3284 39.0629 48.5 39.0629H1.5Z\",\n fill: color\n }));\n});\nexport default Menu;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MoveDownOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.23229 1.23267C2.20863 0.256387 3.79154 0.256434 4.76782 1.23277L22.9989 19.465L41.2323 1.23267C42.2086 0.256387 43.7915 0.256434 44.7678 1.23277C45.7441 2.20911 45.7441 3.79203 44.7677 4.76831L24.7665 24.7683C24.2977 25.2371 23.6618 25.5005 22.9987 25.5005C22.3357 25.5005 21.6998 25.2371 21.231 24.7682L1.23218 4.7682C0.255899 3.79186 0.255946 2.20895 1.23229 1.23267Z\",\n fill: color\n }));\n});\nexport default MoveDownOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MoveUpOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.2326 1.23271C22.2089 0.256404 23.7918 0.256417 24.7681 1.23274L44.7678 21.2327C45.7441 22.2091 45.7441 23.792 44.7678 24.7683C43.7914 25.7446 42.2085 25.7446 41.2322 24.7682L23.0003 6.53602L4.76775 24.7683C3.79143 25.7446 2.20852 25.7446 1.23222 24.7682C0.255916 23.7919 0.255928 22.209 1.23225 21.2327L21.2326 1.23271Z\",\n fill: color\n }));\n});\nexport default MoveUpOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowSidebarLeftOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.7355 35.1357C27.1751 35.7705 26.2217 35.7926 25.6359 35.1773L17.3026 26.423C17.0301 26.1368 16.8819 25.755 16.8752 25.3647C16.8686 24.9745 17.0037 24.5881 17.2652 24.2923L25.5985 14.8647C26.1593 14.2302 27.1128 14.2089 27.6981 14.8247C28.2539 15.4093 28.2679 16.3516 27.7348 16.9546L20.36 25.2978L27.6974 33.0057C28.2536 33.59 28.2681 34.5323 27.7355 35.1357ZM26.6695 34.3756C26.7058 34.3748 26.753 34.3599 26.7984 34.3085C26.9042 34.1886 26.8989 33.9798 26.792 33.8676L19.0594 25.7444C18.8357 25.5095 18.829 25.1425 19.0438 24.8995L26.7983 16.1268C26.9041 16.007 26.899 15.7983 26.7921 15.6859C26.7464 15.6377 26.7001 15.6249 26.6639 15.6256C26.6276 15.6263 26.5805 15.6412 26.5351 15.6926L18.2017 25.1202C18.1562 25.1717 18.1235 25.2514 18.1251 25.3435C18.1266 25.4356 18.1619 25.5128 18.208 25.5612L26.5413 34.3154C26.5871 34.3635 26.6334 34.3763 26.6695 34.3756Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.7984 34.3085C26.753 34.3599 26.7058 34.3748 26.6695 34.3756C26.6334 34.3763 26.5871 34.3635 26.5413 34.3154L18.208 25.5612C18.1619 25.5128 18.1266 25.4356 18.1251 25.3435C18.1235 25.2514 18.1562 25.1717 18.2017 25.1202L26.5351 15.6926C26.5805 15.6412 26.6276 15.6263 26.6639 15.6256C26.7001 15.6249 26.7464 15.6377 26.7921 15.6859C26.899 15.7983 26.9041 16.007 26.7983 16.1268L19.0438 24.8995C18.829 25.1425 18.8357 25.5095 19.0594 25.7444L26.792 33.8676C26.8989 33.9798 26.9042 34.1886 26.7984 34.3085Z\",\n fill: color\n }));\n});\nexport default ArrowSidebarLeftOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowSidebarRightOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.2645 14.8655C22.8249 14.2307 23.7783 14.2086 24.3641 14.8239L32.6974 23.5781C32.9699 23.8644 33.1181 24.2461 33.1248 24.6364C33.1314 25.0267 32.9963 25.4131 32.7348 25.7089L24.4015 35.1365C23.8406 35.7709 22.8872 35.7923 22.3019 35.1765C21.7461 34.5919 21.7321 33.6496 22.2652 33.0465L29.6399 24.7034L22.3026 16.9954C21.7464 16.4112 21.7319 15.4689 22.2645 14.8655ZM23.3305 15.6256C23.2942 15.6264 23.247 15.6413 23.2016 15.6927C23.0958 15.8126 23.1011 16.0214 23.208 16.1336L30.9406 24.2568C31.1643 24.4917 31.171 24.8586 30.9562 25.1016L23.2017 33.8744C23.0959 33.9942 23.101 34.2029 23.2079 34.3153C23.2536 34.3634 23.2999 34.3763 23.3361 34.3756C23.3724 34.3748 23.4195 34.36 23.4649 34.3086L31.7983 24.881C31.8438 24.8295 31.8765 24.7497 31.8749 24.6577C31.8734 24.5656 31.838 24.4883 31.792 24.44L23.4587 15.6858C23.4129 15.6377 23.3666 15.6249 23.3305 15.6256Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2016 15.6927C23.247 15.6413 23.2942 15.6264 23.3305 15.6256C23.3666 15.6249 23.4129 15.6377 23.4587 15.6858L31.792 24.44C31.838 24.4883 31.8734 24.5656 31.8749 24.6577C31.8765 24.7497 31.8438 24.8295 31.7983 24.881L23.4649 34.3086C23.4195 34.36 23.3724 34.3748 23.3361 34.3756C23.2999 34.3763 23.2536 34.3634 23.2079 34.3153C23.101 34.2029 23.0959 33.9942 23.2017 33.8744L30.9562 25.1016C31.171 24.8586 31.1643 24.4917 30.9406 24.2568L23.208 16.1336C23.1011 16.0214 23.0958 15.8126 23.2016 15.6927Z\",\n fill: color\n }));\n});\nexport default ArrowSidebarRightOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Annotation = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.5577 38.9423H34.8557C31.8069 38.9423 29.327 41.4224 29.327 44.4712C29.327 45.9293 28.1406 47.1157 26.6827 47.1157H5.52902C4.07066 47.1157 2.88467 45.9293 2.88467 44.4712V42.5459C2.88467 41.0886 4.07028 39.9025 5.5275 39.9018L9.33952 39.8999C9.34067 39.8999 9.34219 39.8995 9.34334 39.8995C9.38683 39.8995 9.43031 39.8968 9.47418 39.893C9.49211 39.8915 9.50966 39.8884 9.52759 39.8861C9.54628 39.8835 9.56535 39.8819 9.58405 39.8789L19.7636 38.1229C19.7689 38.1217 19.7739 38.1206 19.7788 38.1195C19.7948 38.1164 19.8105 38.113 19.8261 38.1095C19.8517 38.1038 19.8769 38.0981 19.9017 38.0908C19.9192 38.0863 19.9368 38.0809 19.9543 38.0756C19.9776 38.068 20.0008 38.0599 20.0241 38.0512C20.0409 38.0447 20.0581 38.039 20.0748 38.0321C20.1107 38.0168 20.1458 38.0008 20.1805 37.9829C20.1942 37.9756 20.208 37.9672 20.2217 37.9596C20.2461 37.9459 20.2702 37.9321 20.2938 37.9169C20.3083 37.9077 20.3228 37.8978 20.3373 37.8879C20.3602 37.8719 20.3831 37.8551 20.4052 37.8375C20.417 37.8284 20.4292 37.8192 20.4411 37.8093C20.4746 37.7815 20.5074 37.7525 20.5383 37.7212L46.2479 12.0109C48.3097 9.94895 48.3097 6.59377 46.2479 4.53146L43.2632 1.54708C41.2014 -0.515234 37.846 -0.514853 35.7841 1.54708L10.075 27.2574C10.0437 27.2883 10.0147 27.3215 9.9865 27.355C9.97696 27.3665 9.9678 27.3783 9.95865 27.3901C9.9411 27.4127 9.92432 27.4355 9.90829 27.4588C9.89838 27.4729 9.88846 27.4874 9.8793 27.5019C9.86443 27.5252 9.85069 27.5488 9.83734 27.5729C9.82857 27.5885 9.81941 27.6042 9.81102 27.6198C9.79424 27.653 9.77898 27.6862 9.76448 27.7205C9.75723 27.7377 9.75113 27.7556 9.74426 27.7732C9.73625 27.7953 9.72824 27.8178 9.72099 27.8403C9.71527 27.8586 9.70993 27.8769 9.70497 27.8952C9.69849 27.9189 9.69276 27.9429 9.68742 27.9673C9.68361 27.9841 9.67979 28.0009 9.67674 28.0177C9.6756 28.0226 9.67445 28.0272 9.67369 28.0318L8.12378 37.0158L5.52597 37.017C2.47879 37.0185 0 39.4989 0 42.5459V44.4712C0 47.5201 2.48032 50.0005 5.52902 50.0005H26.6827C29.7314 50.0005 32.2117 47.5201 32.2117 44.4712C32.2117 43.0132 33.3977 41.8267 34.8557 41.8267H48.5577C49.3542 41.8267 50 41.1813 50 40.3847C50 39.5878 49.3542 38.9423 48.5577 38.9423ZM12.043 31.2653L16.5306 35.7531L11.1076 36.6885L12.043 31.2653ZM33.5567 7.85382L35.7288 10.026L15.3065 30.4493L13.1344 28.2771L33.5567 7.85382ZM19.5183 34.6613L17.3462 32.4891L37.7689 12.0658L39.941 14.238L19.5183 34.6613ZM37.8239 3.58651C38.7611 2.64958 40.2859 2.64958 41.2235 3.58651L44.2078 6.57126C45.145 7.50858 45.145 9.03376 44.2078 9.97108L41.9804 12.1986L35.5965 5.81401L37.8239 3.58651Z\",\n fill: color\n }));\n});\nexport default Annotation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Rotate90 = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.4326 40.0282C46.1217 40.5666 45.6098 40.9595 45.0093 41.1204C44.4088 41.2813 43.7691 41.197 43.2307 40.8862C42.6923 40.5754 42.2995 40.0634 42.1386 39.463C41.9777 38.8625 42.0619 38.2227 42.3727 37.6843C45.2819 32.6454 46.0703 26.6571 44.5644 21.0369C43.0584 15.4167 39.3816 10.6249 34.3426 7.71563C25.1427 2.4043 13.7736 4.38306 6.93632 12.1744L14.5457 12.0831H14.5744C15.196 12.0795 15.7937 12.3229 16.2358 12.7599C16.678 13.1969 16.9284 13.7916 16.9321 14.4133C16.9357 15.0349 16.6923 15.6326 16.2553 16.0747C15.8183 16.5169 15.2236 16.7673 14.6019 16.771L2.37222 16.9175H2.34409C2.03391 16.9175 1.72681 16.856 1.44059 16.7364C1.15437 16.6169 0.894721 16.4417 0.676697 16.2211C0.458674 16.0004 0.28661 15.7387 0.170478 15.4511C0.0543471 15.1635 -0.00354164 14.8557 0.000167612 14.5455L0.147346 2.31591C0.151046 2.00811 0.215338 1.70404 0.336549 1.42108C0.457761 1.13812 0.633519 0.881802 0.853788 0.666765C1.07406 0.451728 1.33453 0.282182 1.62032 0.167807C1.90611 0.0534328 2.21164 -0.00353076 2.51944 0.000169355C2.82725 0.00386947 3.13132 0.0681609 3.41428 0.189372C3.69724 0.310584 3.95356 0.486342 4.16859 0.706611C4.38363 0.926881 4.55318 1.18735 4.66755 1.47314C4.78193 1.75894 4.83889 2.06446 4.83519 2.37227L4.77171 7.65586C9.37537 3.16334 15.4496 0.489016 21.8718 0.127065C28.2941 -0.234886 34.6303 1.74001 39.7096 5.6868C44.7889 9.63359 48.2679 15.2855 49.5038 21.5981C50.7397 27.9107 49.6485 34.4574 46.4326 40.0282Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 28C26.6569 28 28 26.6569 28 25C28 23.3431 26.6569 22 25 22C23.3431 22 22 23.3431 22 25C22 26.6569 23.3431 28 25 28ZM25 32C28.866 32 32 28.866 32 25C32 21.134 28.866 18 25 18C21.134 18 18 21.134 18 25C18 28.866 21.134 32 25 32Z\",\n fill: color\n }));\n});\nexport default Rotate90;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export var Size = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { Size } from './types';\nvar baseClassName = 'CrossButton';\nvar crossButtonPaddingMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Size.Xs, css([\"padding:5px;height:20px;\"])), Size.Sm, css([\"padding:6px;height:24px;\"])), Size.Md, css([\"padding:9px;\"])), Size.Lg, css([\"padding:12px;\"]));\nvar CrossButton = /*#__PURE__*/styled.button.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-ygfku-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Lg : _ref$size,\n theme = _ref.theme;\n return css([\"display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:4px;\", \" color:\", \";background:transparent;border:none;transition:all 100ms ease-out;&:hover{color:\", \";background:\", \";}&:active{color:\", \";background:\", \";}\"], crossButtonPaddingMixin[size], theme.palette[PaletteColor.IconsSecondary], theme.palette[PaletteColor.IconsPrimary], theme.palette[PaletteColor.BackgroundHover], theme.palette[PaletteColor.IconsPrimaryHover], theme.palette[PaletteColor.BackgroundActive]);\n});\nvar Styled = applyDisplayNames({\n CrossButton: CrossButton\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"size\"];\nimport React from 'react';\nimport CrossOutline from '@scaleflex/icons/cross-outline';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './cross-button.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Lg:\n return 16;\n case Size.Xs:\n return 10;\n case Size.Sm:\n default:\n return 12;\n }\n};\nvar CrossButton = intrinsicComponent(function (_ref, ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Lg : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.CrossButton, _extends({\n type: \"button\",\n size: size\n }, rest, {\n ref: ref\n }), /*#__PURE__*/React.createElement(CrossOutline, {\n size: getIconSize(size)\n }));\n});\nexport default CrossButton;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport InputStyled from '../input/input.styles';\nimport { fontSizeInputMixin } from '../input/input.mixin';\nimport { Size } from '../menu-item/types';\nimport CrossButton from '../cross-button/cross-button.component';\nvar baseClassName = 'Select';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-mfrapg-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette,\n size = _ref.size,\n disabled = _ref.disabled;\n return css([\"display:flex;flex-shrink:0;color:\", \";padding:\", \";\"], disabled ? palette[PColor.IconsMuted] : palette[PColor.IconsPrimary], size === Size.Md ? '2.5px' : '2px');\n});\nvar TickIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'tickIcon')\n}).withConfig({\n componentId: \"sc-mfrapg-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"color:\", \";\"], palette[PColor.AccentStateless]);\n});\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-mfrapg-2\"\n})(function (_ref3) {\n var _ref3$fullWidth = _ref3.fullWidth,\n fullWidth = _ref3$fullWidth === void 0 ? false : _ref3$fullWidth;\n return css([\"position:relative;display:inline-flex;\", \"\"], fullWidth ? 'width: 100%' : '');\n});\nvar StyledCrossButton = /*#__PURE__*/styled(CrossButton).attrs({\n className: generateClassNames(baseClassName, 'CrossButton')\n}).withConfig({\n componentId: \"sc-mfrapg-3\"\n})(function () {\n return css([\"display:none;margin-right:6px;\"]);\n});\nvar Select = /*#__PURE__*/styled(InputStyled.Input).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-mfrapg-4\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette,\n disabled = _ref4.disabled,\n readOnly = _ref4.readOnly,\n _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? 'sm' : _ref4$size,\n isValueExists = _ref4.isValueExists;\n return css([\"cursor:\", \";user-select:none;gap:0px;background:\", \";\", \" \", \";\"], disabled || readOnly ? 'default' : 'pointer', disabled ? palette[PColor.BackgroundHover] : palette[PColor.BackgroundStateless], isValueExists && \"\\n &:hover {\\n \".concat(StyledCrossButton, \" {\\n display: flex;\\n }\\n }\\n \"), fontSizeInputMixin[size]);\n});\nvar Label = /*#__PURE__*/styled.label.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-mfrapg-5\"\n})(function (_ref5) {\n var hideEllipsis = _ref5.hideEllipsis,\n _ref5$size = _ref5.size,\n size = _ref5$size === void 0 ? Size.Md : _ref5$size;\n return \"\\n flex-grow: 1;\\n margin-right: \".concat(size === Size.Md ? 8 : 12, \"px;\\n\\n \").concat(!hideEllipsis && css([\"white-space:nowrap;text-overflow:ellipsis;overflow:hidden;\"]), \"\\n \");\n});\nvar Placeholder = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Placeholder')\n}).withConfig({\n componentId: \"sc-mfrapg-6\"\n})(function (_ref6) {\n var palette = _ref6.theme.palette,\n size = _ref6.size;\n return css([\"width:100%;color:\", \";margin-right:\", \"px;\"], palette[PColor.TextPlaceholder], size === Size.Md ? 16 : 12);\n});\nvar Input = /*#__PURE__*/styled.input.attrs({\n className: generateClassNames(baseClassName, 'Input'),\n 'aria-hidden': 'true'\n}).withConfig({\n componentId: \"sc-mfrapg-7\"\n})([\"left:0;width:100%;bottom:0;opacity:0;position:absolute;pointer-events:none;box-sizing:border-box;\"]);\nvar Styled = applyDisplayNames({\n Container: Container,\n Select: Select,\n Label: Label,\n Icon: Icon,\n TickIcon: TickIcon,\n Input: Input,\n Placeholder: Placeholder,\n StyledCrossButton: StyledCrossButton\n});\nexport default Styled;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { Tick } from '@scaleflex/icons';\nimport { MenuItemActions, MenuItemLabel } from '../menu-item';\nimport { InputSize } from '../../utils/types';\nimport Styled from './select.styles';\nexport var getIconSize = function getIconSize(size) {\n switch (size) {\n case InputSize.Md:\n return 16;\n case InputSize.Sm:\n default:\n return 14;\n }\n};\nvar generateChildren = function generateChildren(children) {\n var isActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var size = arguments.length > 2 ? arguments[2] : undefined;\n var hideMenuItemsActions = arguments.length > 3 ? arguments[3] : undefined;\n var miChildren = /*#__PURE__*/React.createElement(MenuItemLabel, null, children);\n if (isActive && children) {\n var miActions = /*#__PURE__*/React.createElement(MenuItemActions, null, /*#__PURE__*/React.createElement(Styled.TickIcon, null, /*#__PURE__*/React.createElement(Tick, {\n size: getIconSize(size)\n })));\n if (React.Children.count(children) === 1) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, miChildren, !hideMenuItemsActions && miActions);\n }\n if (React.Children.count(children) > 1 && !React.Children.toArray(children).some(function (child) {\n var _child$type;\n return (child === null || child === void 0 || (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'MenuItemActions';\n })) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children, miActions);\n }\n }\n return miChildren;\n};\nexport var renderOption = function renderOption(menuItem, _ref) {\n var _type, _props, _props2, _props3;\n var value = _ref.value,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n onClose = _ref.onClose,\n onChange = _ref.onChange;\n if (! /*#__PURE__*/React.isValidElement(menuItem)) {\n return menuItem;\n }\n if (((_type = menuItem.type) === null || _type === void 0 ? void 0 : _type.displayName) !== 'MenuItem') {\n return /*#__PURE__*/React.cloneElement(menuItem);\n }\n var menuItemValue = menuItem === null || menuItem === void 0 || (_props = menuItem.props) === null || _props === void 0 ? void 0 : _props.value;\n var valueArr = multiple ? Array.isArray(value) ? value : [] : [value];\n var active = valueArr.length > 0 && valueArr.includes(menuItemValue);\n var isDisabledMenuItem = menuItem === null || menuItem === void 0 || (_props2 = menuItem.props) === null || _props2 === void 0 ? void 0 : _props2.disabled;\n return /*#__PURE__*/React.cloneElement(menuItem, {\n active: active,\n size: size,\n children: generateChildren(menuItem === null || menuItem === void 0 || (_props3 = menuItem.props) === null || _props3 === void 0 ? void 0 : _props3.children, active, size, hideMenuItemsActions),\n onClick: function onClick() {\n var _menuItemValue$toStri;\n if (!multiple && typeof onClose === 'function') {\n onClose();\n }\n if (typeof onChange === 'function' && !isDisabledMenuItem && !!(menuItemValue !== null && menuItemValue !== void 0 && (_menuItemValue$toStri = menuItemValue.toString()) !== null && _menuItemValue$toStri !== void 0 && _menuItemValue$toStri.length)) {\n var newValue = menuItemValue;\n if (multiple) {\n newValue = _toConsumableArray(Array.isArray(value) ? value : []);\n var index = newValue.indexOf(menuItemValue);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(menuItemValue);\n }\n }\n onChange(newValue);\n }\n }\n });\n};\nvar getOptionValue = function getOptionValue(option) {\n var children = option.props ? option.props.children : option;\n if (Array.isArray(children)) return children.map(function (child) {\n return getOptionValue(child);\n }).join(' ');\n if (_typeof(children) === 'object') return getOptionValue(children.props.children);\n return children;\n};\nvar renderOptionValue = function renderOptionValue(option, showSelectionKey) {\n if (option && option.children) {\n var child = showSelectionKey ? option.value : option.children;\n while (typeof child !== 'string') {\n if (Array.isArray(child)) {\n child = getOptionValue(child[1]);\n } else {\n child = getOptionValue(child);\n }\n }\n return child;\n }\n};\nexport var renderValue = function renderValue(_ref2) {\n var value = _ref2.value,\n _ref2$multiple = _ref2.multiple,\n multiple = _ref2$multiple === void 0 ? false : _ref2$multiple,\n children = _ref2.children,\n _ref2$showSelectionKe = _ref2.showSelectionKey,\n showSelectionKey = _ref2$showSelectionKe === void 0 ? false : _ref2$showSelectionKe;\n var optionsProps = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _ref3 = (child === null || child === void 0 ? void 0 : child.type) || {},\n displayName = _ref3.displayName;\n if (displayName === 'MenuItem' && Boolean(child.props)) {\n optionsProps.push(_objectSpread({}, child.props));\n }\n }\n });\n var activeOptions = multiple ? optionsProps.filter(function (itemProps) {\n return Array.isArray(value) && value.includes(itemProps.value);\n }) : [optionsProps.find(function (itemProps) {\n return itemProps.value === value;\n })];\n if (activeOptions.length > 0) {\n return activeOptions.map(function (option) {\n return renderOptionValue(option, showSelectionKey);\n }).join(', ');\n }\n return Array.isArray(value) ? value.join(', ') : value;\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"error\", \"multiple\", \"onChange\", \"value\", \"fullWidth\", \"selectProps\", \"MenuProps\", \"readOnly\", \"disabled\", \"placeholder\", \"showSelectionKey\", \"hideMenuItemsActions\", \"showClearIcon\", \"renderLabel\", \"onRequestClose\", \"hideEllipsis\"];\nimport React, { useState } from 'react';\nimport PT from 'prop-types';\nimport { intrinsicComponent } from '../../utils/functions';\nimport ArrowTick from '../arrow-tick';\nimport Menu from '../menu';\nimport { renderValue, renderOption } from './select.utils';\nimport { InputSize } from '../../utils/types';\nimport Styled from './select.styles';\nimport { Size } from '../cross-button/types';\nvar Select = intrinsicComponent(function (_ref, ref) {\n var _value$toString;\n var children = _ref.children,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n onChange = _ref.onChange,\n value = _ref.value,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n selectProps = _ref.selectProps,\n MenuProps = _ref.MenuProps,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n disabled = _ref.disabled,\n placeholder = _ref.placeholder,\n showSelectionKey = _ref.showSelectionKey,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n _ref$showClearIcon = _ref.showClearIcon,\n showClearIcon = _ref$showClearIcon === void 0 ? false : _ref$showClearIcon,\n renderLabel = _ref.renderLabel,\n onRequestClose = _ref.onRequestClose,\n _ref$hideEllipsis = _ref.hideEllipsis,\n hideEllipsis = _ref$hideEllipsis === void 0 ? false : _ref$hideEllipsis,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(undefined),\n _useState2 = _slicedToArray(_useState, 2),\n anchorEl = _useState2[0],\n setAnchorEl = _useState2[1];\n var open = Boolean(anchorEl);\n var handleClick = function handleClick(event) {\n return setAnchorEl(event.currentTarget);\n };\n var isValueExists = Array.isArray(value) ? !!value.length : !!(value !== null && value !== void 0 && (_value$toString = value.toString()) !== null && _value$toString !== void 0 && _value$toString.length);\n var handleClose = function handleClose() {\n if (onRequestClose) {\n onRequestClose();\n }\n setAnchorEl(undefined);\n };\n var handleClearSelection = function handleClearSelection(event) {\n event.stopPropagation();\n if (typeof onChange === 'function') {\n onChange('');\n }\n };\n return /*#__PURE__*/React.createElement(Styled.Container, {\n ref: ref,\n fullWidth: Boolean(fullWidth)\n }, /*#__PURE__*/React.createElement(Styled.Select, _extends({}, rest, {\n disabled: disabled,\n size: size,\n $error: error,\n $fullWidth: Boolean(fullWidth),\n readOnly: readOnly,\n showSelectionKey: showSelectionKey,\n isValueExists: isValueExists,\n onClick: readOnly || disabled ? undefined : handleClick\n }), isValueExists && /*#__PURE__*/React.createElement(Styled.Label, {\n hideEllipsis: hideEllipsis,\n size: size\n }, typeof renderLabel === 'function' ? renderLabel(value) : renderValue({\n value: value,\n multiple: multiple,\n children: children,\n showSelectionKey: showSelectionKey\n })), !isValueExists && /*#__PURE__*/React.createElement(Styled.Placeholder, {\n size: size\n }, placeholder), !readOnly && showClearIcon && /*#__PURE__*/React.createElement(Styled.StyledCrossButton, {\n size: size === Size.Md ? Size.Sm : Size.Xs,\n onClick: handleClearSelection\n }), /*#__PURE__*/React.createElement(Styled.Icon, {\n size: size,\n disabled: disabled\n }, /*#__PURE__*/React.createElement(ArrowTick, {\n type: open ? 'top' : 'bottom',\n IconProps: {\n size: size === Size.Md ? 11 : 10\n }\n })), /*#__PURE__*/React.createElement(Styled.Input, selectProps)), /*#__PURE__*/React.createElement(Menu, _extends({\n onClose: handleClose\n }, MenuProps, {\n open: open,\n anchorEl: anchorEl\n }), React.Children.map(children, function (child) {\n return renderOption(child, {\n value: value,\n multiple: multiple,\n size: size,\n hideMenuItemsActions: hideMenuItemsActions,\n onClose: handleClose,\n onChange: readOnly || disabled ? undefined : onChange\n });\n })));\n});\nexport var simpleValuePropTypes = PT.oneOfType([PT.string, PT.number, PT.oneOf([null])]);\nexport default Select;","function useDrag(onMove, onStart, onEnd) {\n var onDragging = function onDragging(e) {\n if (typeof onMove === 'function') {\n var _e$touches;\n onMove(((_e$touches = e.touches) === null || _e$touches === void 0 ? void 0 : _e$touches[0]) || e);\n }\n };\n var disableSliding = function disableSliding(e) {\n document.removeEventListener('mousemove', onDragging);\n document.removeEventListener('mouseup', disableSliding);\n document.removeEventListener('mouseleave', disableSliding);\n document.removeEventListener('touchmove', onDragging);\n document.removeEventListener('touchend', disableSliding);\n document.removeEventListener('touchcancel', disableSliding);\n if (typeof onEnd === 'function') {\n var _e$touches2;\n onEnd(((_e$touches2 = e.touches) === null || _e$touches2 === void 0 ? void 0 : _e$touches2[0]) || e);\n }\n };\n var enableDrag = function enableDrag(e) {\n document.addEventListener('mousemove', onDragging);\n document.addEventListener('mouseup', disableSliding);\n document.addEventListener('mouseleave', disableSliding);\n document.addEventListener('touchmove', onDragging);\n document.addEventListener('touchend', disableSliding);\n document.addEventListener('touchcancel', disableSliding);\n if (typeof onStart === 'function') {\n var _e$touches3;\n onStart(((_e$touches3 = e.touches) === null || _e$touches3 === void 0 ? void 0 : _e$touches3[0]) || e);\n }\n };\n return {\n onMouseDown: enableDrag,\n onTouchStart: enableDrag\n };\n}\nexport default useDrag;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nvar baseClassName = 'ColorPicker';\nvar colorItemClassName = 'ColorItem';\nvar ColorPickerWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-qj4xo5-0\"\n})([\"background-color:\", \";box-shadow:0px 1px 2px rgba(78,77,77,0.15);border-radius:2px;padding:12px;max-width:300px;\"], function (_ref) {\n var theme = _ref.theme;\n return theme.palette[PColor.BackgroundSecondary];\n});\nvar ColorPickerIcon = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-qj4xo5-1\"\n})([\"display:flex;justify-content:space-between;align-items:center;cursor:pointer;\"]);\nvar RangePickerWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'range-picker')\n}).withConfig({\n componentId: \"sc-qj4xo5-2\"\n})(function (_ref2) {\n var color = _ref2.color;\n return css([\"position:relative;border-radius:2px;width:100%;height:180px;user-select:none;cursor:crosshair;background-color:\", \";\"], color);\n});\nvar WhiteGradient = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'white-gradient')\n}).withConfig({\n componentId: \"sc-qj4xo5-3\"\n})([\"background:linear-gradient(to right,white 0%,rgba(255,255,255,0) 100%);z-index:0;position:absolute;width:100%;height:100%;border-radius:2px;user-select:none;pointer-events:none;top:-1px;\"]);\nvar BlackGradient = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'black-gradient')\n}).withConfig({\n componentId: \"sc-qj4xo5-4\"\n})([\"background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,black 100%);z-index:1;position:absolute;width:100%;height:100%;border-radius:2px;user-select:none;pointer-events:none;\"]);\nvar ColorPointer = /*#__PURE__*/styled.span.attrs(function (_ref3) {\n var _ref3$left = _ref3.left,\n left = _ref3$left === void 0 ? 0 : _ref3$left,\n _ref3$top = _ref3.top,\n top = _ref3$top === void 0 ? 0 : _ref3$top,\n _ref3$considerTopWidt = _ref3.considerTopWidth,\n considerTopWidth = _ref3$considerTopWidt === void 0 ? false : _ref3$considerTopWidt,\n style = _ref3.style;\n return {\n className: generateClassNames(baseClassName, 'pointer'),\n style: _objectSpread({\n left: left - 7,\n // 7\n top: top - (considerTopWidth ? 7 : 0)\n }, style)\n };\n}).withConfig({\n componentId: \"sc-qj4xo5-5\"\n})(function (_ref4) {\n var theme = _ref4.theme,\n pointerColor = _ref4.pointerColor;\n return css([\"display:inline-block;box-sizing:border-box;width:15px;height:15px;border-radius:20px;box-shadow:0px 1px 2px rgba(78,77,77,0.15);border:2px solid \", \";background-color:\", \";position:absolute;cursor:pointer;z-index:11;user-select:none;outline:none;\"], theme.palette[PColor.BackgroundSecondary], pointerColor);\n});\nvar BarWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'bar-wrapper')\n}).withConfig({\n componentId: \"sc-qj4xo5-6\"\n})([\"margin-top:8px;position:relative;width:100%;height:12px;\"]);\nvar Bar = /*#__PURE__*/styled.table.attrs({\n className: generateClassNames(baseClassName, 'bar')\n}).withConfig({\n componentId: \"sc-qj4xo5-7\"\n})([\"border-radius:4px;width:100%;height:8px;border-collapse:collapse;\"]);\nvar BarColorStop = /*#__PURE__*/styled.td.attrs(function (_ref5) {\n var $color = _ref5.$color;\n return {\n className: generateClassNames(baseClassName, 'stop'),\n style: {\n backgroundColor: $color\n }\n };\n}).withConfig({\n componentId: \"sc-qj4xo5-8\"\n})([\"padding:0;user-select:none;pointer-events:none;&:first-child{width:4px;border-top-left-radius:4px;border-bottom-left-radius:4px;}&:last-child{width:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;}\"]);\nvar ColorPickerAction = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'action')\n}).withConfig({\n componentId: \"sc-qj4xo5-9\"\n})([\"display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;\"]);\nvar ColorItemWrapper = /*#__PURE__*/styled.label.attrs({\n className: generateClassNames(colorItemClassName, 'label')\n}).withConfig({\n componentId: \"sc-qj4xo5-10\"\n})(function (_ref6) {\n var theme = _ref6.theme,\n size = _ref6.size,\n color = _ref6.color,\n stroke = _ref6.stroke,\n value = _ref6.value;\n return css([\"border-radius:2px;border:\", \";box-sizing:border-box;width:\", \"px;height:\", \"px;background-color:\", \";user-select:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 300ms;margin-bottom:8px;background:\", \";input{display:none;}\"], \"1px solid \".concat(stroke), size, size, color, value === 'rgba(0,0,0,0)' && \"repeating-conic-gradient(\".concat(theme.palette[PColor.LinkPrimary], \" 0% 25%, transparent 0% 50%) 50% / 8px 8px\"));\n});\nvar ColorItemsContainer = /*#__PURE__*/styled.div.withConfig({\n componentId: \"sc-qj4xo5-11\"\n})([\"display:flex;flex-wrap:wrap;align-content:space-between;margin-top:14px;margin-left:12px;& > .item{margin-right:8px;display:flex;justify-content:center;}\"]);\nvar Select = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'select')\n}).withConfig({\n componentId: \"sc-qj4xo5-12\"\n})(function (_ref7) {\n var value = _ref7.value;\n return css([\"width:\", \";\"], value === 'rgb' ? '25%' : '35%');\n});\nvar SelectWrapper = /*#__PURE__*/styled.div.withConfig({\n componentId: \"sc-qj4xo5-13\"\n})({\n display: 'flex',\n alignItems: 'center',\n gap: '12px'\n});\nvar Styled = applyDisplayNames({\n ColorPickerWrapper: ColorPickerWrapper,\n RangePickerWrapper: RangePickerWrapper,\n WhiteGradient: WhiteGradient,\n BlackGradient: BlackGradient,\n ColorPointer: ColorPointer,\n BarWrapper: BarWrapper,\n Bar: Bar,\n BarColorStop: BarColorStop,\n ColorPickerAction: ColorPickerAction,\n ColorPickerIcon: ColorPickerIcon,\n ColorItemsContainer: ColorItemsContainer,\n ColorItemWrapper: ColorItemWrapper,\n Select: Select,\n SelectWrapper: SelectWrapper\n});\nexport default Styled;","import React, { useMemo } from 'react';\nimport Tick from '@scaleflex/icons/tick';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './color-picker.styles';\nvar ColorItem = intrinsicComponent(function (_ref, ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n checked = _ref.checked,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size;\n var checkIconColor = useMemo(function () {\n if (value === '#ffffff' || value === 'rgba(0,0,0,0)') {\n return 'black';\n }\n return 'white';\n }, [value]);\n return /*#__PURE__*/React.createElement(Styled.ColorItemWrapper, {\n ref: ref,\n color: value,\n size: size,\n stroke: value === 'rgba(0,0,0,0)' ? '#a8a8a8' : '#E9EEF2',\n value: value\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"radio\",\n value: value,\n checked: checked,\n onChange: onChange\n }), checked && /*#__PURE__*/React.createElement(Tick, {\n color: checkIconColor\n }));\n});\nexport default ColorItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"defaultColor\", \"onChange\", \"pinnedColors\", \"showTransparentColor\", \"hidePinIcon\", \"containerProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { PinOutline, DeleteOutline } from '@scaleflex/icons';\nimport Select from '../select';\nimport MenuItem from '../menu-item';\nimport Input from '../input';\nimport useDrag from '../../hooks/use-drag';\nimport { intrinsicComponent, colorToHsl, hexToRgb, hslToHex, hslToHsv, hsvToHsl, restrictNumber, mapNumber, colorToHex, getElemDocumentCoords, rgbToHex, validateHex, rgbStringToArray } from '../../utils/functions';\nimport Styled from './color-picker.styles';\nimport ColorItem from './color-item.component';\nvar transparentColor = ['rgba(0,0,0,0)'];\nvar transparentColorHex = '#00000000';\nvar colorsHuesCount = 360;\nvar ColorPicker = intrinsicComponent(function (_ref, ref) {\n var _ref$defaultColor = _ref.defaultColor,\n defaultColor = _ref$defaultColor === void 0 ? '#000000' : _ref$defaultColor,\n onChange = _ref.onChange,\n _ref$pinnedColors = _ref.pinnedColors,\n pinnedColors = _ref$pinnedColors === void 0 ? [] : _ref$pinnedColors,\n _ref$showTransparentC = _ref.showTransparentColor,\n showTransparentColor = _ref$showTransparentC === void 0 ? false : _ref$showTransparentC,\n _ref$hidePinIcon = _ref.hidePinIcon,\n hidePinIcon = _ref$hidePinIcon === void 0 ? false : _ref$hidePinIcon,\n containerProps = _ref.containerProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var showedColors = showTransparentColor ? transparentColor.concat(pinnedColors) : pinnedColors;\n var isTransparentColor = function isTransparentColor(color) {\n return color === transparentColorHex || color === transparentColor[0];\n };\n var _useState = useState({\n color: '#ff0000',\n pointerLeft: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n bar = _useState2[0],\n setBar = _useState2[1];\n var _useState3 = useState({\n color: isTransparentColor(defaultColor) ? '#00000000' : colorToHex(defaultColor) || '#000000',\n pointer: {\n left: 0,\n top: 0\n }\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n rangePicker = _useState4[0],\n setRangePicker = _useState4[1];\n var _useState5 = useState(showedColors),\n _useState6 = _slicedToArray(_useState5, 2),\n localPinnedColors = _useState6[0],\n setLocalPinnedColors = _useState6[1];\n var _useState7 = useState('hex'),\n _useState8 = _slicedToArray(_useState7, 2),\n inputType = _useState8[0],\n setInputType = _useState8[1];\n var _useState9 = useState([]),\n _useState10 = _slicedToArray(_useState9, 2),\n rgbColorValue = _useState10[0],\n setRgbColorValue = _useState10[1];\n var _useState11 = useState(colorToHex(rangePicker.color)),\n _useState12 = _slicedToArray(_useState11, 2),\n hexInputValue = _useState12[0],\n setHexInputValue = _useState12[1];\n var _useState13 = useState(null),\n _useState14 = _slicedToArray(_useState13, 2),\n barRef = _useState14[0],\n setBarRef = _useState14[1];\n var _useState15 = useState(null),\n _useState16 = _slicedToArray(_useState15, 2),\n rangePickerRef = _useState16[0],\n setRangePickerRef = _useState16[1];\n var isColorChecked = function isColorChecked(checkedColor) {\n if (checkedColor === transparentColor[0] && rangePicker.color === transparentColorHex) {\n return true;\n }\n return checkedColor === rangePicker.color;\n };\n var filterTransparentColor = function filterTransparentColor(colors) {\n return colors.filter(function (item) {\n return item !== 'rgba(0,0,0,0)';\n });\n };\n var getRgbColor = function getRgbColor(color) {\n return isTransparentColor(color) ? transparentColor[0] : \"rgb(\".concat(hexToRgb(color).join(', '), \")\");\n };\n var handlePinnedColors = function handlePinnedColors(hexColor, type) {\n if (type === 'add') {\n var newLocalPinnedColors = [].concat(_toConsumableArray(localPinnedColors), [hexColor]);\n setLocalPinnedColors(newLocalPinnedColors);\n if (typeof onChange === 'function') {\n onChange(rangePicker.color, getRgbColor(hexColor), filterTransparentColor(newLocalPinnedColors));\n }\n } else {\n var _newLocalPinnedColors = localPinnedColors.filter(function (item) {\n return item !== rangePicker.color;\n });\n setLocalPinnedColors(_newLocalPinnedColors);\n if (typeof onChange === 'function') {\n onChange(rangePicker.color, getRgbColor(hexColor), filterTransparentColor(_newLocalPinnedColors));\n }\n }\n };\n var changeBarPosByColor = function changeBarPosByColor(color) {\n if (barRef !== null) {\n var _ref2 = getElemDocumentCoords(barRef),\n left = _ref2.left;\n var _colorToHsl = colorToHsl(color || rangePicker.color),\n _colorToHsl2 = _slicedToArray(_colorToHsl, 1),\n h = _colorToHsl2[0];\n var targetColorElem = barRef.querySelector(\"[data-hue='\".concat(h, \"']\"));\n if (targetColorElem !== null) {\n var targetColorRgb = targetColorElem.style.backgroundColor || bar.color;\n setBar({\n color: targetColorRgb,\n pointerLeft: getElemDocumentCoords(targetColorElem).left - left || bar.pointerLeft\n });\n }\n }\n };\n var handleRgbInput = function handleRgbInput(value, index) {\n if (value > 255 || Number.isNaN(value)) {\n return;\n }\n var rgbArr = rgbColorValue;\n rgbArr[index] = value;\n var newHexColor = rgbToHex.apply(void 0, _toConsumableArray(rgbArr));\n setRgbColorValue(_toConsumableArray(rgbArr));\n if (validateHex(newHexColor)) {\n setRangePicker(_objectSpread(_objectSpread({}, rangePicker), {}, {\n color: newHexColor\n }));\n changeBarPosByColor(newHexColor);\n changeRangePickerPointerPosByColor(newHexColor);\n }\n };\n var updateRgb = function updateRgb(color) {\n if (color.includes('rgb')) {\n setRgbColorValue(rgbStringToArray(color));\n } else {\n setRgbColorValue(hexToRgb(color));\n }\n };\n var getHexColor = function getHexColor(color) {\n return isTransparentColor(color) ? transparentColorHex : color;\n };\n var changeRangePickerPointerPosByColor = function changeRangePickerPointerPosByColor(color) {\n if (rangePickerRef !== null) {\n var _ref3 = getElemDocumentCoords(rangePickerRef),\n width = _ref3.width,\n height = _ref3.height;\n var colorHsl = colorToHsl(color);\n var colorHsv = hslToHsv(colorHsl[0], colorHsl[1] / 100, colorHsl[2] / 100);\n var left = mapNumber(colorHsv[1], 0, 100, 0, width);\n var top = height - mapNumber(colorHsv[2], 0, 100, 0, height);\n setRangePicker({\n color: getHexColor(color),\n pointer: {\n left: left,\n top: top\n }\n });\n changeBarPosByColor(color);\n updateRgb(color);\n if (typeof onChange === 'function') {\n onChange(getHexColor(color), getRgbColor(color), filterTransparentColor(localPinnedColors));\n }\n }\n };\n var changeRangePickerColorByPosition = function changeRangePickerColorByPosition(left, top, barColor) {\n if (rangePickerRef !== null) {\n var _ref4 = getElemDocumentCoords(rangePickerRef),\n width = _ref4.width,\n height = _ref4.height;\n var _colorToHsl3 = colorToHsl(barColor),\n _colorToHsl4 = _slicedToArray(_colorToHsl3, 1),\n barColorHue = _colorToHsl4[0];\n var restrictedLeft = restrictNumber(left, 0, width) || 0;\n var restrictedTop = restrictNumber(top, 0, height) || 0;\n var hsl = hsvToHsl(barColorHue, restrictedLeft / width, (height - restrictedTop) / height);\n var hexColor = hslToHex(hsl[0], hsl[1], hsl[2]);\n setRangePicker({\n color: hexColor,\n pointer: {\n left: restrictedLeft,\n top: restrictedTop\n }\n });\n if (typeof onChange === 'function') {\n onChange(hexColor, \"rgb(\".concat(hexToRgb(hexColor).join(', '), \")\"), filterTransparentColor(localPinnedColors));\n }\n }\n };\n var changeBarColorByPosition = function changeBarColorByPosition(pointerLeft) {\n var barElem = barRef;\n if (barElem !== null) {\n var _ref5 = getElemDocumentCoords(barElem),\n width = _ref5.width;\n var mappedPointerLeft = restrictNumber(Math.round(mapNumber(pointerLeft, 0, width, 0, colorsHuesCount)), 0, colorsHuesCount);\n var targetColorElem = barElem.querySelector(\"[data-hue='\".concat(mappedPointerLeft, \"']\"));\n var targetColorRgb = targetColorElem.style.backgroundColor;\n setBar({\n color: targetColorRgb,\n pointerLeft: restrictNumber(pointerLeft, 0, width)\n });\n return targetColorRgb;\n }\n return bar.color;\n };\n var updateBarColor = function updateBarColor(e) {\n var barElem = barRef;\n if (barElem !== null) {\n var _e$touches;\n var _ref6 = getElemDocumentCoords(barElem),\n left = _ref6.left;\n var pointerEvent = ((_e$touches = e.touches) === null || _e$touches === void 0 ? void 0 : _e$touches[0]) || e;\n var barColor = changeBarColorByPosition(pointerEvent.pageX - left);\n changeRangePickerColorByPosition(rangePicker.pointer.left, rangePicker.pointer.top, barColor);\n }\n };\n var updateRangePickerColor = function updateRangePickerColor(e) {\n var rangePickerElem = rangePickerRef;\n if (rangePickerElem !== null) {\n var _ref7 = getElemDocumentCoords(rangePickerElem),\n left = _ref7.left,\n top = _ref7.top,\n height = _ref7.height,\n width = _ref7.width;\n var pointerLeft = e ? restrictNumber(e.pageX - left, 0, width) : rangePicker.pointer.left || 0;\n var pointerTop = e ? restrictNumber(e.pageY - top, 0, height) : rangePicker.pointer.left || 0;\n changeRangePickerColorByPosition(pointerLeft, pointerTop, bar.color);\n }\n };\n var moveBarPointerByArrows = function moveBarPointerByArrows(e) {\n if (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight') {\n return;\n }\n changeBarColorByPosition(bar.pointerLeft + (e.key === 'ArrowLeft' ? -1 : 1));\n };\n var moveRangePickerPointerByArrows = function moveRangePickerPointerByArrows(e) {\n var currentDirection = 0;\n if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n currentDirection = -1;\n } else if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n currentDirection = 1;\n }\n if (currentDirection) {\n changeRangePickerColorByPosition((rangePicker.pointer.left || 0) + (['ArrowLeft', 'ArrowRight'].includes(e.key) ? currentDirection : 0), (rangePicker.pointer.top || 0) + (['ArrowUp', 'ArrowDown'].includes(e.key) ? currentDirection : 0), bar.color);\n }\n };\n var validateHexAndUpdate = function validateHexAndUpdate(color) {\n var testHex = validateHex(color);\n if (testHex) {\n changeRangePickerPointerPosByColor(color);\n }\n setHexInputValue(color);\n };\n useEffect(function () {\n changeBarPosByColor(rangePicker.color);\n changeRangePickerPointerPosByColor(rangePicker.color);\n }, [barRef]);\n useEffect(function () {\n setHexInputValue(rangePicker.color);\n updateRgb(rangePicker.color);\n }, [rangePicker.color]);\n var barColors = useMemo(function () {\n return _toConsumableArray(new Array(colorsHuesCount + 1)).map(function (_, h) {\n return /*#__PURE__*/React.createElement(Styled.BarColorStop, {\n key: h,\n $color: \"hsl(\".concat(h, \", 100%, 50%)\"),\n \"data-hue\": h\n });\n });\n }, []);\n var barPointSliding = useDrag(updateBarColor, updateBarColor, null);\n var rangePickerPointSliding = useDrag(updateRangePickerColor, updateRangePickerColor, null);\n return /*#__PURE__*/React.createElement(Styled.ColorPickerWrapper, _extends({\n ref: ref\n }, rest), /*#__PURE__*/React.createElement(Styled.ColorPickerAction, null, /*#__PURE__*/React.createElement(Styled.SelectWrapper, null, /*#__PURE__*/React.createElement(Styled.Select, {\n value: inputType\n }, /*#__PURE__*/React.createElement(Select, {\n size: \"sm\",\n value: inputType,\n MenuProps: _objectSpread({\n zIndex: 11112\n }, containerProps),\n onChange: function onChange(ev) {\n return setInputType(ev);\n },\n fullWidth: true,\n hideEllipsis: true\n }, /*#__PURE__*/React.createElement(MenuItem, {\n value: \"hex\"\n }, \"Hex\"), /*#__PURE__*/React.createElement(MenuItem, {\n value: \"rgb\"\n }, \"RGB\"))), inputType === 'hex' ? /*#__PURE__*/React.createElement(Input, {\n size: \"sm\",\n error: !/^#(?:[0-9a-fA-F]{3,4}){1,2}$/i.test(rangePicker.color),\n value: hexInputValue,\n onChange: function onChange(e) {\n return validateHexAndUpdate(e.target.value);\n },\n style: {\n width: '45%'\n }\n }) : rgbColorValue.map(function (rgb, index) {\n return /*#__PURE__*/React.createElement(Input, {\n key: index,\n size: \"sm\",\n value: rgb,\n onChange: function onChange(e) {\n var _e$target;\n return handleRgbInput(Number((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value), index);\n },\n style: {\n width: '20%'\n }\n });\n })), rangePicker.color !== transparentColorHex && !hidePinIcon && /*#__PURE__*/React.createElement(Styled.ColorPickerIcon, {\n onClick: function onClick() {\n return localPinnedColors.some(function (checkedColor) {\n return isColorChecked(checkedColor);\n }) ? handlePinnedColors(rangePicker.color, 'delete') : handlePinnedColors(rangePicker.color, 'add');\n }\n }, localPinnedColors.some(function (checkedColor) {\n return isColorChecked(checkedColor);\n }) ? /*#__PURE__*/React.createElement(DeleteOutline, null) : /*#__PURE__*/React.createElement(PinOutline, null))), /*#__PURE__*/React.createElement(Styled.RangePickerWrapper, _extends({\n ref: setRangePickerRef,\n color: bar.color\n }, rangePickerPointSliding), /*#__PURE__*/React.createElement(Styled.WhiteGradient, null), /*#__PURE__*/React.createElement(Styled.BlackGradient, null), /*#__PURE__*/React.createElement(Styled.ColorPointer, {\n tabIndex: -1,\n left: rangePicker.pointer.left || 0,\n top: rangePicker.pointer.top || 0,\n onKeyDown: moveRangePickerPointerByArrows,\n pointerColor: hexInputValue,\n considerTopWidth: true\n })), /*#__PURE__*/React.createElement(Styled.BarWrapper, barPointSliding, /*#__PURE__*/React.createElement(Styled.Bar, {\n ref: setBarRef\n }, /*#__PURE__*/React.createElement(\"tbody\", null, /*#__PURE__*/React.createElement(\"tr\", null, barColors))), /*#__PURE__*/React.createElement(Styled.ColorPointer, {\n tabIndex: -1,\n left: bar.pointerLeft,\n onKeyDown: moveBarPointerByArrows,\n considerTopWidth: false,\n pointerColor: hexInputValue,\n style: {\n top: -3\n }\n })), /*#__PURE__*/React.createElement(Styled.ColorItemsContainer, null, localPinnedColors.map(function (color) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"item\",\n key: color\n }, /*#__PURE__*/React.createElement(ColorItem, {\n value: color,\n checked: isColorChecked(color),\n onChange: function onChange(ev) {\n return changeRangePickerPointerPosByColor(ev.target.value);\n }\n }));\n })));\n});\nexport default ColorPicker;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nexport var colorButtonMixin = _defineProperty(_defineProperty(_defineProperty({}, IconButtonColor.Primary, function (_ref) {\n var palette = _ref.theme.palette,\n active = _ref.active;\n return css([\"background-color:\", \";color:\", \";&:hover{background-color:\", \";}&:focus{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity]);\n}), IconButtonColor.Secondary, function (_ref2) {\n var palette = _ref2.theme.palette,\n active = _ref2.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";&:hover{color:\", \";background-color:\", \";}&:focus{background-color:\", \";color:\", \";border:1px solid \", \";}&:active{color:\", \";background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";background-color:\", \";&:hover,&:focus{color:\", \";background-color:\", \";}\"], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity]);\n}), IconButtonColor.Basic, function (_ref3) {\n var palette = _ref3.theme.palette,\n active = _ref3.active;\n return css([\"background-color:transparent;color:\", \";border:none;&:hover{background-color:\", \";color:\", \";}&:focus{background-color:\", \";color:\", \";}&:active{background-color:\", \";color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.IconsPrimary], palette[PaletteColor.BackgroundHover], palette[PaletteColor.IconsPrimaryHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], active && css([\"background-color:\", \";color:\", \";&:hover,&:focus{background-color:\", \";color:\", \";}\"], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive]), palette[PaletteColor.BordersDisabled]);\n});\nexport var squarePaddingMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:6px;\"])), ButtonSize.Sm, css([\"padding:9px;\"])), ButtonSize.Md, css([\"padding:12px;\"])), ButtonSize.Lg, css([\"padding:11px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport ButtonStyled from '../button/button.styles';\nimport { colorButtonMixin, squarePaddingMixin } from './icon-button.mixin';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nvar baseClassName = 'IconButton';\nvar IconButton = /*#__PURE__*/styled(ButtonStyled.Button).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-10edh45-0\"\n})(function (_ref) {\n var theme = _ref.theme,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? IconButtonColor.Secondary : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$$active = _ref.$active,\n $active = _ref$$active === void 0 ? false : _ref$$active;\n return css([\"\", \" \", \"\"], squarePaddingMixin[size], colorButtonMixin[color] ? colorButtonMixin[color]({\n theme: theme,\n active: $active\n }) : colorButtonMixin[IconButtonColor.Basic]({\n theme: theme,\n active: $active\n }));\n});\nvar Styled = applyDisplayNames({\n IconButton: IconButton\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"color\", \"active\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { getIconSize } from '../button/button.utils';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nimport Styled from './icon-button.styles';\nvar IconButton = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? IconButtonColor.Primary : _ref$color,\n _ref$active = _ref.active,\n active = _ref$active === void 0 ? false : _ref$active,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.IconButton, _extends({\n type: \"button\"\n }, rest, {\n size: size,\n color: color,\n $active: active,\n ref: ref\n }), children && (typeof children === 'function' ? children({\n size: getIconSize(size)\n }) : children));\n});\nexport default IconButton;","export var onClickByMouseDown = function onClickByMouseDown(event, callback) {\n event.preventDefault();\n if (event.button !== 0) {\n return;\n }\n if (callback) {\n callback(event);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { InputSize } from '../../utils/types';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant as FV } from '../../utils/types/typography';\nexport var errorMixin = function errorMixin(_ref) {\n var palette = _ref.theme.palette;\n return css([\"background:\", \" !important;border:1px solid \", \" !important;\"], palette[PaletteColor.BackgroundSecondary], palette[PaletteColor.Error]);\n};\nexport var heightTextAreaMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function () {\n return css([\"height:136px;\"]);\n}), InputSize.Md, function () {\n return css([\"height:152px;\"]);\n});\nexport var sizeTextAreaMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"padding:8px 12px;\", \"\"], font[FV.InputMd]);\n}), InputSize.Md, function (_ref3) {\n var font = _ref3.theme.typography.font;\n return css([\"padding:8px 16px;\", \"\"], font[FV.InputLg]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { errorMixin, sizeTextAreaMixin, heightTextAreaMixin } from './textarea.mixin';\nimport { getInputBackgroundColor, getInputTextColor, getInputBorderColor } from '../input/input.utils';\nvar baseClassName = 'Textarea';\nvar Textarea = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1usif6k-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$autoSize = _ref.autoSize,\n autoSize = _ref$autoSize === void 0 ? false : _ref$autoSize,\n theme = _ref.theme;\n return css([\"position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:space-between;cursor:text;box-sizing:border-box;transition:all 100ms ease-out;width:\", \";pointer-events:\", \";background-color:\", \";border-radius:\", \";border:1px solid \", \";color:\", \";\", \" \", \" &:hover{color:\", \";}\", \" \", \"\"], fullWidth ? '100%' : '300px', disabled ? 'none' : 'auto', getInputBackgroundColor(readOnly, disabled), theme.shape.borderRadius[BRSize.Md], getInputBorderColor(readOnly, disabled), disabled ? theme.palette[PColor.TextPlaceholder] : theme.palette[PColor.TextPrimary], heightTextAreaMixin[size], !readOnly && !disabled && css([\"&:focus-within{background-color:\", \"!important;border:1px solid \", \";&:hover{border:1px solid \", \";}}&:hover{background-color:\", \";border:1px solid \", \";}\"], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.AccentStateless], theme.palette[PColor.AccentStateless], theme.palette[PColor.BackgroundStateless], theme.palette[PColor.BordersPrimaryHover]), getInputTextColor(readOnly, disabled), error && errorMixin, autoSize && css([\"width:auto;height:auto;\"]));\n});\nvar Base = /*#__PURE__*/styled.textarea.attrs({\n className: generateClassNames(baseClassName, 'Base')\n}).withConfig({\n componentId: \"sc-1usif6k-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette,\n _ref2$readOnly = _ref2.readOnly,\n readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,\n _ref2$size = _ref2.size,\n size = _ref2$size === void 0 ? InputSize.Md : _ref2$size;\n return css([\"display:block;width:100%;height:100%;color:inherit;outline:none;resize:none;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;font-family:inherit;box-sizing:border-box;flex:1;\", \" \", \";&::placeholder{color:\", \";}::-webkit-scrollbar{width:12px;}::-webkit-scrollbar-track{width:8px;}::-webkit-scrollbar-thumb{background:\", \";border-radius:8px;border:4px solid \", \";}\"], readOnly && \"padding-bottom: 0px;\", sizeTextAreaMixin[size], palette[PColor.TextPlaceholder], palette[PColor.BorderPrimaryStateless], palette[PColor.BackgroundStateless]);\n});\nvar ActionsButtonsWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'ActionsButtonsWrapper')\n}).withConfig({\n componentId: \"sc-1usif6k-2\"\n})(function (_ref3) {\n var _ref3$size = _ref3.size,\n size = _ref3$size === void 0 ? InputSize.Md : _ref3$size;\n return css([\"display:flex;align-items:center;width:100%;column-gap:12px;box-sizing:border-box;\", \";.SfxButton-Label{font-weight:500;}\"], sizeTextAreaMixin[size]);\n});\nvar CopyIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'CopyIcon')\n}).withConfig({\n componentId: \"sc-1usif6k-3\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"cursor:pointer;color:\", \";margin-left:auto;\"], palette[PColor.IconsPrimary]);\n});\nvar Styled = applyDisplayNames({\n Textarea: Textarea,\n CopyIcon: CopyIcon,\n Base: Base,\n ActionsButtonsWrapper: ActionsButtonsWrapper\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"fullWidth\", \"size\", \"value\", \"readOnly\", \"disabled\", \"error\", \"cols\", \"rows\", \"copyTextMessage\", \"copySuccessIcon\", \"showActionButton\", \"showClearButton\", \"hideCopyIcon\", \"disableActionButton\", \"isActionButtonLoading\", \"actionButtonLabel\", \"clearAllButtonLabel\", \"onClickActionButton\", \"onClear\", \"onChange\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useEffect, useRef } from 'react';\nimport CopyOutline from '@scaleflex/icons/copy-outline';\nimport Success from '@scaleflex/icons/success';\nimport { onClickByMouseDown } from '../../utils/functions/on-click-by-mouse-down';\nimport { intrinsicComponent, useForkRef } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { handleCopyIcon } from '../input/input.utils';\nimport { getIconSize } from '../button/button.utils';\nimport InputStyled from '../input/input.styles';\nimport { Size } from '../menu-item/types';\nimport Button from '../button';\nimport Styled from './textarea.styles';\nvar Textarea = intrinsicComponent(function (_ref, ref) {\n var _inputRef$current;\n var _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n value = _ref.value,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n cols = _ref.cols,\n rows = _ref.rows,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n _ref$showActionButton = _ref.showActionButton,\n showActionButton = _ref$showActionButton === void 0 ? false : _ref$showActionButton,\n _ref$showClearButton = _ref.showClearButton,\n showClearButton = _ref$showClearButton === void 0 ? false : _ref$showClearButton,\n _ref$hideCopyIcon = _ref.hideCopyIcon,\n hideCopyIcon = _ref$hideCopyIcon === void 0 ? true : _ref$hideCopyIcon,\n _ref$disableActionBut = _ref.disableActionButton,\n disableActionButton = _ref$disableActionBut === void 0 ? false : _ref$disableActionBut,\n _ref$isActionButtonLo = _ref.isActionButtonLoading,\n isActionButtonLoading = _ref$isActionButtonLo === void 0 ? false : _ref$isActionButtonLo,\n _ref$actionButtonLabe = _ref.actionButtonLabel,\n actionButtonLabel = _ref$actionButtonLabe === void 0 ? 'Action' : _ref$actionButtonLabe,\n _ref$clearAllButtonLa = _ref.clearAllButtonLabel,\n clearAllButtonLabel = _ref$clearAllButtonLa === void 0 ? 'Clear all' : _ref$clearAllButtonLa,\n onClickActionButton = _ref.onClickActionButton,\n onClear = _ref.onClear,\n onChange = _ref.onChange,\n rest = _objectWithoutProperties(_ref, _excluded);\n var inputRef = useRef(null);\n var textareaRef = useForkRef(inputRef, ref);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHovering = _useState2[0],\n setIsHovering = _useState2[1];\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n overflowStyles = _useState4[0],\n setOverflowStyles = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n showCopyMessage = _useState6[0],\n setShowCopyMessage = _useState6[1];\n var _useState7 = useState(value),\n _useState8 = _slicedToArray(_useState7, 2),\n inputValue = _useState8[0],\n setInputValue = _useState8[1];\n var showCopyIcon = !!(isHovering && inputValue !== null && inputValue !== void 0 && inputValue.length && !hideCopyIcon);\n var actionButtonHandler = function actionButtonHandler(event) {\n if (onClickActionButton) {\n onClickActionButton(event);\n }\n };\n var clearAllHandler = function clearAllHandler(event) {\n setInputValue('');\n if (onClear) {\n onClear(event);\n }\n };\n var onChangeHandler = function onChangeHandler(event) {\n setInputValue(event.target.value);\n if (onChange) {\n onChange(event);\n }\n };\n var copyIconHandler = function copyIconHandler() {\n if (showCopyIcon) {\n handleCopyIcon(inputValue, setShowCopyMessage);\n }\n };\n useEffect(function () {\n var current = inputRef.current;\n if (current && current.scrollHeight > current.clientHeight) {\n setOverflowStyles({\n paddingRight: size === Size.Md ? '4px' : '0px'\n });\n }\n }, [(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.scrollHeight, size]);\n useEffect(function () {\n setTimeout(function () {\n return setShowCopyMessage(false);\n }, 2000);\n }, [showCopyMessage]);\n useEffect(function () {\n setInputValue(value);\n }, [value]);\n var handleEntering = function handleEntering() {\n setTimeout(function () {\n setIsHovering(true);\n }, 150);\n };\n var handleLeaving = function handleLeaving() {\n setTimeout(function () {\n setIsHovering(false);\n }, 200);\n };\n var renderCopyText = function renderCopyText() {\n return /*#__PURE__*/React.createElement(InputStyled.NotificationBox, {\n size: size,\n isTextarea: true\n }, /*#__PURE__*/React.createElement(InputStyled.NotificationIcon, null, copySuccessIcon), /*#__PURE__*/React.createElement(InputStyled.NotificationText, null, copyTextMessage));\n };\n return /*#__PURE__*/React.createElement(Styled.Textarea, {\n size: size,\n value: inputValue,\n onMouseEnter: handleEntering,\n onMouseLeave: handleLeaving,\n readOnly: readOnly,\n disabled: disabled,\n fullWidth: Boolean(fullWidth),\n error: error,\n autoSize: Boolean(cols) || Boolean(rows)\n }, /*#__PURE__*/React.createElement(Styled.Base, _extends({}, rest, {\n value: inputValue,\n ref: textareaRef,\n size: size,\n onChange: onChangeHandler,\n readOnly: readOnly,\n disabled: disabled,\n style: _objectSpread({}, overflowStyles)\n })), (showActionButton || showClearButton || showCopyIcon) && /*#__PURE__*/React.createElement(Styled.ActionsButtonsWrapper, {\n size: size\n }, showActionButton && /*#__PURE__*/React.createElement(Button, {\n color: \"link-primary\",\n size: \"sm\",\n disabled: disableActionButton,\n loading: isActionButtonLoading,\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, actionButtonHandler);\n }\n }, actionButtonLabel), showClearButton && /*#__PURE__*/React.createElement(Button, {\n color: \"link-secondary\",\n size: \"sm\",\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, clearAllHandler);\n }\n }, clearAllButtonLabel), showCopyIcon && /*#__PURE__*/React.createElement(Styled.CopyIcon, {\n size: size,\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, copyIconHandler);\n }\n }, /*#__PURE__*/React.createElement(CopyOutline, {\n size: getIconSize(size)\n }), showCopyMessage && renderCopyText())));\n});\nexport default Textarea;","export var Type = {\n Input: 'input',\n Textarea: 'textarea'\n};","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport StyledLabel from '../label/label.styles';\nimport StyledFormHint from '../form-hint/form-hint.styles';\nvar baseClassName = 'InputGroup';\nvar InputGroup = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-zhtjwh-0\"\n})([\"\", \"{margin-top:4px;}\", \"{margin-bottom:4px;}\"], StyledFormHint.FormHint, StyledLabel.Label);\nvar Styled = applyDisplayNames({\n InputGroup: InputGroup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"type\", \"error\", \"label\", \"hint\", \"LabelProps\", \"InputProps\", \"inputProps\", \"inputRef\", \"TextareaProps\", \"readOnly\", \"disabled\", \"size\", \"value\", \"hideCopyIcon\", \"copyTextMessage\", \"copySuccessIcon\", \"placeholder\", \"fullWidth\", \"onChange\"];\nimport React from 'react';\nimport Success from '@scaleflex/icons/success';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Label from '../label';\nimport Input from '../input';\nimport Textarea from '../textarea';\nimport FormHint from '../form-hint';\nimport { Type } from './types';\nimport Styled from './input-group.styles';\nvar InputGroup = intrinsicComponent(function (_ref, ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Type.Input : _ref$type,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n label = _ref.label,\n hint = _ref.hint,\n LabelPropsData = _ref.LabelProps,\n InputProps = _ref.InputProps,\n inputProps = _ref.inputProps,\n inputRef = _ref.inputRef,\n TextareaPropsData = _ref.TextareaProps,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n disabled = _ref.disabled,\n size = _ref.size,\n value = _ref.value,\n hideCopyIcon = _ref.hideCopyIcon,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n placeholder = _ref.placeholder,\n fullWidth = _ref.fullWidth,\n _onChange = _ref.onChange,\n rest = _objectWithoutProperties(_ref, _excluded);\n var renderLabel = function renderLabel() {\n if (label) {\n if (typeof label === 'function') {\n return label({\n error: error\n });\n }\n if (_typeof(label) === 'object') {\n return label;\n }\n return /*#__PURE__*/React.createElement(Label, _extends({\n size: size,\n disabled: disabled\n }, LabelPropsData || {}), label);\n }\n return null;\n };\n var renderField = function renderField() {\n var fieldProps = {\n value: value,\n readOnly: readOnly,\n disabled: disabled,\n size: size,\n error: error,\n placeholder: placeholder,\n hideCopyIcon: hideCopyIcon,\n copyTextMessage: copyTextMessage,\n copySuccessIcon: copySuccessIcon,\n fullWidth: fullWidth\n };\n if (type === Type.Input) {\n return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, rest, inputProps, {\n InputProps: InputProps,\n ref: inputRef,\n readOnly: readOnly,\n disabled: disabled,\n onChange: _onChange\n }));\n }\n if (type === Type.Textarea) {\n return /*#__PURE__*/React.createElement(Textarea, _extends({}, fieldProps, TextareaPropsData || {}, {\n onChange: function onChange(event) {\n return _onChange(event);\n }\n }));\n }\n return null;\n };\n var renderHint = function renderHint() {\n if (hint) {\n if (typeof hint === 'function') {\n return hint({\n error: error\n });\n }\n if (_typeof(hint) === 'object') {\n return hint;\n }\n return /*#__PURE__*/React.createElement(FormHint, {\n size: size,\n error: error,\n disabled: disabled\n }, hint);\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(Styled.InputGroup, {\n ref: ref\n }, renderLabel(), renderField(), renderHint());\n});\nexport default InputGroup;","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };","export var Size = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg',\n Xl: 'xl'\n};","import * as React from 'react';\nvar ModalMenuContext = /*#__PURE__*/React.createContext({\n modalOpened: false\n});\nif (process.env.NODE_ENV !== 'production') {\n ModalMenuContext.displayName = 'ModalMenuContext';\n}\nexport default ModalMenuContext;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Size } from './types';\nexport var modalSizeMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Size.Xs, css([\"max-width:300px;\"])), Size.Sm, css([\"max-width:600px;\"])), Size.Md, css([\"max-width:960px;\"])), Size.Lg, css([\"max-width:1280px;\"])), Size.Xl, css([\"max-width:1920px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { modalSizeMixin } from './modal.mixin';\nimport { Size } from './types';\nvar baseClassName = 'Modal';\nvar Wrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Wrapper')\n}).withConfig({\n componentId: \"sc-80m07l-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"position:fixed;right:0px;bottom:0px;top:0px;left:0px;z-index:1200;visibility:\", \";\"], open ? 'visible' : 'hidden');\n});\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-80m07l-1\"\n})(function (_ref2) {\n var open = _ref2.open;\n return css([\"position:fixed;right:0px;bottom:0px;top:0px;left:0px;background-color:rgba(0,0,0,0.5);z-index:-1;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:\", \";\"], open ? '1' : '0');\n});\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-80m07l-2\"\n})(function (_ref3) {\n var theme = _ref3.theme,\n _ref3$open = _ref3.open,\n open = _ref3$open === void 0 ? false : _ref3$open,\n _ref3$fullWidth = _ref3.fullWidth,\n fullWidth = _ref3$fullWidth === void 0 ? false : _ref3$fullWidth,\n _ref3$maxWidth = _ref3.maxWidth,\n maxWidth = _ref3$maxWidth === void 0 ? Size.Sm : _ref3$maxWidth;\n return css([\"position:absolute;overflow-x:hidden;overflow-y:auto;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms,transform 167ms cubic-bezier(0.4,0,0.2,1) 0ms;outline:0;border-radius:\", \";background-color:\", \";box-shadow:0px 2px 4px \", \";visibility:\", \";opacity:\", \";display:flex;max-height:calc(100% - 64px);flex-direction:column;\", \" \", \" top:50%;left:50%;transform:translate(-50%,-50%);\"], theme.shape.borderRadius[BRSize.Lg], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.LightShadow], open ? 'visible' : 'hidden', open ? '1' : '0', fullWidth && css([\"width:calc(100% - 64px);\"]), modalSizeMixin[maxWidth]);\n});\nvar Modal = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-80m07l-3\"\n})(function () {\n return css([\"position:relative;padding-top:8px;padding-bottom:8px;margin:0;padding:0;outline:0;display:flex;flex-direction:column;\"]);\n});\nvar Styled = applyDisplayNames({\n Modal: Modal,\n Wrapper: Wrapper,\n Overlay: Overlay,\n Container: Container\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"open\", \"onClose\", \"onDragOver\", \"onDrop\", \"maxWidth\", \"fullWidth\", \"modalStyles\", \"hideOverlay\", \"disableOverlayClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, isValidElement } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ignoreEvent, intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport ModalMenuContext from './modal-menu-context';\nimport Styled from './modal.styles';\nvar isValidSingleFragmentChildren = function isValidSingleFragmentChildren(children) {\n return children && /*#__PURE__*/isValidElement(children) && React.Children.count(children) === 1 && children.type === React.Fragment;\n};\nvar Modal = intrinsicComponent(function (_ref, ref) {\n var _children = _ref.children,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? false : _ref$open,\n onClose = _ref.onClose,\n onDragOver = _ref.onDragOver,\n onDrop = _ref.onDrop,\n _ref$maxWidth = _ref.maxWidth,\n maxWidth = _ref$maxWidth === void 0 ? Size.Xs : _ref$maxWidth,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n modalStyles = _ref.modalStyles,\n _ref$hideOverlay = _ref.hideOverlay,\n hideOverlay = _ref$hideOverlay === void 0 ? false : _ref$hideOverlay,\n _ref$disableOverlayCl = _ref.disableOverlayClick,\n disableOverlayClick = _ref$disableOverlayCl === void 0 ? false : _ref$disableOverlayCl,\n rest = _objectWithoutProperties(_ref, _excluded);\n var children = isValidSingleFragmentChildren(_children) ? _children.props.children : _children;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var target = document.querySelector('body');\n useEffect(function () {\n if (open) {\n document.body.classList.add('Modal-open');\n } else {\n document.body.classList.remove('Modal-open');\n }\n return function () {\n document.body.classList.remove('Modal-open');\n };\n }, [open]);\n var handleClose = function handleClose() {\n if (typeof onClose === 'function') {\n onClose();\n }\n };\n useEffect(function () {\n var keyListener = function keyListener(ev) {\n if (ev.key === 'Escape') {\n handleClose();\n }\n };\n document.addEventListener('keydown', keyListener);\n return function () {\n return document.removeEventListener('keydown', keyListener);\n };\n });\n var render = function render() {\n return /*#__PURE__*/React.createElement(ModalMenuContext.Provider, {\n value: {\n modalOpened: Boolean(open)\n }\n }, /*#__PURE__*/React.createElement(Styled.Wrapper, {\n style: _objectSpread({}, modalStyles),\n open: Boolean(open),\n ref: ref,\n onDragOver: onDragOver ? onDragOver : ignoreEvent,\n onDrop: onDrop ? onDrop : ignoreEvent\n }, !hideOverlay && /*#__PURE__*/React.createElement(Styled.Overlay, {\n onClick: function onClick() {\n return disableOverlayClick ? null : handleClose();\n },\n open: Boolean(open)\n }), /*#__PURE__*/React.createElement(Styled.Container, _extends({}, rest, {\n maxWidth: maxWidth,\n fullWidth: fullWidth,\n open: Boolean(open)\n }), /*#__PURE__*/React.createElement(Styled.Modal, null, React.Children.map(children, function (child) {\n if ( /*#__PURE__*/isValidElement(child) && child.type.displayName === 'ModalTitle') {\n return /*#__PURE__*/React.cloneElement(child, _objectSpread({\n onClose: handleClose\n }, child.props || {}));\n }\n return child;\n })))));\n };\n return /*#__PURE__*/createPortal(render(), target);\n});\nexport default Modal;","export var Align = {\n Left: 'left',\n Center: 'center',\n Right: 'right'\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Align } from './types';\nvar baseClassName = 'ModalActions';\nvar ModalActions = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1wg6u00-0\"\n})(function (_ref) {\n var _ref$align = _ref.align,\n align = _ref$align === void 0 ? Align.Center : _ref$align;\n return css([\"position:relative;display:flex;align-items:center;padding:24px;justify-content:\", \";gap:12px;\"], align === Align.Right ? 'flex-end' : align);\n});\nvar Styled = applyDisplayNames({\n ModalActions: ModalActions\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"align\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './modal-actions.styles';\nimport { Align } from './types';\nvar ModalActions = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$align = _ref.align,\n align = _ref$align === void 0 ? Align.Center : _ref$align,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalActions, _extends({}, rest, {\n align: align,\n ref: ref\n }), children);\n});\nModalActions.displayName = 'ModalActions';\nexport default ModalActions;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'ModalContent';\nvar ModalContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1ng1w0v-0\"\n})([\"position:relative;padding:12px 24px 0px;\"]);\nvar Styled = applyDisplayNames({\n ModalContent: ModalContent\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './modal-content.styles';\nvar ModalContent = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalContent, _extends({}, rest, {\n ref: ref\n }), children);\n});\nModalContent.displayName = 'ModalContent';\nexport default ModalContent;","export var Variant = {\n Default: 'default',\n WithIcon: 'with-icon'\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { Variant } from './types';\nvar baseClassName = 'ModalTitle';\nvar Icon = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-l3tf49-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"display:flex;margin-bottom:8px;padding:14.5px;border-radius:50%;background:\", \";color:\", \";\"], palette[PColor.Accent_1_2_Opacity], palette[PColor.AccentStateless]);\n});\nvar LabelPrimary = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'LabelPrimary')\n}).withConfig({\n componentId: \"sc-l3tf49-1\"\n})(function (_ref2) {\n var _ref2$variant = _ref2.variant,\n variant = _ref2$variant === void 0 ? Variant.Default : _ref2$variant;\n return css([\"font-size:18px;line-height:27px;font-weight:\", \";\"], variant === Variant.Default ? 400 : 500);\n});\nvar LabelSecondary = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'LabelSecondary')\n}).withConfig({\n componentId: \"sc-l3tf49-2\"\n})([\"font-size:12px;line-height:14px;margin-top:4px;\"]);\nvar Close = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Close')\n}).withConfig({\n componentId: \"sc-l3tf49-3\"\n})(function (_ref3) {\n var _ref3$variant = _ref3.variant,\n variant = _ref3$variant === void 0 ? Variant.Default : _ref3$variant,\n palette = _ref3.theme.palette;\n return css([\"position:absolute;display:flex;top:\", \"px;right:\", \"px;color:\", \";&:hover{color:\", \";}cursor:pointer;\"], variant === Variant.WithIcon ? 2 : 8, variant === Variant.WithIcon ? 2 : 8, palette[PColor.IconsSecondary], palette[PColor.AccentPrimary]);\n});\nvar ModalTitle = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-l3tf49-4\"\n})(function (_ref4) {\n var _ref4$variant = _ref4.variant,\n variant = _ref4$variant === void 0 ? Variant.Default : _ref4$variant,\n _ref4$theme = _ref4.theme,\n palette = _ref4$theme.palette,\n borderRadius = _ref4$theme.shape.borderRadius;\n return css([\"position:relative;color:\", \";border-radius:\", \" \", \" 0px 0px;\", \" \", \" \", \"\"], palette[PColor.TextPrimary], borderRadius[BRSize.Md], borderRadius[BRSize.Md], function () {\n var paddingY = variant === Variant.WithIcon ? 26 : 14;\n var paddingX = variant === Variant.WithIcon ? 12 : 14;\n var paddingLeft = 18;\n var paddingRight = variant === Variant.WithIcon ? paddingLeft : 40;\n return css([\"padding:\", \"px \", \"px \", \"px \", \"px;\"], paddingY, paddingRight, paddingX, paddingLeft);\n }, variant === Variant.Default && css([\"background:\", \";border-bottom:1px solid \", \";\"], palette[PColor.BackgroundPrimary], palette[PColor.BordersSecondary]), variant === Variant.WithIcon && css([\"display:flex;align-items:center;flex-direction:column;\"]));\n});\nvar Styled = applyDisplayNames({\n ModalTitle: ModalTitle,\n LabelPrimary: LabelPrimary,\n LabelSecondary: LabelSecondary,\n Close: Close,\n Icon: Icon\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"secondary\", \"onClose\", \"primaryLabelStyles\", \"iconShadow\", \"variant\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport CrossButton from '../cross-button';\nimport Styled from './modal-title.styles';\nimport { Variant } from './types';\nvar ModalTitle = intrinsicComponent(function (_ref, ref) {\n var secondary = _ref.secondary,\n onClose = _ref.onClose,\n primaryLabelStyles = _ref.primaryLabelStyles,\n _ref$iconShadow = _ref.iconShadow,\n iconShadow = _ref$iconShadow === void 0 ? true : _ref$iconShadow,\n _ref$variant = _ref.variant,\n variant = _ref$variant === void 0 ? Variant.Default : _ref$variant,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalTitle, _extends({}, rest, {\n variant: variant,\n ref: ref\n }), rest.icon && /*#__PURE__*/React.createElement(Styled.Icon, {\n iconShadow: Boolean(iconShadow)\n }, rest.icon), /*#__PURE__*/React.createElement(Styled.LabelPrimary, {\n variant: variant,\n style: primaryLabelStyles\n }, rest.primary), variant === Variant.WithIcon && secondary && /*#__PURE__*/React.createElement(Styled.LabelSecondary, null, secondary), /*#__PURE__*/React.createElement(Styled.Close, {\n variant: variant\n }, /*#__PURE__*/React.createElement(CrossButton, {\n size: \"lg\",\n onClick: onClose\n })));\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","export var Status = {\n Success: 'success',\n Info: 'info',\n Error: 'error',\n Warning: 'warning'\n};","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'PopupStatus';\nvar PopupStatus = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-qash56-0\"\n})([\"display:flex;\"]);\nvar Styled = applyDisplayNames({\n PopupStatus: PopupStatus\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"status\", \"notificationBackground\"];\nimport React from 'react';\nimport { Success, About, Error, Warning, InfoOutline, WarningOutline, ErrorOutline } from '@scaleflex/icons';\nimport { lightPalette } from '../../theme/roots/palette';\nimport { Color } from '../../utils/types/palette';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Status } from './types';\nimport Styled from './popup-status.styles';\nvar getPopupStatusIcon = function getPopupStatusIcon(status, notificationBackground) {\n switch (status) {\n case Status.Warning:\n return notificationBackground ? /*#__PURE__*/React.createElement(Warning, {\n color: lightPalette[Color.Warning],\n size: 20\n }) : /*#__PURE__*/React.createElement(WarningOutline, {\n color: lightPalette[Color.Warning],\n size: 12\n });\n case Status.Error:\n return notificationBackground ? /*#__PURE__*/React.createElement(Error, {\n color: lightPalette[Color.Error],\n size: 20\n }) : /*#__PURE__*/React.createElement(ErrorOutline, {\n color: lightPalette[Color.Error],\n size: 12\n });\n case Status.Info:\n return notificationBackground ? /*#__PURE__*/React.createElement(About, {\n color: lightPalette[Color.Info],\n size: 20\n }) : /*#__PURE__*/React.createElement(InfoOutline, {\n color: lightPalette[Color.Info],\n size: 12\n });\n case Status.Success:\n default:\n return /*#__PURE__*/React.createElement(Success, {\n color: lightPalette[Color.Success],\n size: 20\n });\n }\n};\nvar PopupStatus = intrinsicComponent(function (_ref, ref) {\n var status = _ref.status,\n _ref$notificationBack = _ref.notificationBackground,\n notificationBackground = _ref$notificationBack === void 0 ? true : _ref$notificationBack,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.PopupStatus, _extends({\n status: status\n }, rest, {\n ref: ref\n }), getPopupStatusIcon(status, notificationBackground));\n});\nexport default PopupStatus;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { Status } from '../popup-status/types';\nexport var popupContentMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Status.Success, function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundGreen]);\n}), Status.Info, function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundBlue]);\n}), Status.Error, function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundRed]);\n}), Status.Warning, function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundOrange]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nimport { popupContentMixin } from './popup-content.mixin';\nvar baseClassName = 'PopupContent';\nvar LabelWrapper = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'LabelWrapper')\n}).withConfig({\n componentId: \"sc-njbmnt-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"display:flex;flex-grow:1;margin-left:44px;padding:16px;padding-right:0;overflow:hidden;background:\", \";\"], palette[PColor.ButtonPrimaryText]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-njbmnt-1\"\n})(function (_ref2) {\n var _ref2$theme = _ref2.theme,\n palette = _ref2$theme.palette,\n font = _ref2$theme.typography.font;\n return css([\"max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;color:\", \";\", \"\"], palette[PColor.TextPrimary], font[FontVariant.TextSmallUp]);\n});\nvar PopupContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupContent')\n}).withConfig({\n componentId: \"sc-njbmnt-2\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"position:relative;display:flex;align-items:center;width:360px;border-radius:4px;box-shadow:0px 2px 6px \", \";\"], theme.palette[PColor.LargeShadow]);\n});\nvar CloseWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupContent')\n}).withConfig({\n componentId: \"sc-njbmnt-3\"\n})(function (_ref4) {\n var theme = _ref4.theme;\n return css([\"position:absolute;top:0;right:0;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box;padding:2px;height:fit-content;cursor:pointer;background:\", \";border-radius:0 4px 4px 0;height:100%;\"], theme.palette[PColor.BackgroundStateless]);\n});\nvar PopupStatus = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupStatus')\n}).withConfig({\n componentId: \"sc-njbmnt-4\"\n})(function (_ref5) {\n var _ref5$status = _ref5.status,\n status = _ref5$status === void 0 ? 'success' : _ref5$status;\n return css([\"position:absolute;display:flex;left:0;z-index:1;height:100%;min-width:44px;align-items:center;justify-content:center;box-sizing:border-box;border-radius:4px 0 0 4px;\", \"\"], popupContentMixin[status]);\n});\nvar Styled = applyDisplayNames({\n PopupContent: PopupContent,\n PopupStatus: PopupStatus,\n LabelWrapper: LabelWrapper,\n CloseWrapper: CloseWrapper,\n Label: Label\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"onClose\", \"message\", \"status\", \"popupStatusProps\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport PopupStatus from '../popup-status';\nimport CrossButton from '../cross-button/cross-button.component';\nimport Styled from './popup-content.styles';\nimport { Status } from '../popup-status/types';\nvar PopupContent = intrinsicComponent(function (_ref, ref) {\n var onClose = _ref.onClose,\n message = _ref.message,\n _ref$status = _ref.status,\n status = _ref$status === void 0 ? Status.Success : _ref$status,\n popupStatusProps = _ref.popupStatusProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.PopupContent, _extends({}, rest, {\n ref: ref\n }), /*#__PURE__*/React.createElement(Styled.PopupStatus, _extends({\n status: status,\n message: message\n }, popupStatusProps), /*#__PURE__*/React.createElement(PopupStatus, {\n status: status\n })), /*#__PURE__*/React.createElement(Styled.LabelWrapper, null, /*#__PURE__*/React.createElement(Styled.Label, null, message)), /*#__PURE__*/React.createElement(Styled.CloseWrapper, null, /*#__PURE__*/React.createElement(CrossButton, {\n size: \"sm\",\n onClick: onClose\n })));\n});\nexport default PopupContent;","export var Horizontal = {\n Center: 'center',\n Left: 'left',\n Right: 'right'\n};","export var Vertical = {\n Top: 'top',\n Bottom: 'bottom'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Horizontal, Vertical } from './types';\nexport var positionHorizontalMixin = _defineProperty(_defineProperty(_defineProperty({}, Horizontal.Left, css([\"left:25px;right:auto;\"])), Horizontal.Center, css([\"left:50%;right:auto;transform:translateX(-50%);\"])), Horizontal.Right, css([\"left:auto;right:25px;\"]));\nexport var positionVerticalMixin = _defineProperty(_defineProperty({}, Vertical.Top, css([\"top:25px;bottom:auto;\"])), Vertical.Bottom, css([\"top:auto;bottom:25px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { positionHorizontalMixin, positionVerticalMixin } from './popup.mixin';\nimport { Horizontal, Vertical } from './types';\nvar baseClassName = 'Popup';\nvar Popup = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-jmtjri-0\"\n})(function (_ref) {\n var anchorOrigin = _ref.anchorOrigin;\n return css([\"position:fixed;display:flex;align-items:center;justify-content:center;z-index:1400;\", \" \", \"\"], positionHorizontalMixin[(anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal) || Horizontal.Left], positionVerticalMixin[(anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical) || Vertical.Bottom]);\n});\nvar Styled = applyDisplayNames({\n Popup: Popup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"autoHideDuration\", \"anchorOrigin\", \"open\", \"onClose\", \"status\"];\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { intrinsicComponent, generateClassNames } from '../../utils/functions';\nimport usePortal from '../../hooks/use-portal';\nimport PopupContent from '../popup-content/popup-content.component';\nimport { Horizontal, Vertical } from './types';\nimport Styled from './popup.styles';\nimport { Status } from '../popup-status/types';\nvar Popup = intrinsicComponent(function (props, ref) {\n var _props$autoHideDurati = props.autoHideDuration,\n autoHideDuration = _props$autoHideDurati === void 0 ? 5000 : _props$autoHideDurati,\n _props$anchorOrigin = props.anchorOrigin,\n anchorOrigin = _props$anchorOrigin === void 0 ? {\n vertical: Vertical.Bottom,\n horizontal: Horizontal.Left\n } : _props$anchorOrigin,\n _props$open = props.open,\n open = _props$open === void 0 ? false : _props$open,\n onClose = props.onClose,\n _props$status = props.status,\n status = _props$status === void 0 ? Status.Success : _props$status,\n rest = _objectWithoutProperties(props, _excluded);\n var target = usePortal(generateClassNames('Popup'));\n var _useState = useState(autoHideDuration),\n _useState2 = _slicedToArray(_useState, 2),\n hoverHideDuration = _useState2[0],\n setHoverHideDuration = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHovering = _useState4[0],\n setIsHovering = _useState4[1];\n var handleMouseLeave = function handleMouseLeave() {\n setIsHovering(false);\n setHoverHideDuration(1000);\n };\n useEffect(function () {\n if (open) setHoverHideDuration(autoHideDuration);\n }, [open]);\n useEffect(function () {\n var timeout = null;\n if (open && !isHovering && hoverHideDuration && typeof onClose === 'function') {\n timeout = setTimeout(onClose, hoverHideDuration);\n }\n return function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n }, [hoverHideDuration, isHovering, open, onClose]);\n var render = function render() {\n if (!open) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Styled.Popup, _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHovering(true);\n },\n onMouseLeave: handleMouseLeave,\n anchorOrigin: anchorOrigin\n }, props), /*#__PURE__*/React.createElement(PopupContent, _extends({\n onClose: onClose,\n status: status,\n ref: ref\n }, rest)));\n };\n return /*#__PURE__*/createPortal(render(), target);\n});\nexport default Popup;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PC } from '../../utils/types/palette';\nvar baseClassName = 'RotationSlider';\nvar RotationSliderList = /*#__PURE__*/styled.ul.attrs({\n className: generateClassNames(baseClassName, 'list')\n}).withConfig({\n componentId: \"sc-1xuruq0-0\"\n})([\"display:flex;align-items:center;position:relative;padding:0;width:100%;list-style:none;\"]);\nvar RotationSliderBigDot = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'big-dot')\n}).withConfig({\n componentId: \"sc-1xuruq0-1\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"width:8px;height:8px;border-radius:50%;background-color:\", \";cursor:pointer;\"], palette[PC.LinkPrimary]);\n});\nvar RotationSliderSmallDotWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'small-dot-wrapper')\n}).withConfig({\n componentId: \"sc-1xuruq0-2\"\n})([\"padding:2px;\"]);\nvar RotationSliderSmallDot = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'small-dot')\n}).withConfig({\n componentId: \"sc-1xuruq0-3\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"width:2px;height:2px;border-radius:50%;background-color:\", \";cursor:pointer;\"], palette[PC.LinkPrimary]);\n});\nvar RotationSliderControl = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'control')\n}).withConfig({\n componentId: \"sc-1xuruq0-4\"\n})(function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"display:flex;justify-content:center;align-items:center;position:absolute;height:18px;width:2px;transform:translate(-50%,-50%);top:50%;background-color:\", \";& > input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}\"], palette[PC.LinkActive]);\n});\nvar RotationSliderMark = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'mark')\n}).withConfig({\n componentId: \"sc-1xuruq0-5\"\n})([\"padding:4px;\"]);\nvar RotationSliderMarkText = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'mark-text')\n}).withConfig({\n componentId: \"sc-1xuruq0-6\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"position:absolute;top:20px;font-size:14px;transform:translateX(-10%);color:\", \";\"], palette[PC.TextPrimary]);\n});\nvar Styled = applyDisplayNames({\n RotationSliderList: RotationSliderList,\n RotationSliderBigDot: RotationSliderBigDot,\n RotationSliderSmallDotWrapper: RotationSliderSmallDotWrapper,\n RotationSliderSmallDot: RotationSliderSmallDot,\n RotationSliderControl: RotationSliderControl,\n RotationSliderMark: RotationSliderMark,\n RotationSliderMarkText: RotationSliderMarkText\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"min\", \"max\", \"angle\", \"onChange\", \"onMouseDown\", \"onMouseUp\", \"step\", \"labelTooltipOptions\", \"annotation\", \"hideMarkText\", \"showCurrentMarkText\", \"value\", \"railProps\", \"trackProps\", \"thumbProps\", \"labelTooltipProps\", \"markStyles\", \"markTextStyles\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Slider from '../slider';\nimport { LabelTooltip } from '../slider/types';\nimport Styled from './rotation-slider.styles';\nvar RotationSlider = intrinsicComponent(function (_ref, ref) {\n var _ref$min = _ref.min,\n min = _ref$min === void 0 ? 0 : _ref$min,\n _ref$max = _ref.max,\n max = _ref$max === void 0 ? 100 : _ref$max,\n _ref$angle = _ref.angle,\n angle = _ref$angle === void 0 ? 10 : _ref$angle,\n onChange = _ref.onChange,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n _ref$step = _ref.step,\n step = _ref$step === void 0 ? 1 : _ref$step,\n _ref$labelTooltipOpti = _ref.labelTooltipOptions,\n labelTooltipOptions = _ref$labelTooltipOpti === void 0 ? LabelTooltip.Off : _ref$labelTooltipOpti,\n _ref$annotation = _ref.annotation,\n annotation = _ref$annotation === void 0 ? '°' : _ref$annotation,\n _ref$hideMarkText = _ref.hideMarkText,\n hideMarkText = _ref$hideMarkText === void 0 ? false : _ref$hideMarkText,\n _ref$showCurrentMarkT = _ref.showCurrentMarkText,\n showCurrentMarkText = _ref$showCurrentMarkT === void 0 ? false : _ref$showCurrentMarkT,\n value = _ref.value,\n _ref$railProps = _ref.railProps,\n railProps = _ref$railProps === void 0 ? {} : _ref$railProps,\n _ref$trackProps = _ref.trackProps,\n trackProps = _ref$trackProps === void 0 ? {} : _ref$trackProps,\n _ref$thumbProps = _ref.thumbProps,\n thumbProps = _ref$thumbProps === void 0 ? {} : _ref$thumbProps,\n _ref$labelTooltipProp = _ref.labelTooltipProps,\n labelTooltipProps = _ref$labelTooltipProp === void 0 ? {} : _ref$labelTooltipProp,\n _ref$markStyles = _ref.markStyles,\n markStyles = _ref$markStyles === void 0 ? {} : _ref$markStyles,\n _ref$markTextStyles = _ref.markTextStyles,\n markTextStyles = _ref$markTextStyles === void 0 ? {} : _ref$markTextStyles,\n rest = _objectWithoutProperties(_ref, _excluded);\n var handleChange = function handleChange(event, newValue) {\n if (onChange) {\n onChange(event, newValue);\n }\n };\n var getValue = function getValue() {\n if (value || value === 0) {\n if (value > max) {\n return max;\n }\n if (value < min) {\n return min;\n }\n return value;\n }\n return min;\n };\n var showMarkText = function showMarkText(index) {\n if (hideMarkText) return false;\n if (!showCurrentMarkText) return true;\n return getValue() === index;\n };\n var renderBar = function renderBar() {\n var barDom = [];\n var barDiv;\n for (var i = min; i <= max; i += step) {\n barDiv = [];\n if (i % angle === 0 || i === max) {\n barDiv = /*#__PURE__*/React.createElement(Styled.RotationSliderMark, {\n key: i,\n style: _objectSpread({}, markStyles)\n }, showMarkText(i) && /*#__PURE__*/React.createElement(Styled.RotationSliderMarkText, {\n style: _objectSpread({}, markTextStyles)\n }, i === min + 1 ? max : i, /*#__PURE__*/React.createElement(\"sup\", null, annotation)), /*#__PURE__*/React.createElement(Styled.RotationSliderBigDot, null));\n } else if (i % 10 === 0) {\n barDiv = /*#__PURE__*/React.createElement(Styled.RotationSliderSmallDotWrapper, {\n key: i\n }, /*#__PURE__*/React.createElement(Styled.RotationSliderSmallDot, null));\n }\n if (!Array.isArray(barDiv)) {\n barDom.push(barDiv);\n }\n }\n return barDom;\n };\n return /*#__PURE__*/React.createElement(Slider, _extends({\n min: min,\n max: max,\n step: step,\n value: getValue(),\n hideTrack: true,\n hideAnnotation: true,\n annotation: annotation,\n onChange: function onChange(event, newValue) {\n return handleChange(event, newValue);\n },\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp,\n labelTooltip: labelTooltipOptions,\n ref: ref,\n components: {\n Rail: function Rail(props, style) {\n return /*#__PURE__*/React.createElement(Styled.RotationSliderList, _extends({}, props, {\n styles: _objectSpread({}, style)\n }), renderBar());\n },\n Thumb: Styled.RotationSliderControl\n },\n componentsProps: {\n rail: _objectSpread(_objectSpread({}, railProps), {}, {\n style: _objectSpread({}, railProps.style)\n }),\n track: _objectSpread(_objectSpread({}, trackProps), {}, {\n style: _objectSpread({}, trackProps.style)\n }),\n thumb: _objectSpread(_objectSpread({}, thumbProps), {}, {\n style: _objectSpread({\n top: '15%'\n }, thumbProps.style)\n }),\n labelTooltip: _objectSpread(_objectSpread({}, labelTooltipProps), {}, {\n style: _objectSpread({}, labelTooltipProps.style)\n })\n }\n }, rest, {\n defaultValue: Number(rest.defaultValue),\n style: _objectSpread({\n width: 'auto',\n height: 'auto'\n }, rest.style)\n }));\n});\nexport default RotationSlider;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport StyledInputGroup from '../input-group/input-group.styles';\nvar baseClassName = 'SelectGroup';\nvar SelectGroup = /*#__PURE__*/styled(StyledInputGroup.InputGroup).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1uvutwe-0\"\n})([\"\"]);\nvar Styled = applyDisplayNames({\n SelectGroup: SelectGroup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"error\", \"label\", \"placeholder\", \"hint\", \"LabelProps\", \"SelectProps\", \"selectProps\", \"fullWidth\", \"showSelectionKey\", \"value\", \"multiple\", \"hideMenuItemsActions\", \"onChange\", \"readOnly\", \"disabled\", \"showClearIcon\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Label from '../label';\nimport Select from '../select';\nimport FormHint from '../form-hint';\nimport Styled from './select-group.styles';\nvar SelectGroup = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n size = _ref.size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n label = _ref.label,\n placeholder = _ref.placeholder,\n hint = _ref.hint,\n LabelPropsData = _ref.LabelProps,\n SelectPropsData = _ref.SelectProps,\n selectProps = _ref.selectProps,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n showSelectionKey = _ref.showSelectionKey,\n value = _ref.value,\n multiple = _ref.multiple,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n showClearIcon = _ref.showClearIcon,\n rest = _objectWithoutProperties(_ref, _excluded);\n var renderLabel = function renderLabel() {\n if (label) {\n if (typeof label === 'function') {\n return label({\n error: error\n });\n }\n if (_typeof(label) === 'object') {\n return label;\n }\n return /*#__PURE__*/React.createElement(Label, LabelPropsData || {}, label);\n }\n return null;\n };\n var renderHint = function renderHint() {\n if (hint) {\n if (typeof hint === 'function') {\n return hint({\n error: error\n });\n }\n if (_typeof(hint) === 'object') {\n return hint;\n }\n return /*#__PURE__*/React.createElement(FormHint, {\n error: error\n }, hint);\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(Styled.SelectGroup, _extends({}, rest, {\n ref: ref\n }), renderLabel(), /*#__PURE__*/React.createElement(Select, _extends({\n error: error,\n value: value,\n size: size,\n onChange: onChange,\n multiple: multiple,\n fullWidth: Boolean(fullWidth)\n }, SelectPropsData || {}, {\n selectProps: selectProps,\n readOnly: readOnly,\n disabled: disabled,\n placeholder: placeholder,\n showSelectionKey: showSelectionKey,\n hideMenuItemsActions: hideMenuItemsActions,\n showClearIcon: showClearIcon\n }), children), renderHint());\n});\nexport default SelectGroup;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nvar baseClassName = 'Backdrop';\nvar Backdrop = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-txa5a-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"position:fixed;display:flex;align-items:center;justify-content:center;inset:0px;background-color:\", \";transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:1;z-index:-1;\"], palette[PColor.Extra_0_3_Overlay]);\n});\nvar Styled = applyDisplayNames({\n Backdrop: Backdrop\n});\nexport default Styled;","import _objectDestructuringEmpty from \"@babel/runtime/helpers/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './backdrop.styles';\n\n// TODO: add story for this component?\nvar Backdrop = intrinsicComponent(function (_ref, ref) {\n var rest = _extends({}, (_objectDestructuringEmpty(_ref), _ref));\n return /*#__PURE__*/React.createElement(Styled.Backdrop, _extends({}, rest, {\n ref: ref\n }));\n});\nexport default Backdrop;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames, scrollBar } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { Shadows as PShadows } from '../../utils/types/shadows';\nimport { FontVariant as FV } from '../../utils/types/typography/font-variant';\nimport Accordion from '../accordion/accordion.component';\nimport AccordionHeaderStyled from '../accordion-header/accordion-header.styles';\nimport AccordionDetailsStyled from '../accordion-details/accordion-details.styles';\nvar baseClassName = 'Drawer';\nvar TemporaryDrawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'temporary')\n}).withConfig({\n componentId: \"sc-1riasfx-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"position:absolute;inset:0px;z-index:1200;visibility:\", \";\"], !open && 'hidden');\n});\nvar PersistentDrawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'persistent')\n}).withConfig({\n componentId: \"sc-1riasfx-1\"\n})([\"\"]);\nvar Drawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1riasfx-2\"\n})(function (_ref2) {\n var open = _ref2.open,\n isCollapsed = _ref2.isCollapsed,\n _ref2$top = _ref2.top,\n top = _ref2$top === void 0 ? 0 : _ref2$top,\n _ref2$theme = _ref2.theme,\n palette = _ref2$theme.palette,\n shadows = _ref2$theme.shadows,\n breakpoints = _ref2$theme.breakpoints;\n return css([\"display:flex;flex-direction:column;flex:1 0 auto;background-color:\", \";box-shadow:\", \";overflow-y:overlay;overflow-x:hidden;transform:\", \";visibility:\", \";transition:200ms;height:calc(100% - \", \"px);\", \"{margin-top:0px;height:100%;}\", \" &{margin-top:0px;height:100%;}box-sizing:border-box;width:\", \";\", \"\"], palette[PColor.BackgroundStateless], shadows[PShadows.LeftPanelMd], open ? 'none' : 'translateX(-100%)', !open && 'hidden', top, breakpoints.down('md'), breakpoints.classes.sm, isCollapsed ? '68px' : '302px', scrollBar);\n});\nvar Header = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'header')\n}).withConfig({\n componentId: \"sc-1riasfx-3\"\n})(function (_ref3) {\n var isCollapsed = _ref3.isCollapsed;\n return css([\"display:\", \";justify-content:flex-start;align-items:center;position:relative;text-decoration:none;width:100%;box-sizing:border-box;text-align:left;margin-top:12px;transition:background-color 100ms ease-out;\"], isCollapsed ? 'none' : 'flex');\n});\nvar Body = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'body')\n}).withConfig({\n componentId: \"sc-1riasfx-4\"\n})([\"flex:1 1 auto;.SfxAccordionDetails-root{margin:0;}\"]);\nvar Footer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'footer')\n}).withConfig({\n componentId: \"sc-1riasfx-5\"\n})(function (_ref4) {\n var isCollapsed = _ref4.isCollapsed;\n return css([\"display:flex;flex-direction:column;width:100%;padding:\", \";\"], isCollapsed ? '0px' : '0px 8px');\n});\nvar List = /*#__PURE__*/styled.ul.attrs({\n className: generateClassNames(baseClassName, 'list')\n}).withConfig({\n componentId: \"sc-1riasfx-6\"\n})([\"list-style:none;margin:12px 0;padding:0;position:relative;\"]);\nvar Item = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'item')\n}).withConfig({\n componentId: \"sc-1riasfx-7\"\n})(function (_ref5) {\n var palette = _ref5.theme.palette,\n isCollapsed = _ref5.isCollapsed,\n selected = _ref5.selected;\n return css([\"display:\", \";justify-content:flex-start;align-items:center;position:relative;text-decoration:none;width:100%;box-sizing:border-box;text-align:left;padding:13px 16px;transition:background-color 100ms ease-out;margin-bottom:4px;cursor:pointer;&:hover{background-color:\", \";& > *{color:\", \";}}\", \"\"], isCollapsed ? 'none' : 'flex', palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"background-color:\", \";& > *{color:\", \" !important;}\"], palette[PColor.BackgroundActive], palette[PColor.AccentStateless]));\n});\nvar ItemText = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'text')\n}).withConfig({\n componentId: \"sc-1riasfx-8\"\n})(function (_ref6) {\n var _ref6$theme = _ref6.theme,\n palette = _ref6$theme.palette,\n font = _ref6$theme.typography.font,\n fontKey = _ref6.font,\n isCollapsed = _ref6.isCollapsed;\n return css([\"flex:1 1 auto;color:\", \";\", \";transition:color 100ms ease-out;display:\", \";user-select:none;\"], palette[PColor.TextPrimary], font[fontKey || FV.LabelLarge], isCollapsed && 'none');\n});\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-1riasfx-9\"\n})(function (_ref7) {\n var palette = _ref7.theme.palette,\n isCollapsed = _ref7.isCollapsed;\n return css([\"display:flex;flex-shrink:0;color:\", \";margin-right:\", \";transition:color 100ms ease-out;\"], palette[PColor.IconsPrimary], isCollapsed ? '0px' : '12px');\n});\nvar ItemButton = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'item-button')\n}).withConfig({\n componentId: \"sc-1riasfx-10\"\n})(function (_ref8) {\n var palette = _ref8.theme.palette,\n isCollapsed = _ref8.isCollapsed,\n selected = _ref8.selected;\n return css([\"display:flex;justify-content:\", \";align-items:center;border-radius:4px;box-sizing:border-box;text-align:left;padding:\", \";width:\", \";margin-bottom:12px;\", \";transition:background-color 150ms cubic-bezier(0.4,0,0.2,1) 0ms;cursor:pointer;&:hover{background-color:\", \";& > *{color:\", \";}}\", \"\"], isCollapsed ? 'center' : 'flex-start', isCollapsed ? '12px 0px' : '13px 16px', isCollapsed && '44px', isCollapsed && 'margin: 12px', palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"background-color:\", \";& > *{color:\", \";}\"], palette[PColor.BackgroundActive], palette[PColor.AccentStateless]));\n});\nvar CollapsedButton = /*#__PURE__*/styled(ItemButton).attrs({\n className: generateClassNames(baseClassName, 'item-button')\n}).withConfig({\n componentId: \"sc-1riasfx-11\"\n})(function (_ref9) {\n var palette = _ref9.theme.palette,\n isCollapsed = _ref9.isCollapsed;\n return css([\"\", \" &:hover{background-color:\", \";& > *{color:\", \";}svg{color:\", \";background-color:\", \";border-radius:50%;path:first-of-type{color:\", \";}}}\"], !isCollapsed && css([\"padding:13px 16px;\"]), palette[PColor.BackgroundActive], palette[PColor.AccentStateless], palette[PColor.BackgroundActive], palette[PColor.AccentStateless], palette[PColor.AccentStateless]);\n});\nvar DrawerAccordion = /*#__PURE__*/styled(Accordion).attrs({\n className: generateClassNames(baseClassName, 'accordion')\n}).withConfig({\n componentId: \"sc-1riasfx-12\"\n})(function (_ref10) {\n var _ref10$theme = _ref10.theme,\n palette = _ref10$theme.palette,\n font = _ref10$theme.typography.font,\n selected = _ref10.selected;\n return css([\"\", \"{padding:13px 16px;transition:background-color 100ms ease-out;\", \"{\", \";color:\", \";}&:hover{background-color:\", \";& > *{color:\", \";}}\", \"}\", \"{padding:0px 16px;}\"], AccordionHeaderStyled.Header, AccordionHeaderStyled.Label, font[FV.LabelLargeEmphasis], palette[PColor.TextPrimary], palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"\", \"{color:\", \";}\"], AccordionHeaderStyled.Label, palette[PColor.AccentStateless]), AccordionDetailsStyled.AccordionDetails);\n});\nvar Styled = applyDisplayNames({\n TemporaryDrawer: TemporaryDrawer,\n PersistentDrawer: PersistentDrawer,\n Drawer: Drawer,\n Header: Header,\n Body: Body,\n Footer: Footer,\n List: List,\n Item: Item,\n ItemButton: ItemButton,\n Icon: Icon,\n ItemText: ItemText,\n DrawerAccordion: DrawerAccordion,\n CollapsedButton: CollapsedButton\n});\nexport default Styled;","import { createContext } from 'react';\nvar DrawerContext = /*#__PURE__*/createContext({\n isCollapsed: false,\n size: 20\n});\nif (process.env.NODE_ENV !== 'production') {\n DrawerContext.displayName = 'DrawerContext';\n}\nexport default DrawerContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"font\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nimport DrawerContext from './drawer.context';\nvar DrawerItemText = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n font = _ref.font,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.ItemText, _extends({\n font: font,\n isCollapsed: isCollapsed\n }, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerItemText;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nimport DrawerContext from './drawer.context';\nvar DrawerItemIcon = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$size = _ref.size,\n iconSize = _ref$size === void 0 ? 20 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed,\n size = _useContext.size;\n return /*#__PURE__*/React.createElement(Styled.Icon, _extends({}, rest, {\n isCollapsed: isCollapsed,\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: size || iconSize\n }) : children);\n});\nexport default DrawerItemIcon;","export var Variant = {\n Auto: 'auto',\n Temporary: 'temporary',\n Persistent: 'persistent'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"open\", \"iconsSize\", \"collapsed\", \"top\", \"hideBackdrop\", \"disablePortal\", \"collapseButtonLabel\", \"persistentDrawerStyles\", \"temproryDrawerStyles\", \"variant\", \"onClose\", \"onCollapse\", \"onCollapseClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport ArrowSidebarLeftOutline from '@scaleflex/icons/arrow-sidebar-left-outline';\nimport ArrowSidebarRightOutline from '@scaleflex/icons/arrow-sidebar-right-outline';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { useMediaQuery, useTheme } from '../../theme/hooks';\nimport DrawerItemText from './drawer-item-text-component';\nimport DrawerItemIcon from './drawer-item-icon.component';\nimport DrawerContext from './drawer.context';\nimport Backdrop from '../backdrop';\nimport Styled from './drawer.styles';\nimport { Variant } from './types';\nvar Drawer = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n open = _ref.open,\n _ref$iconsSize = _ref.iconsSize,\n iconsSize = _ref$iconsSize === void 0 ? 20 : _ref$iconsSize,\n _ref$collapsed = _ref.collapsed,\n collapsed = _ref$collapsed === void 0 ? false : _ref$collapsed,\n top = _ref.top,\n _ref$hideBackdrop = _ref.hideBackdrop,\n hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,\n disablePortal = _ref.disablePortal,\n _ref$collapseButtonLa = _ref.collapseButtonLabel,\n collapseButtonLabel = _ref$collapseButtonLa === void 0 ? 'Collapse menu' : _ref$collapseButtonLa,\n _ref$persistentDrawer = _ref.persistentDrawerStyles,\n persistentDrawerStyles = _ref$persistentDrawer === void 0 ? {} : _ref$persistentDrawer,\n _ref$temproryDrawerSt = _ref.temproryDrawerStyles,\n temproryDrawerStyles = _ref$temproryDrawerSt === void 0 ? {} : _ref$temproryDrawerSt,\n _ref$variant = _ref.variant,\n variant = _ref$variant === void 0 ? Variant.Auto : _ref$variant,\n onClose = _ref.onClose,\n onCollapse = _ref.onCollapse,\n onCollapseClick = _ref.onCollapseClick,\n rest = _objectWithoutProperties(_ref, _excluded);\n var theme = useTheme();\n var matchDownXl = useMediaQuery(theme.breakpoints.down('xl'));\n var _useState = useState(collapsed),\n _useState2 = _slicedToArray(_useState, 2),\n isCollapsed = _useState2[0],\n setIsCollapsed = _useState2[1];\n var temporaryDrawerRef = useRef(null);\n var DrawerIconsSize = useMemo(function () {\n return iconsSize;\n }, [iconsSize]);\n var target = document.querySelector('body');\n useEffect(function () {\n setIsCollapsed(collapsed);\n }, [collapsed]);\n useEffect(function () {\n if (onCollapse) {\n onCollapse(isCollapsed);\n }\n }, [isCollapsed]);\n var handleCollapse = function handleCollapse() {\n var newCollapseState = !isCollapsed;\n setIsCollapsed(newCollapseState);\n if (onCollapseClick) {\n onCollapseClick(newCollapseState);\n }\n };\n var handleClose = function handleClose() {\n if (typeof onClose === 'function') {\n onClose();\n }\n };\n var keyListener = function keyListener(ev) {\n var isTemporaryDrawer = false;\n if (temporaryDrawerRef !== null && temporaryDrawerRef !== void 0 && temporaryDrawerRef.current) {\n var _temporaryDrawerRef$c;\n isTemporaryDrawer = (temporaryDrawerRef === null || temporaryDrawerRef === void 0 || (_temporaryDrawerRef$c = temporaryDrawerRef.current) === null || _temporaryDrawerRef$c === void 0 ? void 0 : _temporaryDrawerRef$c.offsetWidth) > 0;\n }\n if (ev.key === 'Escape' && isTemporaryDrawer) {\n handleClose();\n }\n };\n useEffect(function () {\n document.addEventListener('keydown', keyListener);\n return function () {\n return document.removeEventListener('keydown', keyListener);\n };\n }, []);\n var renderDrawer = function renderDrawer(showCollapsedButton) {\n return /*#__PURE__*/React.createElement(Styled.Drawer, _extends({\n open: open,\n top: top\n }, rest, {\n isCollapsed: showCollapsedButton ? isCollapsed : false,\n ref: ref\n }), children, showCollapsedButton && /*#__PURE__*/React.createElement(Styled.CollapsedButton, {\n onClick: handleCollapse,\n isCollapsed: isCollapsed\n }, /*#__PURE__*/React.createElement(DrawerItemIcon, null, isCollapsed ? function (props) {\n return /*#__PURE__*/React.createElement(ArrowSidebarRightOutline, _extends({}, props, {\n size: iconsSize\n }));\n } : function (props) {\n return /*#__PURE__*/React.createElement(ArrowSidebarLeftOutline, _extends({}, props, {\n size: iconsSize\n }));\n }), /*#__PURE__*/React.createElement(DrawerItemText, null, collapseButtonLabel)));\n };\n var renderBackdrop = function renderBackdrop() {\n return !hideBackdrop && open ? /*#__PURE__*/React.createElement(Backdrop, {\n onClick: onClose\n }) : null;\n };\n var temporaryDrawer = function temporaryDrawer() {\n return disablePortal ? /*#__PURE__*/React.createElement(Styled.TemporaryDrawer, {\n ref: temporaryDrawerRef,\n style: _objectSpread({}, temproryDrawerStyles),\n open: open\n }, renderBackdrop(), renderDrawer(false)) : ( /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Styled.TemporaryDrawer, {\n ref: temporaryDrawerRef,\n style: _objectSpread({}, temproryDrawerStyles),\n open: open\n }, renderBackdrop(), renderDrawer(false)), target));\n };\n var persistentDrawer = function persistentDrawer() {\n return /*#__PURE__*/React.createElement(Styled.PersistentDrawer, {\n style: _objectSpread({}, persistentDrawerStyles)\n }, renderDrawer(true));\n };\n var getDrawerVariant = function getDrawerVariant() {\n switch (variant) {\n case Variant.Auto:\n return matchDownXl ? temporaryDrawer() : persistentDrawer();\n case Variant.Temporary:\n return temporaryDrawer();\n case Variant.Persistent:\n return persistentDrawer();\n default:\n return matchDownXl ? temporaryDrawer() : persistentDrawer();\n }\n };\n return /*#__PURE__*/React.createElement(DrawerContext.Provider, {\n value: {\n isCollapsed: !matchDownXl ? isCollapsed : false,\n size: DrawerIconsSize\n }\n }, getDrawerVariant());\n});\nexport default Drawer;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport DrawerContext from './drawer.context';\nimport Styled from './drawer.styles';\nvar DrawerHeader = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.Header, _extends({}, rest, {\n isCollapsed: isCollapsed,\n ref: ref\n }), children);\n});\nexport default DrawerHeader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nvar DrawerBody = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Body, _extends({}, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerBody;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nvar DrawerList = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.List, _extends({}, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"selected\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport DrawerContext from './drawer.context';\nimport Styled from './drawer.styles';\nvar DrawerItem = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$selected = _ref.selected,\n selected = _ref$selected === void 0 ? false : _ref$selected,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.Item, _extends({\n selected: selected,\n isCollapsed: isCollapsed\n }, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerItem;","import{Input,Label}from\"@scaleflex/ui/core\";import styled from\"styled-components\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledHSVOptions=styled.div.withConfig({componentId:\"sc-1rfxjvn-0\"})([\"display:flex;width:100%;justify-content:space-between;gap:10px;.SfxSlider-root{min-width:100px;}\",\"\"],function(a){var b=a.isPhoneScreen;return b&&\"\\n flex-direction: column;\\n\\n .SfxSlider-root {\\n min-width: 230px;\\n }\\n \"}),StyledSliderContainer=styled.div.withConfig({componentId:\"sc-1rfxjvn-1\"})([\"display:flex;flex-direction:column;\"]),StyledSliderLabel=styled(Label).withConfig({componentId:\"sc-1rfxjvn-2\"})([\"\",\";\"],function(a){var b=a.theme;return b.typography.font[FV.LabelExtraSmallUp]}),StyledSliderWrapper=styled.div.withConfig({componentId:\"sc-1rfxjvn-3\"})([\"display:flex;align-items:center;\"]),StyledSliderInput=styled(Input).withConfig({componentId:\"sc-1rfxjvn-4\"})([\"display:inline-block;width:40px;height:28px;padding:6px 2px;margin-left:10px;border:none;.SfxInput-Base{text-align:center;width:100%;min-width:100%;max-width:100%;}\"]);export{StyledHSVOptions,StyledSliderContainer,StyledSliderLabel,StyledSliderWrapper,StyledSliderInput};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=-1,DEFAULT_VALUE={brightness:0},MAX_VALUE=1,sliderStyle={width:150,padding:0,margin:0},BrightnessOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Brighten,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({brightness:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_brightness-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_brightness-option-label\"},d(\"brightness\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_brightness-option\",min:MIN_VALUE,step:.05,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.brightness)&&void 0!==b?b:DEFAULT_VALUE.brightness,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.brightness)&&void 0!==c?c:DEFAULT_VALUE.brightness,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default BrightnessOptions;","import{DEFAULT_ZOOM_FACTOR}from\"./constants\";var getZoomFitFactor=function(a,b){return Math.min(a.width/b.width,a.height/b.height)||DEFAULT_ZOOM_FACTOR};export default getZoomFitFactor;","import Custom from\"@scaleflex/icons/custom\";import Ellipse from\"@scaleflex/icons/ellipse\";import Landscape from\"@scaleflex/icons/landscape\";import Portrait from\"@scaleflex/icons/portrait\";import ImageOutline from\"@scaleflex/icons/image-outline\";import{CUSTOM_CROP,ELLIPSE_CROP,ORIGINAL_CROP}from\"../../../utils/constants\";import toPrecisedFloat from\"../../../utils/toPrecisedFloat\";export var DEFAULT_CROP_PRESETS=[{titleKey:\"custom\",ratio:CUSTOM_CROP,icon:Custom,hide:function hide(){var a=0n.width||d.height>n.height?getZoomFitFactor(n,d):DEFAULT_ZOOM_FACTOR}})),c()};return React.createElement(React.Fragment,null,React.createElement(StyledToolsBarItemButtonWrapper,null,React.createElement(StyledToolsBarItemButtonLabel,{className:\"FIE_crop-tool-label FIE_selected-crop-preset-label\",isPhoneScreen:r},g(l||\"cropTool\")),React.createElement(StyledOpenMenuButton,{className:\"FIE_crop-presets-opener-button\",color:\"link-secondary\",size:\"lg\"},b?React.createElement(MoveUpOutline,{size:10}):React.createElement(MoveDownOutline,{size:10}))),React.createElement(Menu,{className:\"FIE_crop-presets-menu\",anchorEl:b,enableOverlay:!0,onClose:c,open:!!b,position:\"top\",popperOptions:{modifiers:[{name:\"offset\",options:{offset:[0,4]}}]},maxHeight:\"100%\"},React.createElement(StyledMenu,null,s.map(function renderPreset(a){var b=a.titleKey,c=a.descriptionKey,d=a.ratio,e=a.width,f=a.height,h=a.groups,i=a.icon,j=a.disableManualResize,l=a.noEffect;return h?React.createElement(CropPresetGroupsList,{key:b,titleKey:b,groups:h,Icon:i,theme:p,onItemSelect:t,t:g,disableManualResize:j}):React.createElement(CropPresetItem,{key:d,ratio:null!==d&&void 0!==d?d:toPrecisedFloat(e/f),titleKey:b,t:g,description:g(c),Icon:i,isActive:(k||ORIGINAL_CROP)===(null!==d&&void 0!==d?d:toPrecisedFloat(e/f))&&!m,theme:p,width:e,height:f,onClick:t,disableManualResize:j,noEffect:l})}))))};CropPresetsOption.defaultProps={anchorEl:null};export default CropPresetsOption;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState}from\"react\";import{Crop as CropIcon}from\"@scaleflex/icons/crop\";import{useStore}from\"../../../hooks\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";import{StyledToolsBarItemButtonLabel}from\"../../ToolsBar/ToolsBar.styled\";import CropPresetsOption from\"./CropPresetsOption\";var Crop=function(a){var b=a.selectTool,c=a.isSelected,d=useStore(),e=d.config,f=d.t,g=useState(),h=_slicedToArray(g,2),i=h[0],j=h[1];return React.createElement(ToolsBarItemButton,{className:\"FIE_crop-tool\",id:TOOLS_IDS.CROP,Icon:CropIcon,onClick:function selectToolAndShowPresets(a,c){b(a),j(c.currentTarget)},isSelected:c},e[TOOLS_IDS.CROP].noPresets?React.createElement(StyledToolsBarItemButtonLabel,{className:\"FIE_crop-tool-label\"},f(\"cropTool\")):React.createElement(CropPresetsOption,{anchorEl:i,onClose:function closeCropPresets(){j(null)}}))};Crop.defaultProps={isSelected:!1};export default Crop;","import React,{useCallback,useMemo}from\"react\";import{FlipX as FlipXIcon}from\"@scaleflex/icons/flip-x\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{FLIP_DIRECTIONS,TOOLS_IDS}from\"../../../utils/constants\";import{TOGGLE_FLIP}from\"../../../actions\";import{usePhoneScreen,useStore}from\"../../../hooks\";var xFlipReverseSideStyle={transform:\"scaleX(-1)\"},FlipX=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedX,h=usePhoneScreen(320),i=useCallback(function(){return React.createElement(FlipXIcon,{size:h?20:16,style:g?xFlipReverseSideStyle:void 0})},[g,h]),j=useMemo(function(){return{reverseLabelOfCurrXFlipDir:g?d(\"unFlipX\"):d(\"flipX\"),reverseIconOfCurrXFlipDir:i}},[g,i]),k=j.reverseLabelOfCurrXFlipDir,l=j.reverseIconOfCurrXFlipDir,m=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.X}})},[]),n=useCallback(function(a){b(a),m()},[]);return React.createElement(ToolsBarItemButton,{className:\"FIE_flip-x-tool-button\",id:TOOLS_IDS.FLIP_X,label:k,Icon:l,onClick:n,isSelected:c})};FlipX.defaultProps={isSelected:!1};export default FlipX;","import React,{useCallback,useMemo}from\"react\";import{FlipY as FlipYIcon}from\"@scaleflex/icons/flip-y\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{FLIP_DIRECTIONS,TOOLS_IDS}from\"../../../utils/constants\";import{TOGGLE_FLIP}from\"../../../actions\";import{usePhoneScreen,useStore}from\"../../../hooks\";var yFlipReverseSideStyle={transform:\"scaleY(-1)\"},FlipY=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedY,h=usePhoneScreen(320),i=useCallback(function(){return React.createElement(FlipYIcon,{size:h?20:16,style:g?yFlipReverseSideStyle:void 0})},[g,h]),j=useMemo(function(){return{reverseLabelOfCurrYFlipDir:g?d(\"unFlipY\"):d(\"flipY\"),reverseIconOfCurrYFlipDir:i}},[g]),k=j.reverseLabelOfCurrYFlipDir,l=j.reverseIconOfCurrYFlipDir,m=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.Y}})},[]),n=useCallback(function(a){b(a),m()},[]);return React.createElement(ToolsBarItemButton,{className:\"FIE_flip-y-tool-button\",id:TOOLS_IDS.FLIP_Y,label:k,Icon:l,onClick:n,isSelected:c})};FlipY.defaultProps={isSelected:!1};export default FlipY;","import React from\"react\";import{RotationLeft as RotateIcon}from\"@scaleflex/icons/rotation-left\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var RotateButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_rotate-tool-button\",id:TOOLS_IDS.ROTATE,label:d(\"rotateTool\"),Icon:RotateIcon,onClick:b,isSelected:c})};RotateButton.defaultProps={isSelected:!1};export default RotateButton;","import styled from\"styled-components\";import{IconButton,RotationSlider}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledRotationOptions=styled.div.withConfig({componentId:\"sc-wbx58r-0\"})([\"display:flex;align-items:center;gap:16px;\"]),StyledRotationSlider=styled(RotationSlider).withConfig({componentId:\"sc-wbx58r-1\"})([\".SfxRotationSlider-control{width:1px;height:10px;background-color:\",\";&:before{box-shadow:unset;}}.SfxRotationSlider-mark,.SfxRotationSlider-small-dot-wrapper{padding:0;.SfxRotationSlider-mark-text{top:10px;}.SfxRotationSlider-big-dot{width:4px;height:4px;}.SfxRotationSlider-small-dot{width:1px;height:1px;}}.SfxRotationSlider-list{gap:4px;}\"],function(a){var b=a.theme.palette;return b[PC.IconsSecondary]}),StyledRotateButton=styled(IconButton).withConfig({componentId:\"sc-wbx58r-2\"})([\"\"]);export{StyledRotationOptions,StyledRotationSlider,StyledRotateButton};","import React from\"react\";import RotationLeft from\"@scaleflex/icons/rotation-left\";import RotationRight from\"@scaleflex/icons/rotation-right\";import{Rotate90}from\"@scaleflex/icons\";import{useDebouncedCallback,usePhoneScreen,useStore}from\"../../../hooks\";import{CHANGE_ROTATION,SET_RESIZE}from\"../../../actions\";import restrictNumber from\"../../../utils/restrictNumber\";import getSizeAfterRotation from\"../../../utils/getSizeAfterRotation\";import{TOOLS_IDS}from\"../../../utils/constants\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{StyledRotationOptions,StyledRotationSlider,StyledRotateButton}from\"./Rotate.styled\";var RotateOptions=function(){var a=useStore(),b=a.dispatch,c=a.adjustments.rotation,d=void 0===c?0:c,e=a.resize,f=void 0===e?{}:e,g=a.config,h=g[TOOLS_IDS.ROTATE],i=usePhoneScreen(),j=useDebouncedCallback(function(a,c){var d=restrictNumber(c,-180,180);if(b({type:CHANGE_ROTATION,payload:{rotation:d}}),f.width&&f.height){var e=getSizeAfterRotation(f.width,f.height,d);b({type:SET_RESIZE,payload:{width:e.width,height:e.height}})}},20);return\"buttons\"===h.componentType?React.createElement(React.Fragment,null,React.createElement(ToolsBarItemButton,{className:\"FIE_rotate_button_left\",id:TOOLS_IDS.IMAGE,label:\"-\".concat(h.angle,\"\\xB0\"),Icon:RotationLeft,onClick:function changeRotationButtonNegative(a){var b=d-h.angle;j(a,b)}}),React.createElement(ToolsBarItemButton,{className:\"FIE_rotate_button_right\",id:TOOLS_IDS.IMAGE,label:\"+\".concat(h.angle,\"\\xB0\"),Icon:RotationRight,onClick:function changeRotationButtonPositive(a){var b=d+h.angle;j(a,b)}})):React.createElement(StyledRotationOptions,null,React.createElement(StyledRotateButton,{size:\"sm\",color:\"basic\",onClick:function onClick(a){return j(a,d-90)}},React.createElement(Rotate90,{width:15})),React.createElement(StyledRotationSlider,{className:\"FIE_rotate-slider\",showCurrentMarkText:!0,min:-180,max:180,step:i?h.angle/3:1,value:d,angle:h.angle||90,onChange:j}),React.createElement(StyledRotateButton,{size:\"sm\",color:\"basic\",onClick:function onClick(a){return j(a,d+90)}},React.createElement(Rotate90,{width:15,style:{transform:\"scaleX(-1)\"}})))};export default RotateOptions;","import React from\"react\";import{Contrast as ContrastIcon}from\"@scaleflex/icons/contrast\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Contrast=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_contrast-tool-button\",id:TOOLS_IDS.CONTRAST,label:d(\"contrastTool\"),Icon:ContrastIcon,onClick:b,isSelected:c})};Contrast.defaultProps={isSelected:!1};export default Contrast;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=-100,DEFAULT_VALUE={contrast:0},MAX_VALUE=100,sliderStyle={width:150,padding:0,margin:0},ContrastOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Contrast,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({contrast:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_contrast-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_contrast-option-label\"},d(\"contrastTool\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_contrast-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.contrast)&&void 0!==b?b:DEFAULT_VALUE.contrast,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.contrast)&&void 0!==c?c:DEFAULT_VALUE.contrast,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default ContrastOptions;","import React from\"react\";import{Saturation as SaturationIcon}from\"@scaleflex/icons/saturation\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var HSV=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_hsv-tool-button\",id:TOOLS_IDS.HSV,label:d(\"hsvTool\"),Icon:SaturationIcon,onClick:b,isSelected:c})};HSV.defaultProps={isSelected:!1};export default HSV;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune,usePhoneScreen}from\"../../../hooks\";import Slider from\"../../common/Slider\";import{StyledHSVOptions,StyledSliderContainer,StyledSliderLabel,StyledSliderInput,StyledSliderWrapper}from\"../tools.styled\";var DEFAULT_VALUE={hue:0,saturation:0,value:0},MAX_VALUE={hue:259,saturation:10,value:2},sliderStyle={padding:0,margin:0},isPhoneScreen=usePhoneScreen(),HSVOptions=function(a){var b,c,d,e,f,g,h=a.t,i=useFinetune(Konva.Filters.HSV,DEFAULT_VALUE),j=_slicedToArray(i,2),k=j[0],l=j[1],m=function(a,b){l(_defineProperty({},a,b>MAX_VALUE[a]?MAX_VALUE[a]:+b))};return React.createElement(StyledHSVOptions,{isPhoneScreen:isPhoneScreen},React.createElement(StyledSliderContainer,{className:\"FIE_hue-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_hue-option-label\"},h(\"hue\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_hue-option\",min:0,step:1,max:259,value:null!==(b=k.hue)&&void 0!==b?b:DEFAULT_VALUE.hue,onChange:function onChange(a){return m(\"hue\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=k.hue)&&void 0!==c?c:DEFAULT_VALUE.hue,onChange:function onChange(a){var b=a.target.value;return m(\"hue\",b)}}))),React.createElement(StyledSliderContainer,{className:\"FIE_saturation-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_saturation-option-label\"},h(\"saturation\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_saturation-option\",min:-2,step:.5,max:10,value:null!==(d=k.saturation)&&void 0!==d?d:DEFAULT_VALUE.saturation,onChange:function onChange(a){return m(\"saturation\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(e=k.saturation)&&void 0!==e?e:DEFAULT_VALUE.saturation,onChange:function onChange(a){var b=a.target.value;return m(\"saturation\",b)}}))),React.createElement(StyledSliderContainer,{className:\"FIE_value-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_value-option-label\"},h(\"value\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_value-option\",min:-2,step:.1,max:2,value:null!==(f=k.value)&&void 0!==f?f:DEFAULT_VALUE.value,onChange:function onChange(a){return m(\"value\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(g=k.value)&&void 0!==g?g:DEFAULT_VALUE.value,onChange:function onChange(a){var b=a.target.value;return m(\"value\",b)}}))))};export default HSVOptions;","import React from\"react\";import{Blur as BlurIcon}from\"@scaleflex/icons/blur\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Blur=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_blur-tool-button\",id:TOOLS_IDS.BLUR,label:d(\"blurTool\"),Icon:BlurIcon,onClick:b,isSelected:c})};Blur.defaultProps={isSelected:!1};export default Blur;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=0,DEFAULT_VALUE={blurRadius:0},MAX_VALUE=100,sliderStyle={width:150,padding:0,margin:0},BlurOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Blur,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({blurRadius:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_blur-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_blur-option-label\"},d(\"blur\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_blur-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.blurRadius)&&void 0!==b?b:DEFAULT_VALUE.blurRadius,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.blurRadius)&&void 0!==c?c:DEFAULT_VALUE.blurRadius,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default BlurOptions;","import React from\"react\";import{Temprature as WarmthIcon}from\"@scaleflex/icons/tempreture\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Warmth=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_warmth-tool-button\",id:TOOLS_IDS.WARMTH,label:d(\"warmthTool\"),Icon:WarmthIcon,onClick:b,isSelected:c})};Warmth.defaultProps={isSelected:!1};export default Warmth;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import{Warmth as CustomWarmth}from\"../../../custom/finetunes\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=0,DEFAULT_VALUE={warmth:0},MAX_VALUE=200,sliderStyle={width:150,padding:0,margin:0},WarmthOptions=function(a){var b,c,d=a.t,e=useFinetune(CustomWarmth,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({warmth:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_warmth-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_warmth-option-label\"},d(\"warmthTool\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_warmth-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.warmth)&&void 0!==b?b:DEFAULT_VALUE.warmth,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.warmth)&&void 0!==c?c:DEFAULT_VALUE.warmth,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default WarmthOptions;","import styled,{css}from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledCarouselWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-0\"})([\"max-width:680px;min-width:150px;position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;\"]),StyledCarousel=styled.ul.withConfig({componentId:\"sc-1nr0bka-1\"})([\"padding:0;margin:0;white-space:nowrap;overflow:hidden;\"]),StyledCarouselItem=styled.li.withConfig({componentId:\"sc-1nr0bka-2\"})([\"padding:4px;display:inline-block;list-style-type:none;user-select:none;\"]),arrowsCommonStyles=css([\"position:absolute;top:0;height:100%;width:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;svg{color:\",\";}\"],function(a){var b=a.theme.palette;return b[PC.IconsSecondary]}),StyledPrevArrowWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-3\"})([\"\",\" left:0;justify-content:flex-start;background:linear-gradient( 90deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );\"],arrowsCommonStyles),StyledNextArrowWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-4\"})([\"\",\" right:0;justify-content:flex-end;background:linear-gradient( 270deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );\"],arrowsCommonStyles);export{StyledCarouselWrapper,StyledCarousel,StyledCarouselItem,StyledPrevArrowWrapper,StyledNextArrowWrapper};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{Children,useRef,useState,useEffect}from\"react\";import{ArrowLeftOutline,ArrowRightOutline}from\"@scaleflex/icons\";import{useResizeObserver}from\"../../../hooks\";import debounce from\"../../../utils/debounce\";import getScrollOffset from\"../../../utils/getScrollOffset\";import{StyledCarouselWrapper,StyledCarousel,StyledCarouselItem,StyledNextArrowWrapper,StyledPrevArrowWrapper}from\"./Carousel.styled\";var Carousel=function(a){var b=a.children,c=a.style,d=a.className,f=useRef(!1),g=useRef(),h=useResizeObserver(),i=_slicedToArray(h,1),j=i[0],k=useState(!1),l=_slicedToArray(k,2),m=l[0],n=l[1],o=useState(!1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=Children.toArray(b),t=function(){if(g.current){var a=g.current,b=a.scrollWidth,c=a.offsetWidth,d=a.scrollLeft,e=Math.round(b-c),f=Math.round(e-d);n(0j,l=k?MAX_FILTER_PREVIEW_WIDTH:MAX_FILTER_PREVIEW_HEIGHT*j,m=k?MAX_FILTER_PREVIEW_WIDTH/j:MAX_FILTER_PREVIEW_HEIGHT;return React.createElement(StyledFilterItem,{className:\"FIE_filters-item\",onClick:h,\"aria-selected\":e},React.createElement(FilterItemPreview,{className:\"FIE_filters-item-preview\",width:MAX_FILTER_PREVIEW_WIDTH,height:MAX_FILTER_PREVIEW_HEIGHT},React.createElement(Layer,{onTap:h},React.createElement(Image,{image:f,filters:c?[c]:[],width:l,height:m,x:-(l-MAX_FILTER_PREVIEW_WIDTH)/2,y:-(m-MAX_FILTER_PREVIEW_HEIGHT)/2,ref:g}))),React.createElement(FilterItemLabel,{className:\"FIE_filters-item-label\"},b))};FilterItem.defaultProps={filterFn:void 0};export default memo(FilterItem);","import Konva from\"konva\";import*as CustomKonvaFilters from\"../../../custom/filters\";var konvaFilters=Konva.Filters;export var AVAILABLE_FILTERS=[{label:\"Original\",filterFn:null},{label:\"Invert\",filterFn:konvaFilters.Invert},{label:\"Black & White\",filterFn:CustomKonvaFilters.BlackAndWhite},{label:\"Sepia\",filterFn:konvaFilters.Sepia},{label:\"Solarize\",filterFn:konvaFilters.Solarize},{label:\"Clarendon\",filterFn:CustomKonvaFilters.Clarendon},{label:\"Gingham\",filterFn:CustomKonvaFilters.Gingham},{label:\"Moon\",filterFn:CustomKonvaFilters.Moon},{label:\"Lark\",filterFn:CustomKonvaFilters.Lark},{label:\"Reyes\",filterFn:CustomKonvaFilters.Reyes},{label:\"Juno\",filterFn:CustomKonvaFilters.Juno},{label:\"Slumber\",filterFn:CustomKonvaFilters.Slumber},{label:\"Crema\",filterFn:CustomKonvaFilters.Crema},{label:\"Ludwig\",filterFn:CustomKonvaFilters.Ludwig},{label:\"Aden\",filterFn:CustomKonvaFilters.Aden},{label:\"Perpetua\",filterFn:CustomKonvaFilters.Perpetua},{label:\"Amaro\",filterFn:CustomKonvaFilters.Amaro},{label:\"Mayfair\",filterFn:CustomKonvaFilters.Mayfair},{label:\"Rise\",filterFn:CustomKonvaFilters.Rise},{label:\"Hudson\",filterFn:CustomKonvaFilters.Hudson},{label:\"Valencia\",filterFn:CustomKonvaFilters.Valencia},{label:\"X-Pro II\",filterFn:CustomKonvaFilters.XPro2},{label:\"Sierra\",filterFn:CustomKonvaFilters.Sierra},{label:\"Willow\",filterFn:CustomKonvaFilters.Willow},{label:\"Lo-Fi\",filterFn:CustomKonvaFilters.LoFi},{label:\"Inkwell\",filterFn:konvaFilters.Grayscale},{label:\"Hefe\",filterFn:CustomKonvaFilters.Hefe},{label:\"Nashville\",filterFn:CustomKonvaFilters.Nashville},{label:\"Stinson\",filterFn:CustomKonvaFilters.Stinson},{label:\"Vesper\",filterFn:CustomKonvaFilters.Vesper},{label:\"Earlybird\",filterFn:CustomKonvaFilters.Earlybird},{label:\"Brannan\",filterFn:CustomKonvaFilters.Brannan},{label:\"Sutro\",filterFn:CustomKonvaFilters.Sutro},{label:\"Toaster\",filterFn:CustomKonvaFilters.Toaster},{label:\"Walden\",filterFn:CustomKonvaFilters.Walden},{label:\"1977\",filterFn:CustomKonvaFilters.NinteenSeventySeven},{label:\"Kelvin\",filterFn:CustomKonvaFilters.Kelvin},{label:\"Maven\",filterFn:CustomKonvaFilters.Maven},{label:\"Ginza\",filterFn:CustomKonvaFilters.Ginza},{label:\"Skyline\",filterFn:CustomKonvaFilters.Skyline},{label:\"Dogpatch\",filterFn:CustomKonvaFilters.Dogpatch},{label:\"Brooklyn\",filterFn:CustomKonvaFilters.Brooklyn},{label:\"Helena\",filterFn:CustomKonvaFilters.Helena},{label:\"Ashby\",filterFn:CustomKonvaFilters.Ashby},{label:\"Charmes\",filterFn:CustomKonvaFilters.Charmes}];","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import{useFilter,useStore}from\"../../../hooks\";import Carousel from\"../../common/Carousel\";import FilterItem from\"./FilterItem\";import{AVAILABLE_FILTERS}from\"./Filters.constants\";var style={maxWidth:\"100%\",width:\"100%\"},Filters=function(){var a=useStore(),b=a.originalImage,c=useFilter(),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(Carousel,{className:\"FIE_filters\",style:style},AVAILABLE_FILTERS.map(function(a){return React.createElement(FilterItem,{key:a.label,filterLabel:a.label,filterFn:a.filterFn,applyFilter:f,isActive:e===a.filterFn,image:b})}))};export default Filters;","import React from\"react\";import{Text as TextIcon}from\"@scaleflex/icons/text\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var TextButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_text-tool-button\",id:TOOLS_IDS.TEXT,label:d(\"textTool\"),Icon:TextIcon,onClick:b,isSelected:c})};TextButton.defaultProps={isSelected:!1};export default TextButton;","import styled from\"styled-components\";import Label from\"@scaleflex/ui/core/label\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledOptions=styled.div.withConfig({componentId:\"sc-qvjmv1-0\"})([\"display:flex;align-items:center;justify-content:center;padding:8px 16px;margin-top:4px;gap:8px;flex-wrap:wrap;\",\" svg{color:\",\";}\"],function(a){var b=a.isPhoneScreen;return b&&\"\\n max-width: 315px;\\n padding: 0;\\n \"},function(a){var b=a.theme.palette;return b[PC.IconsPrimary]}),StyledOptionsWrapper=styled.div.withConfig({componentId:\"sc-qvjmv1-1\"})([\"display:flex;flex-wrap:wrap;margin-left:-4px;gap:4px;.FIE_annotation-option-triggerer{padding:6px;}\"]),StyledOptionPopupContent=styled.div.withConfig({componentId:\"sc-qvjmv1-2\"})([\"background:\",\";border-radius:4px;display:flex;flex-direction:column;padding:8px 12px;overflow:visible;\",\" \",\" *{font-family:'Roboto',sans-serif;}\"],function(a){var b=a.theme;return b.palette[\"bg-secondary\"]},function(a){var b=a.position;return b&&\"\\n display: grid;\\n grid-template-columns: repeat(4, auto);\\n padding: 0;\\n margin-top: 8px;\\n box-shadow: 0px 1px 2px \".concat(function(a){var b=a.theme;return b.palette[\"light-shadow\"]},\";\\n \")},function(a){var b=a.disablePadding;return b&&\"\\n padding: 0;\\n \"}),StyledSpacedOptionFields=styled.div.withConfig({componentId:\"sc-qvjmv1-3\"})([\"display:flex;align-items:center;gap:12px;\",\"\"],function(a){var b=a.preventFlex;return b&&\"\\n display: block;\\n\\n label {\\n margin-bottom: 8px;\\n }\\n \"}),StyledTwoColumnsContainer=styled.div.withConfig({componentId:\"sc-qvjmv1-4\"})([\"display:flex;align-items:center;justify-content:space-between;\"]),StyledColumn=styled.div.withConfig({componentId:\"sc-qvjmv1-5\"})([\"&:not(:first-child){margin-left:12px;}\"]),StyledIconWrapper=styled.div.withConfig({componentId:\"sc-qvjmv1-6\"})(function(a){var b=a.theme,c=a.addThinBorder,d=a.secondaryIconColor,e=a.active,f=a.watermarkTool;return\"\\n cursor: pointer;\\n padding: \".concat(f?\"6px\":\"8px 12px\",\";\\n border-radius: 2px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n gap: 6px;\\n\\n svg {\\n vertical-align: middle;\\n margin: 0 auto;\\n }\\n\\n \").concat(c?\"border: 0.5px solid \".concat(b.palette[\"borders-secondary\"],\";\\n padding: 8px 8px;\"):\"\",\";\\n color: \").concat(d?b.palette[PC.IconsSecondary]:\"\",\";\\n\\n \").concat(e&&\"\\n border-radius: 4px;\\n border-color: \".concat(b.palette[PC.AccentStateless],\";\\n background-color: \").concat(b.palette[PC.BackgroundActive],\";\\n\\n * {\\n color: \").concat(b.palette[PC.AccentStateless],\";\\n }\\n \"),\"\\n\\n :hover {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n }\\n \")}),StyledIconLabel=styled(Label).withConfig({componentId:\"sc-qvjmv1-7\"})([\"color:\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPrimary]});export{StyledTwoColumnsContainer,StyledColumn,StyledIconWrapper,StyledSpacedOptionFields,StyledOptions,StyledOptionsWrapper,StyledOptionPopupContent,StyledIconLabel};","import React from\"react\";import restrictNumber from\"../../../utils/restrictNumber\";import{Label}from\"@scaleflex/ui/core\";import{StyledSpacedOptionFields,StyledIconLabel,StyledOptionPopupContent}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var MIN_PERCENTANGE=0,MAX_PERCENTANGE=1,OpacityField=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.opacity,f=Math.round(100*e);return React.createElement(StyledOptionPopupContent,{disablePadding:!0},React.createElement(Label,null,d(\"transparency\")),React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"%\",onChange:function changeOpacity(a){c({opacity:restrictNumber(a/100,MIN_PERCENTANGE,MAX_PERCENTANGE)})},value:f,noMargin:!0}),React.createElement(StyledIconLabel,null,\"\".concat(f,\"%\"))))};export default OpacityField;","import{Modal,ModalActions as SfxModalActions}from\"@scaleflex/ui/core\";import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var ColorPickerModal=styled(Modal).withConfig({componentId:\"sc-7tf41j-0\"})([\"max-width:350px;\"]),ColorPickerWrap=styled.div.withConfig({componentId:\"sc-7tf41j-1\"})([\".SfxColorPicker-root{max-width:100%;padding:0;box-shadow:none;border:none;\",\"}.SfxColorPicker-action{display:flex;gap:12px;.SfxColorPicker-select{width:100px;}.SfxInput-root{width:190px !important;}}.SfxColorPicker-icon{color:\",\";}.SfxColorPicker-range-picker,.SfxColorPicker-bar-wrapper{width:100%;}\"],function(a){var b=a.hideModalTitle;return b&&\"padding-top: 12px;\"},function(a){var b=a.theme.palette;return b[PC.IconsPrimary]}),ModalActions=styled(SfxModalActions).withConfig({componentId:\"sc-7tf41j-2\"})([\"gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}\"]),Styled={ColorPickerModal:ColorPickerModal,ColorPickerWrap:ColorPickerWrap,ModalActions:ModalActions};export default Styled;","import React from\"react\";import{Button,ColorPicker,ModalContent,ModalTitle}from\"@scaleflex/ui/core\";import ColorPickerIcon from\"@scaleflex/icons/color-picker\";import{useStore}from\"../../../hooks\";import Styled from\"./ColorPickerModal.styled\";var modalStyles={zIndex:1301},ColorPickerModal=function(a){var b=a.hideModalTitle,c=a.defaultColor,d=void 0===c?\"\":c,e=a.onChange,f=a.open,g=a.pinnedColors,h=a.onClose,i=a.onApply,j=useStore(),k=j.t;return f?React.createElement(Styled.ColorPickerModal,{onClose:h,open:f,fullWidth:!0,modalStyles:modalStyles},!b&&React.createElement(ModalTitle,{onClose:h,primary:k(\"colorPickerModalTitleLabel\",\"Pick color\"),icon:React.createElement(ColorPickerIcon,{size:29}),iconShadow:!0,variant:\"with-icon\"}),React.createElement(ModalContent,null,React.createElement(Styled.ColorPickerWrap,{hideModalTitle:b},React.createElement(ColorPicker,{onChange:e,pinnedColors:g,defaultColor:d,showTransparentColor:!0}))),React.createElement(Styled.ModalActions,null,React.createElement(Button,{color:\"basic\",onClick:h},k(\"cancel\")),React.createElement(Button,{color:\"primary\",onClick:i},k(\"apply\")))):null};ColorPickerModal.defaultProps={defaultColor:\"\",pinnedColors:[],onChange:function onChange(){},open:!1,hideModalTitle:!1,onClose:function onClose(){},onApply:function onApply(){}};export default ColorPickerModal;","import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledPickerTrigger=styled.div.attrs(function(a){var b=a.$color;return{style:{background:\"rgba(0,0,0,0)\"===b?\"repeating-conic-gradient(#5d6d7e 0% 25%, transparent 0% 50%) 50% / 8px 8px\":b}}}).withConfig({componentId:\"sc-zmv0gj-0\"})([\"background:\",\";border-radius:4px;width:32px;height:32px;border:1px solid \",\";cursor:pointer;box-sizing:border-box;\"],function(a){var b=a.theme;return b.palette[\"icons-primary\"]},function(a){var b=a.theme;return b.palette[PC.BorderPrimaryStateless]});export{StyledPickerTrigger};","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useEffect,useRef,useState}from\"react\";import{useStore}from\"../../../hooks\";import{SET_LATEST_COLOR}from\"../../../actions\";import ColorPickerModal from\"../ColorPickerModal\";import{StyledPickerTrigger}from\"./ColorInput.styled\";var pinnedColorsKey=\"FIE_pinnedColors\",ColorInput=function(a){var b,c=a.onChange,d=a.color,e=a.colorFor,f=useStore(),g=f.selectionsIds,h=void 0===g?[]:g,i=f.config.annotationsCommon,j=void 0===i?{}:i,k=f.dispatch,l=f.latestColors,m=void 0===l?{}:l,n=m[e],o=useState(),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useState(function(){return n||d||j.fill}),t=_slicedToArray(s,2),u=t[0],v=t[1],w=useState(null!==(b=window)&&void 0!==b&&b.localStorage?JSON.parse(localStorage.getItem(pinnedColorsKey)||\"[]\"):[]),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useRef(u),B=function(a){var b;if(null!==(b=window)&&void 0!==b&&b.localStorage){var c=window.localStorage.getItem(pinnedColorsKey);if(JSON.stringify(a)!==c){var d=a.slice(-9);window.localStorage.setItem(pinnedColorsKey,JSON.stringify(d)),z(d)}}},C=function(a){r(q?null:a.currentTarget)};return useEffect(function(){var a=0===h.length&&n||d;v(a),c(a)},[d,h]),React.createElement(React.Fragment,null,React.createElement(StyledPickerTrigger,{className:\"FIE_color-picker-triggerer\",onClick:C,$color:u,onChange:c}),React.createElement(ColorPickerModal,{hideModalTitle:!0,onChange:function changeColor(a,b,d){v(b),c(b),B(d),n!==b&&k({type:SET_LATEST_COLOR,payload:{latestColors:_defineProperty({},e,b)}})},defaultColor:u,pinnedColors:y,open:!!q,onClose:function closePicker(a){c(A.current||u),C(a)},onApply:C}))};ColorInput.defaultProps={color:void 0};export default ColorInput;","import React from\"react\";import restrictNumber from\"../../../utils/restrictNumber\";import ColorInput from\"../ColorInput\";import{StyledSpacedOptionFields}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var MIN_PERCENTANGE=0,MAX_PERCENTANGE=100,StrokeFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=b.stroke,e=b.strokeWidth;return React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"px\",onChange:function changeStrokeWidth(a){c({strokeWidth:restrictNumber(a,MIN_PERCENTANGE,MAX_PERCENTANGE)})},value:e,noMargin:!0}),React.createElement(ColorInput,{color:d,onChange:function changeStrokeColor(a){c({stroke:a})},colorFor:\"stroke\"}))};export default StrokeFields;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import React from\"react\";import Label from\"@scaleflex/ui/core/label\";import restrictNumber from\"../../../utils/restrictNumber\";import ColorInput from\"../ColorInput\";import{StyledTwoColumnsContainer,StyledColumn,StyledSpacedOptionFields}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var ShadowFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.shadowOffsetX,f=b.shadowOffsetY,g=b.shadowBlur,h=b.shadowColor,i=b.shadowOpacity,j=function(a,b){var d=2parseFloat(k))){var m=Math.min(10*h.width,10*h.height),o=getSizeAfterRotation(h.width,h.height,n),p=\"height\"===f,r=p?\"width\":\"height\",s=_defineProperty(_defineProperty({},f,k?restrictNumber(k,0,m):k),r,q[r]),t=null!==(d=c.ratioUnlocked)&&void 0!==d?d:i.ratioUnlocked;if(!t){var u=o.width/o.height;s[r]=p?Math.round(s[f]*u):Math.round(s[f]/u)}if(s[f]!==i[f]||s[r]!==i[r]){if(\"function\"==typeof b)return void b(s);g({type:SET_RESIZE,payload:s});var v=l.width&&l.height&&l||j,w=_objectSpread(_objectSpread({},i),s);g({type:ZOOM_CANVAS,payload:{factor:w.width&&w.height?getZoomFitFactor(v,w):DEFAULT_ZOOM_FACTOR,isAbsoluteZoom:!0}})}}},s=\"undefined\"==typeof i.width&&\"undefined\"==typeof i.height||h.width===i.width&&h.height===i.height,t=i.manualChangeDisabled,u=\"undefined\"!=typeof i.width&&!i.width,v=\"undefined\"!=typeof i.height&&!i.height;return React.createElement(StyledResizeWrapper,{className:\"FIE_resize-tool-options\",alignment:e},React.createElement(StyledResizeInput,{className:\"FIE_resize-width-option\",value:u?\"\":q.width,name:\"width\",onChange:t?void 0:r,inputMode:\"numeric\",title:p(\"resizeWidthTitle\"),label:p(\"width\"),inputProps:{type:\"number\"},size:\"sm\",iconEnd:\"px\",placeholder:\"Width\",disabled:t}),React.createElement(StyledRatioLockIcon,{className:\"FIE_resize-ratio-locker\",title:p(\"toggleRatioLockTitle\"),onClick:t?void 0:function toggleRatioLock(){return\"function\"==typeof b?void b({ratioUnlocked:!c.ratioUnlocked}):void g({type:SET_RESIZE,payload:{ratioUnlocked:!i.ratioUnlocked}})},color:\"basic\",size:\"sm\",disabled:t},c.ratioUnlocked||i.ratioUnlocked?React.createElement(UnlockOutline,{size:16,color:o.palette.success}):React.createElement(LockOutline,{size:16,color:o.palette.error})),React.createElement(StyledResizeInput,{className:\"FIE_resize-height-option\",value:v?\"\":q.height,name:\"height\",onChange:t?void 0:r,inputMode:\"numeric\",title:p(\"resizeHeightTitle\"),label:p(\"height\"),inputProps:{type:\"number\"},size:\"sm\",iconEnd:\"px\",placeholder:\"Height\",disabled:t}),!d&&React.createElement(StyledResetButton,{className:\"FIE_resize-reset-button\",size:\"sm\",color:\"basic\",onClick:s||t?void 0:function resetResize(){g({type:SET_RESIZE,payload:{width:void 0,height:void 0,ratioUnlocked:!1}});var a=l.width&&l.height&&l||j;g({type:ZOOM_CANVAS,payload:{factor:getZoomFitFactor(a,a)}})},disabled:s||t},React.createElement(Reset,null)))};Resize.defaultProps={onChange:void 0,currentSize:{},hideResetButton:!1,alignment:\"center\"};export default Resize;","import styled from\"styled-components\";var StyledWatermarkWrapper=styled.div.withConfig({componentId:\"sc-fvaj5j-0\"})([\"display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;overflow:hidden;\",\";\"],function(a){var b=a.noWrap;return b?\"flex-wrap: nowrap;\":\"\"}),StyledControlsWrapper=styled.div.withConfig({componentId:\"sc-fvaj5j-1\"})([\"margin-bottom:8px;\"]),StyledWatermarkGalleryItem=styled.div.withConfig({componentId:\"sc-fvaj5j-2\"})(function(a){var b=a.theme;return\"\\n padding: 6px 4px;\\n border: 1px solid \".concat(b.palette[\"borders-secondary\"],\";\\n width: fit-content;\\n height: 32px;\\n border-radius: 2px;\\n overflow: hidden;\\n cursor: pointer;\\n border-radius: 4px;\\n\\n :hover {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n }\\n\\n &[aria-selected='true'] {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n border-color: \").concat(b.palette[\"accent-primary-active\"],\";\\n }\\n\\n img {\\n max-width: 100%;\\n max-height: 100%;\\n }\\n \")});export{StyledWatermarkWrapper,StyledControlsWrapper,StyledWatermarkGalleryItem};","import React,{useMemo}from\"react\";import{useStore}from\"../../../hooks\";import{TOOLS_IDS,WATERMARK_ANNOTATION_ID}from\"../../../utils/constants\";import Carousel from\"../../common/Carousel\";import{SET_FEEDBACK}from\"../../../actions\";import{StyledWatermarkGalleryItem}from\"./Watermark.styled\";var WatermarksGallery=function(a){var b=a.addImgWatermark,c=a.loadAndSetWatermarkImg,d=a.style,e=useStore(),f=e.config,g=e.annotations,h=e.dispatch,i=e.t,j=useMemo(function(){var a;return null===(a=(g[WATERMARK_ANNOTATION_ID]||{}).image)||void 0===a?void 0:a.src},[g[WATERMARK_ANNOTATION_ID]]),k=function(a){var c=a.currentTarget.children[0];if(c.complete){if(!c.naturalWidth)return void h({type:SET_FEEDBACK,payload:{feedback:{message:i(\"mutualizedFailedToLoadImg\"),duration:2e3}}});b(c)}},l=f[TOOLS_IDS.WATERMARK]||{},m=l.gallery,n=void 0===m?[]:m;return 0===n.length?null:React.createElement(Carousel,{className:\"FIE_watermark-gallery\",style:d},n.map(function(a){var b=(null===a||void 0===a?void 0:a.url)||a,d=(null===a||void 0===a?void 0:a.previewUrl)||b;return React.createElement(StyledWatermarkGalleryItem,{className:\"FIE_watermark-selected-item\",onClick:function onClick(a){return b===d?k(a):c(b)},key:b,\"aria-selected\":b===j},React.createElement(\"img\",{src:d,alt:\"Failed to load.\",crossOrigin:\"Anonymous\",draggable:!1}))}))};WatermarksGallery.defaultProps={style:void 0};export default WatermarksGallery;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState}from\"react\";import Menu from\"@scaleflex/ui/core/menu\";import Padding from\"@scaleflex/icons/padding\";import restrictNumber from\"../../../utils/restrictNumber\";import{StyledSpacedOptionFields,StyledIconWrapper,StyledOptionPopupContent,StyledIconLabel}from\"../../common/AnnotationOptions/AnnotationOptions.styled\";import Slider from\"../../common/Slider\";import{Label}from\"@scaleflex/ui/core\";var WatermarkPadding=function(a){var b=a.watermark,c=a.saveWatermark,d=a.t,e=useState(null),f=_slicedToArray(e,2),g=f[0],h=f[1],i=b.padding||0;return React.createElement(React.Fragment,null,React.createElement(StyledIconWrapper,{className:\"FIE_watermark-padding-triggerer\",title:d(\"padding\"),onClick:function openOptionPopup(a){h(a.currentTarget)},active:g},React.createElement(Padding,{size:20})),React.createElement(Menu,{className:\"FIE_watermark-padding-popup\",anchorEl:g,open:!!g,onClose:function closeOptionPopup(){h(null)},position:\"top\"},React.createElement(StyledOptionPopupContent,null,React.createElement(Label,null,d(\"padding\")),React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"px\",onChange:function updatePadding(a){c({padding:restrictNumber(a,0,100)})},value:i,noMargin:!0}),React.createElement(StyledIconLabel,null,\"\".concat(i,\"px\"))))))};export default WatermarkPadding;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;cr?s*w/c:r*w/b,g=_objectSpread(_objectSpread(_objectSpread({},e.annotationsCommon),e[TOOLS_IDS.IMAGE]),{},{scaleX:d,scaleY:d,padding:1,image:a,width:b,height:c,x:t+r/2-b*d/2,y:u+s/2-c*d/2,id:WATERMARK_ANNOTATION_ID,name:TOOLS_IDS.IMAGE,replaceCurrent:!0});f({type:SET_ANNOTATION,payload:g})},y=function(a){f({type:SET_ANNOTATION,payload:_objectSpread(_objectSpread({},\"function\"==typeof a?a(q):a),{},{id:WATERMARK_ANNOTATION_ID})})},z=function(a){f({type:SET_FEEDBACK,payload:{feedback:{message:a,status:FEEDBACK_STATUSES.WARNING}}})},A=function(a,b){if(a){n(!0);var c=new Image;c.onload=function(){x(c),b&&URL.revokeObjectURL(a),n(!1)},c.onerror=function(){z(g(\"mutualizedFailedToLoadImg\")),b&&URL.revokeObjectURL(a),n(!1)},c.src=a}};useEffect(function(){q&&(f({type:CLEAR_ANNOTATIONS_SELECTIONS}),f({type:SELECT_ANNOTATION,payload:{annotationId:\"watermark\"}}))},[q]),useEffect(function(){q&&(0===d.length||d[0].id!==WATERMARK_ANNOTATION_ID)&&f({type:SELECT_ANNOTATION,payload:{annotationId:\"watermark\"}})},[d]);var B=[(!e.useCloudimage||\"function\"==typeof p.onUploadWatermarkImgClick)&&{key:\"upload-watermark\",label:g(\"uploadWatermark\"),icon:UploadOutline,onClick:function handleUploadWatermarkClick(){if(\"function\"==typeof p.onUploadWatermarkImgClick){var a=p.onUploadWatermarkImgClick(A);return void(a instanceof Promise&&a.then(function(){var a=0b.factor,f={x:(a.x-b.x||0)/b.factor,y:(a.y-b.y||0)/b.factor},g={x:a.x-f.x*a.factor,y:a.y-f.y*a.factor};if(e&&1===b.factor||(g.x=Math.min(0,Math.max(g.x,c*(1-b.factor))),g.y=Math.min(0,Math.max(g.y,d*(1-b.factor)))),1>a.factor){var h=c-c*a.factor,i=d-d*a.factor;g.x+=h/2,g.y+=i/2}return _objectSpread(_objectSpread({},g),{},{factor:a.factor})};export default calculateZoomData;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";var _excluded=[\"preparedDimensions\"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;cf.x+f.width&&(g.width=f.x+f.width-g.x),g.y+g.height>f.y+f.height&&(g.height=f.y+f.height-g.y),\"number\"==typeof d&&!compareRatios(g.width/g.height,d)){var h=g.height*d,i=g.width/d;toPrecisedFloat(g.y+i)<=f.y+f.height?g.height=i:g.width=h}if((e.minWidth&&g.width<=e.minWidth||e.maxWidth&&g.width>=e.maxWidth)&&(g.width=restrictNumber(g.width,e.minWidth,e.maxWidth),g.x=a.x,g.y=a.y,\"number\"==typeof d&&(g.height=g.width/d)),(e.minHeight&&b.height<=e.minHeight||e.maxHeight&&b.height>=e.maxHeight)&&(g.height=restrictNumber(g.height,e.minHeight,e.maxHeight),g.x=a.x,g.y=a.y,\"number\"==typeof d&&(g.width=g.height*d)),\"string\"==typeof e.lockCropAreaAt){var j=getPositionByPlaceLabel(e.lockCropAreaAt,f,g),k=j.x,l=j.y;g.x=k,g.y=l}return g};","import _extends from\"@babel/runtime/helpers/extends\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c=n.width&&j.height>=n.height;n.width&&n.height&&(df.scaledBy?f.scaledBy:1,J=_objectSpread(_objectSpread({},f),{},{width:f.width/I,height:f.height/I});F=boundResizing(J,_objectSpread(_objectSpread({},J),{},{x:0,y:0}),_objectSpread(_objectSpread({},J),{},{abstractX:0,abstractY:0}),!(A||B)&&C(),v)}else F=j;var K=F,L=K.x,M=void 0===L?0:L,x=K.y,N=void 0===x?0:x,y=K.width,O=K.height,P={x:M,y:N,ref:q,fill:\"#FFFFFF\",scaleX:1,scaleY:1,globalCompositeOperation:\"destination-out\",onDragEnd:w?void 0:H,onDragMove:w?void 0:function limitDragging(a){var b=a.target;b.setAttrs(boundDragging(b.attrs,t.current))},onTransformEnd:w?void 0:H,draggable:!w};return React.createElement(React.Fragment,null,React.createElement(Image,{image:e,x:k?f.width:0,y:l?f.height:0,width:f.width,height:f.height,filters:[Konva.Filters.Blur,Konva.Filters.Brighten],blurRadius:10,brightness:-.3,scaleX:k?-1:1,scaleY:l?-1:1,ref:s}),B?React.createElement(Ellipse,_extends({},P,{radiusX:y/2,radiusY:O/2,offset:{x:-y/2,y:-O/2}})):React.createElement(Rect,_extends({},P,{width:j.noEffect?0:y,height:j.noEffect?0:O})),j.noEffect&&React.createElement(TextNode,{name:\"Text\",id:\"no-preview-text-node\",text:p(\"cropItemNoEffect\"),x:f.width/2-noEffectTextDimensions.width/2,y:f.height/2-noEffectTextDimensions.height/2,fontSize:20,fill:\"#ffffff\",stroke:\"#ff0000\",strokeWidth:.2,shadowColor:\"#ff0000\",shadowBlur:10,annotationEvents:{},align:\"center\",width:noEffectTextDimensions.width,height:noEffectTextDimensions.height}),React.createElement(Transformer,{centeredScaling:!1,flipEnabled:!1,rotateEnabled:!1,nodes:q.current?[q.current]:[],anchorSize:14,anchorCornerRadius:7,enabledAnchors:G,ignoreStroke:!1,anchorStroke:c.palette[\"accent-primary\"],anchorFill:c.palette[\"access-primary\"],anchorStrokeWidth:2,borderStroke:c.palette[\"accent-primary\"],borderStrokeWidth:2,borderDash:[4],keepRatio:!A||!B,ref:r,boundBoxFunc:function boundBoxFunc(a,b){return boundResizing(a,b,t.current,!(A||B)&&C(),v)}}))};export default CropTransformer;","import React,{useMemo}from\"react\";import{Transformer}from\"react-konva\";import{NODES_TRANSFORMER_ID,POINTER_ICONS,TOOLS_IDS}from\"../../../utils/constants\";import{useStore}from\"../../../hooks\";import{CHANGE_POINTER_ICON,ENABLE_TEXT_CONTENT_EDIT}from\"../../../actions\";var NodesTransformer=function(){var a,b=useStore(),c=b.selectionsIds,d=void 0===c?[]:c,e=b.theme,f=b.designLayer,g=b.dispatch,h=b.config.useCloudimage,i=useMemo(function(){return null!==f&&void 0!==f&&f.findOne?d.map(function(a){return f.findOne(\"#\".concat(a))}).filter(Boolean):[]},[d]),j=function(){1===i.length&&i[0].name()===TOOLS_IDS.TEXT&&g({type:ENABLE_TEXT_CONTENT_EDIT,payload:{textIdOfEditableContent:i[0].id()}})},k=h?[\"top-left\",\"bottom-left\",\"top-right\",\"bottom-right\"]:void 0;return React.createElement(Transformer,{id:NODES_TRANSFORMER_ID,centeredScaling:!1,rotationSnaps:[0,45,90,135,180,225,270,315],nodes:i,rotateAnchorOffset:30,anchorSize:14,anchorCornerRadius:7,padding:1===i.length?null!==(a=i[0].attrs.padding)&&void 0!==a?a:1:1,ignoreStroke:!1,anchorStroke:e.palette[\"accent-primary\"],anchorFill:e.palette[\"access-primary\"],anchorStrokeWidth:2,borderStroke:e.palette[\"accent-primary\"],borderStrokeWidth:2,borderDash:[4],rotateEnabled:!h,onMouseOver:function changePointerIconToMove(){g({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.MOVE}})},onMouseLeave:function changePointerIconToDraw(){g({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.DRAW}})},onDblClick:j,onDblTap:j,enabledAnchors:k,flipEnabled:!h,shouldOverdrawWholeArea:!0})};export default NodesTransformer;","import React from\"react\";import{Layer}from\"react-konva\";import{useStore}from\"../../../hooks\";import{TOOLS_IDS,TRANSFORMERS_LAYER_ID}from\"../../../utils/constants\";import CropTransformer from\"./CropTransformer\";import NodesTransformer from\"./NodesTransformer\";var TransformersLayer=function(){var a=useStore(),b=a.toolId,c=a.shownImageDimensions;return React.createElement(Layer,{id:TRANSFORMERS_LAYER_ID,x:c.abstractX||0,y:c.abstractY||0},React.createElement(NodesTransformer,null),b===TOOLS_IDS.CROP&&React.createElement(CropTransformer,null))};export default TransformersLayer;","import styled from\"styled-components\";var StyledNodeControls=styled.div.withConfig({componentId:\"sc-1tst9ex-0\"})(function(a){var b=a.theme,c=a.top,d=a.left;return\"\\n position: absolute;\\n z-index: 1;\\n background: \".concat(b.palette[\"bg-secondary\"],\";\\n border-radius: 2px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: 0px 1px 2px \").concat(b.palette[\"light-shadow\"],\";\\n top: \").concat((c||0)+8,\"px;\\n left: \").concat((d||0)+4,\"px;\\n transform: translateX(-50%);\\n height: 32px;\\n\")});export{StyledNodeControls};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useEffect,useMemo,useState}from\"react\";import IconButton from\"@scaleflex/ui/core/icon-button\";import DeleteOutline from\"@scaleflex/icons/delete-outline\";import Duplicate from\"@scaleflex/icons/duplicate\";import{useStore}from\"../../hooks\";import{DUPLICATE_ANNOTATIONS,REMOVE_ANNOTATIONS}from\"../../actions\";import{NODES_TRANSFORMER_ID,WATERMARK_ANNOTATION_ID}from\"../../utils/constants\";import debounce from\"../../utils/debounce\";import{StyledNodeControls}from\"./NodeControls.styled\";var NodeControls=function(){var a=useStore(),b=a.selectionsIds,c=void 0===b?[]:b,d=a.designLayer,e=a.annotations,f=a.dispatch,g=useState({left:0,top:0}),h=_slicedToArray(g,2),i=h[0],j=h[1],k=useMemo(function(){var a;return null===d||void 0===d||null===(a=d.getStage())||void 0===a?void 0:a.findOne(\"#\".concat(NODES_TRANSFORMER_ID))},[d]),l=c.length,m=debounce(function(){k&&j({left:(k.x()+k.width()/2)*k.scaleX(),top:(k.y()+k.height())*k.scaleY()})},0);if(useEffect(function(){m()},[c,k,e]),0===l||!k)return null;return React.createElement(StyledNodeControls,{className:\"FIE_annotation-controls-overlay\",left:i.left,top:i.top},c[0]!==WATERMARK_ANNOTATION_ID&&React.createElement(IconButton,{color:\"basic\",size:\"sm\",onClick:function duplicateSelectedNodes(){f({type:DUPLICATE_ANNOTATIONS,payload:{annotationsIds:c}})}},React.createElement(Duplicate,null)),React.createElement(IconButton,{color:\"basic\",size:\"sm\",onClick:function removeSelectedNodes(){f({type:REMOVE_ANNOTATIONS,payload:{annotationsIds:c}})}},React.createElement(DeleteOutline,null)))};export default NodeControls;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;ct),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useMemo(function(){return{cursor:g===POINTER_ICONS.DEFAULT&&h===TABS_IDS.ANNOTATE?POINTER_ICONS.DRAW:g}},[h,g]),A=function(a){f({type:ZOOM_CANVAS,payload:a})},B=useCallback(function(a){var b,c;a.evt.preventDefault(),null===(b=(c=a.currentTarget).container)||void 0===b||b.call(c).focus(),a.target instanceof Konva.Stage&&0t&&u&&(a.preventDefault(),y(!0),f({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.DRAG}}))},E=function(a){\"Space\"===a.code&&(a.preventDefault(),C())},F=function(){c.current&&c.current.container().focus()};useEffect(function(){f({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS[x?\"DRAG\":\"DEFAULT\"]}})},[x]),useEffect(function(){y(h!==TABS_IDS.ANNOTATE&&h!==TABS_IDS.WATERMARK&&p.factor>t);var a;return c.current&&(a=c.current.container(),a.addEventListener(\"mouseenter\",F),a.addEventListener(\"keydown\",D),a.addEventListener(\"keyup\",E)),function(){a&&(a.removeEventListener(\"mouseenter\",F),a.removeEventListener(\"keydown\",D),a.removeEventListener(\"keyup\",E))}},[h,p.factor,t]);var G=l*(u&&p.factor||t);return React.createElement(StyledCanvasNode,{className:\"FIE_canvas-node\",tabIndex:-1,ref:c,width:j,height:k,scaleX:G,scaleY:G,x:u&&p.x||null,y:u&&p.y||null,zoomFactor:u&&p.factor||t,onWheel:u?function handleZoom(a){a.evt.preventDefault();var b=(p.factor||t)+a.evt.deltaY*-ZOOM_DELTA_TO_SCALE_CONVERT_FACTOR,c=a.currentTarget.getPointerPosition();A(_objectSpread(_objectSpread({},c),{},{factor:b}))}:void 0,onTap:B,onClick:B,onTouchMove:u?function(a){return zoomOnTouchesMove(a,A)}:void 0,onDragStart:function preventDraggingIfMultiTouches(a){var b;1<(null===(b=a.evt.touches)||void 0===b?void 0:b.length)&&y(!1)},onTouchEnd:u?function endTouchesZoomingEnablePanning(){endTouchesZooming(C)}:void 0,dragBoundFunc:function dragBoundFunc(a){var b=Math.min(0,Math.max(a.x,j*(1-p.factor))),c=Math.min(0,Math.max(a.y,k*(1-p.factor)));return{x:b,y:c}},draggable:u&&x,onDragEnd:function handleCanvasDragEnd(a){a.currentTarget.draggable()&&\"stage\"===a.target.nodeType.toLowerCase()&&u&&x&&A({factor:p.factor,x:a.target.x(),y:a.target.y(),preparedDimensions:!0})},style:z},b)};export default memo(CanvasNode);","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useCallback,useEffect,useRef}from\"react\";import{DesignLayer,TransformersLayer}from\"../Layers\";import{AppProviderOverridenValue}from\"../../context\";import{SET_CANVAS_SIZE}from\"../../actions\";import{useResizeObserver,useStore}from\"../../hooks\";import NodeControls from\"../NodeControls\";import CanvasNode from\"./CanvasNode\";import{CanvasContainer,StyledOrignalImage}from\"./MainCanvas.styled\";var MainCanvas=function(){var a=useResizeObserver(),b=_slicedToArray(a,1),c=b[0],d=useStore(),e=useRef(null),f=useCallback(function(a){var b=a.width,c=a.height;d.dispatch({type:SET_CANVAS_SIZE,payload:{canvasWidth:b,canvasHeight:c}})},[]);return useEffect(function(){c(e.current,f)},[]),React.createElement(CanvasContainer,{className:\"FIE_canvas-container\",ref:e},!d.textIdOfEditableContent&&React.createElement(NodeControls,null),d.isShowOriginalImage&&React.createElement(StyledOrignalImage,{className:\"FIE_original-image-compare\",src:d.originalImage.src}),React.createElement(CanvasNode,null,React.createElement(AppProviderOverridenValue,{overridingValue:d},React.createElement(DesignLayer,null),React.createElement(TransformersLayer,null))))};export default MainCanvas;","import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledSeparator=styled.div.withConfig({componentId:\"sc-etsyb6-0\"})([\"display:inline-block;height:\",\";width:\",\";border-radius:1px;background:\",\";\"],function(a){return a.height},function(a){return a.width},function(a){var b=a.theme.palette;return b[PC.BordersSecondary]});export{StyledSeparator};","import React from\"react\";import{StyledSeparator}from\"./Separator.styled\";var Separator=function(a){var b=a.height,c=a.width;return React.createElement(StyledSeparator,{height:b,width:c})};Separator.defaultProps={height:\"24px\",width:\"1px\"};export default Separator;","import styled from\"styled-components\";import Button from\"@scaleflex/ui/core/button\";import IconButton from\"@scaleflex/ui/core/icon-button\";import Label from\"@scaleflex/ui/core/label\";import{CrossButton,InputGroup,SelectGroup}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledTopbar=styled.div.withConfig({componentId:\"sc-21g986-0\"})([\"padding:16px;box-sizing:border-box;position:relative;width:100%;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid \",\";[data-phone='true'] &{padding:6px 6px 4px 6px;\",\"}\"],function(a){var b=a.theme.palette;return b[PC.BordersSecondary]},function(a){var b=a.isPhoneScreen;return b&&\"\\n padding: 12px 12px 0px;\\n gap: 12px;\\n \"}),StyledMainButtonsWrapper=styled.div.withConfig({componentId:\"sc-21g986-1\"})([\"display:flex;align-items:center;order:1;\"]),StyledControlButtonsWrapper=styled.div.withConfig({componentId:\"sc-21g986-2\"})([\"display:flex;align-items:center;order:3;gap:4px;\"]),StyledHistoryButton=styled(IconButton).withConfig({componentId:\"sc-21g986-3\"})([\"margin:\",\";svg{color:\",\";}\"],function(a){var b=a.margin;return null!==b&&void 0!==b?b:\"0 4px\"},function(a){var b=a.theme.palette,c=a.disabled;return c?b[PC.IconsMuted]:b[PC.IconsPrimary]}),StyledZoomingWrapper=styled.div.withConfig({componentId:\"sc-21g986-4\"})([\"display:flex;align-items:center;gap:2px;\"]),StyledDimensionsLabel=styled(Label).withConfig({componentId:\"sc-21g986-5\"})([\"flex-shrink:0;color:\",\";\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPlaceholder]},function(a){var b=a.theme.typography;return b.font[FV.LabelMedium]}),StyledSmallButton=styled(IconButton).withConfig({componentId:\"sc-21g986-6\"})([\"padding:8px;svg{color:\",\";}\"],function(a){var b=a.theme.palette,c=a.showBackButton;return c?b[PC.IconsPrimary]:b[PC.IconsMuted]}),StyledFlexCenterAlignedContainer=styled.div.withConfig({componentId:\"sc-21g986-7\"})([\"width:\",\";height:32px;display:block;width:100%;order:4;\",\";@media (min-width:761px){display:flex;align-items:center;justify-content:center;width:fit-content;order:2;}\"],function(a){var b=a.showBackButton;return b?\"318px\":\"384px\"},function(a){var b=a.reverseDirection;return b?\"flex-direction: row-reverse\":\"\"}),StyledZoomPercentageLabel=styled(Label).withConfig({componentId:\"sc-21g986-8\"})([\"cursor:pointer;color:\",\";\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPrimary]},function(a){var b=a.theme.typography;return b.font[FV.InputMd]}),StyledBackButtonLabel=styled.span.withConfig({componentId:\"sc-21g986-9\"})([\"\",\";\"],function(a){var b=a.theme.typography;return b.font[FV.ButtonMdEmphasis]}),StyledCloseButton=styled(CrossButton).withConfig({componentId:\"sc-21g986-10\"})([\"padding:8px;z-index:111;\"]),StyledSaveButton=styled(Button).withConfig({componentId:\"sc-21g986-11\"})([\"padding:4px 12px;\"]),StyledFileNameInput=styled(InputGroup).withConfig({componentId:\"sc-21g986-12\"})([\"\"]),StyledFileExtensionSelect=styled(SelectGroup).withConfig({componentId:\"sc-21g986-13\"})([\"margin-top:16px;\"]),StyledQualityWrapper=styled.div.withConfig({componentId:\"sc-21g986-14\"})([\"width:100%;margin-top:16px;\"]),StyledResizeOnSave=styled.div.withConfig({componentId:\"sc-21g986-15\"})([\"margin-top:16px;width:100%;\"]),StyledResizeOnSaveLabel=styled(Label).withConfig({componentId:\"sc-21g986-16\"})([\"margin-bottom:4px;\"]),StyledHistoryButtons=styled.div.withConfig({componentId:\"sc-21g986-17\"})([\"display:flex;gap:6px;\"]),StyledImageOptionsButtons=styled.div.withConfig({componentId:\"sc-21g986-18\"})([\"display:flex;gap:12px;justify-content:\",\";\"],function(a){var b=a.isPhoneScreen;return b?\"space-between\":\"center\"}),StyledMenuIconButton=styled(IconButton).withConfig({componentId:\"sc-21g986-19\"})([\"@media (min-width:761px){display:none;}\"]),StyledDimensionsButtons=styled.div.withConfig({componentId:\"sc-21g986-20\"})([\"display:flex;gap:12px;align-items:center;\"]);export{StyledTopbar,StyledFlexCenterAlignedContainer,StyledHistoryButton,StyledZoomingWrapper,StyledSmallButton,StyledZoomPercentageLabel,StyledBackButtonLabel,StyledCloseButton,StyledSaveButton,StyledFileNameInput,StyledFileExtensionSelect,StyledQualityWrapper,StyledResizeOnSave,StyledDimensionsLabel,StyledMainButtonsWrapper,StyledControlButtonsWrapper,StyledHistoryButtons,StyledImageOptionsButtons,StyledMenuIconButton,StyledDimensionsButtons,StyledResizeOnSaveLabel};","import styled,{css}from\"styled-components\";import modalTitle from\"@scaleflex/ui/core/modal-title\";import{Modal,ModalActions}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledModal=styled(Modal).withConfig({componentId:\"sc-kpjpf5-0\"})([\"width:\",\";max-width:unset;\"],function(a){var b=a.width;return b||\"300px\"}),StyledModalTitle=styled(modalTitle).withConfig({componentId:\"sc-kpjpf5-1\"})(function(a){var b=a.theme,c=a.isWarning;return css([\"padding-bottom:0;.SfxModalTitle-Icon{background-color:\",\";}.SfxModalTitle-LabelPrimary{margin-bottom:24px;\",\";}.SfxModalTitle-LabelSecondary{\",\";text-align:center;}\"],c&&b.palette[PC.Orange_0_1_Overlay],b.typography.font[FV.TitleH3],b.typography.font[FV.TextLarge])}),StyledModalActions=styled(ModalActions).withConfig({componentId:\"sc-kpjpf5-2\"})([\"gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}\"]);export{StyledModal,StyledModalTitle,StyledModalActions};","import React from\"react\";import{Button,ModalContent}from\"@scaleflex/ui/core\";import{StyledModal,StyledModalTitle,StyledModalActions}from\"./Modal.styled\";var Modal=function(a){var b=a.title,c=a.hint,d=a.Icon,f=a.onDone,g=a.onCancel,h=a.doneLabel,i=a.cancelLabel,j=a.isOpened,k=a.doneButtonStyle,l=a.doneButtonColor,m=void 0===l?\"basic\":l,n=a.cancelButtonColor,o=void 0===n?\"basic\":n,p=a.children,q=a.areButtonsDisabled,r=a.zIndex,s=a.className,t=a.width,u=a.isWarning;return React.createElement(StyledModal,{className:s,open:j,onClose:g,style:{zIndex:r},onKeyUp:function onKeyUp(a){\"Enter\"===a.key&&f(a),\"Escape\"===a.key&&g()},width:t,role:\"dialog\",tabIndex:-1,\"aria-modal\":\"true\",\"aria-label\":b},React.createElement(StyledModalTitle,{icon:React.createElement(d,{size:25}),iconShadow:!0,isWarning:u,onClose:g,primary:b,secondary:c,variant:\"with-icon\"}),p&&React.createElement(ModalContent,null,p),React.createElement(StyledModalActions,{align:\"center\"},React.createElement(Button,{color:o,onClick:g,size:\"md\",disabled:q},i),React.createElement(Button,{color:m,onClick:f,size:\"md\",warning:u,style:k,disabled:q},h)))};Modal.defaultProps={hint:\"\",isOpened:!1,doneLabel:\"Yes\",cancelLabel:\"No\",doneButtonStyle:void 0,doneButtonColor:\"basic\",cancelButtonColor:\"basic\",children:void 0,areButtonsDisabled:!1,zIndex:void 0,className:void 0,width:\"\",isWarning:!1};export default Modal;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState,useCallback}from\"react\";import{Warning}from\"@scaleflex/icons\";import{useStore}from\"../../hooks\";import{RESET}from\"../../actions\";import Modal from\"../common/Modal\";import{CLOSING_REASONS}from\"../../utils/constants\";var ConfirmationModal=function(a){var b=a.children,c=a.isReset,d=useStore(),e=d.t,f=d.theme,g=d.config,h=d.dispatch,i=d.isResetted,j=d.haveNotSavedChanges,k=d.config.onClose,l=useState(!1),m=_slicedToArray(l,2),n=m[0],o=m[1];if(\"function\"!=typeof k&&!c)return React.createElement(\"span\",null);var p=function(){o(!1)},q=useCallback(function(){h({type:RESET,payload:{config:g}}),p()},[g]),r=function(){c||(k(CLOSING_REASONS.CLOSE_BUTTON,j),q())};return React.createElement(React.Fragment,null,React.cloneElement(b,{onClick:!(void 0!==i)||i?r:function openModal(){o(!0)}}),n&&React.createElement(Modal,{title:c?e(\"warning\"):e(\"discardChanges\"),hint:c?e(\"changesLoseWarningHint\"):e(\"discardChangesWarningHint\"),isOpened:n,onCancel:p,onDone:c?q:r,Icon:function WarningIcon(){return React.createElement(Warning,{color:f.palette.warning,size:25})},doneLabel:e(\"confirm\"),doneButtonColor:\"warning-primary\",cancelLabel:e(\"cancel\"),width:\"400px\",isWarning:!0}))};ConfirmationModal.defaultProps={isReset:!1};export default ConfirmationModal;","import React from\"react\";import CrossOutline from\"@scaleflex/icons/cross-outline\";import{useStore}from\"../../hooks\";import Separator from\"../common/Separator\";import{StyledCloseButton}from\"./Topbar.styled\";import ConfirmationModal from\"./ConfirmationModal\";var CloseButton=function(){var a=useStore(),b=a.config.onClose;return\"function\"==typeof b?React.createElement(React.Fragment,null,React.createElement(Separator,null),React.createElement(ConfirmationModal,null,React.createElement(StyledCloseButton,{className:\"FIE_topbar-close-button\",color:\"basic\",size:\"md\"},React.createElement(CrossOutline,null)))):null};export default CloseButton;","import{DEFAULT_SAVE_QUALITY}from\"./constants\";var getDefaultSaveQuality=function(a){return 0>=a||1 svg:not([color]){color:\",\"}:disabled,[aria-disabled=\\\"true\\\"]{cursor:not-allowed;}&::-webkit-scrollbar{width:4px;height:4px;}&::-webkit-scrollbar-track{background:rgba(203,211,218,0.35);}&::-webkit-scrollbar-thumb{background:rgba(203,211,218,1);border-radius:10px;}}\"],ROOT_CONTAINER_CLASS_NAME,ROOT_CONTAINER_CLASS_NAME,function(a){var b=a.theme;return b.palette[\"icons-primary\"]});export{FontsFaces,OverrideDefaultStyles};","import React,{useEffect,memo}from\"react\";import ThemeProvider from\"@scaleflex/ui/theme\";import App from\"../App\";import{AppProvider}from\"../../context\";import defaultConfig from\"../../context/defaultConfig\";import deepMerge from\"../../utils/deepMerge\";import assignFinetuneNamesToKonva from\"../../utils/assignFinetuneNamesToKonva\";import{FontsFaces,OverrideDefaultStyles}from\"./globalStyles\";var AssemblyPoint=function(a){var b=a.source,c=a.useCloudimage,d=a.cloudimage;if(!b||\"string\"!=typeof b&&!(b instanceof HTMLImageElement))throw new Error(\"`source` property is required either a string of image url or a HTMLImageElement for the image that will be edited.\");if(c){var e,f;if(null!==d&&void 0!==d&&null!==(e=d.imageSealing)&&void 0!==e&&e.enable&&!(null!==d&&void 0!==d&&null!==(f=d.imageSealing)&&void 0!==f&&f.salt))throw new Error(\"`salt` property of imageSealing object is required in cloudimage mode as long as `imageSealing` is enabled.\")}useEffect(function(){assignFinetuneNamesToKonva()},[]);var g=deepMerge(defaultConfig,a);return React.createElement(React.StrictMode,null,React.createElement(ThemeProvider,{theme:g.theme},React.createElement(FontsFaces,null),React.createElement(OverrideDefaultStyles,null),React.createElement(AppProvider,{config:g},React.createElement(App,null))))};AssemblyPoint.defaultProps={useCloudimage:!1,cloudimage:{}};export default memo(AssemblyPoint);","import _typeof from\"@babel/runtime/helpers/typeof\";import _classCallCheck from\"@babel/runtime/helpers/classCallCheck\";import _createClass from\"@babel/runtime/helpers/createClass\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;carguments.length?b:c;throw new TypeError(\"Private element is not present on this object\")}import{createElement}from\"react\";import{createRoot}from\"react-dom/client\";import AssemblyPoint,{TOOLS,TABS}from\"react-filerobot-image-editor\";import deepMerge from\"react-filerobot-image-editor/lib/utils/deepMerge\";var _root=new WeakMap,_getCurrentImgDataFnRef=new WeakMap,_updateStateFnRef=new WeakMap,FilerobotImageEditor=function(){function a(b){var c=1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import o,{useRef as r,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.14\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var o=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,W=G?Symbol.for(\"react.forward_ref\"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:q;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if(\"string\"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n)}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document ``\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a ``\"}:{};function de(){for(var e=[],t=0;t0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;sme))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var o,r=n.split(\",\"),s=0,i=r.length;s=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e0&&(c+=\"\".concat(e,\",\"))}),o+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,r,s,a){void 0===r&&(r=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=r,o=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||r?\"\".concat(s,\" \").concat(r,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=o.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=o.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],r=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return o.createElement($e.Provider,{value:d},o.createElement(Le.Provider,{value:u},e.children))}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}o=ie(o,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),o=ie(o,d)}}return o},e}(),et=o.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function ot(e){var n=o.useContext(et),r=i(function(){return function(e,n){if(!e)throw he(14);if(re(e)){var o=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===o||Array.isArray(o)||\"object\"!=typeof o))throw he(7);return o}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?o.createElement(et.Provider,{value:r},e.children):null}var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);rt[n]=(rt[n]||0)+1;var o=\"\".concat(n,\"-\").concat($(v+n+rt[n]));return t?\"\".concat(t,\"-\").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=r.displayName&&r.componentId?\"\".concat(R(r.displayName),\"-\").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=o.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=t(t({},n),{className:void 0,theme:o}),i=0;i` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(o),o}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,r)}O.displayName=y;var D=o.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"),o=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},e}();function ft(n){for(var r=[],s=1;s meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"),t.styleSheet.server&&u(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect(function(){if(!t.styleSheet.server)return u(r,e,t.styleSheet,n,t.stylis),function(){return c.removeStyles(r,t.styleSheet)}},[r,e,t.styleSheet,n,t.stylis]),null};function u(e,n,o,r,s){if(c.isStatic)c.renderStyles(e,b,o,s);else{var i=t(t({},n),{theme:I(n,r,l.defaultProps)});c.renderStyles(e,i,o,s)}}return o.memo(l)}function mt(t){for(var n=[],o=1;o\").concat(t,\"\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var r=e.instance.toString();if(!r)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:r},n),i=Ce();return i&&(s.nonce=i),[o.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return o.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw he(3)},e}(),gt={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var St=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[St]+=1);export{vt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,ot as ThemeProvider,gt as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nexport function generateClassNames(componentName, subClassNames) {\n var generateClassName = function generateClassName(subClassName) {\n return \"Sfx\".concat(componentName).concat(subClassName ? \"-\".concat(subClassName) : '');\n };\n var classNameArray = [];\n if (subClassNames) {\n if (Array.isArray(subClassNames)) {\n classNameArray.push.apply(classNameArray, _toConsumableArray(subClassNames.filter(function (subClassName) {\n return typeof subClassName === 'string';\n }).map(function (subClassName) {\n return generateClassName(subClassName);\n })));\n } else if (typeof subClassNames === 'string') {\n classNameArray.push(generateClassName(subClassNames));\n }\n }\n if (classNameArray.length === 0) {\n classNameArray.push(generateClassName());\n }\n return classNameArray.join(' ');\n}","import { forwardRef } from 'react';\n/**\r\n * Wrapper around React's `forwardRef` function, which adds a `displayName` to each component\r\n * created using it\r\n */\nexport function intrinsicComponent(render, displayName) {\n var component = /*#__PURE__*/forwardRef(render);\n component.displayName = displayName || render.name;\n return component;\n}","/**\r\n * If your prop can be either a function or a plain value, this function handles\r\n * its usage for you – just provide the reference for a 'maybe function' and the arguments\r\n * to call it with\r\n */\nexport function applyPolymorphicFunctionProp(prop) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return typeof prop === 'function' ? prop.apply(void 0, args) : prop;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\r\n * If you are using a namespace for your styled components, this can come in handy giving each\r\n * styled component in this namespace a displayName which gives better debugging experience\r\n */\nexport function applyDisplayNames(styledObject) {\n return Object.keys(styledObject).reduce(function (newStyledObject, styledComponentName) {\n var styledComponent = styledObject[styledComponentName];\n styledComponent.displayName = \"\".concat(styledComponentName);\n return Object.assign(newStyledObject, _defineProperty({}, styledComponentName, styledComponent));\n }, {});\n}","/**\r\n * passes {value} to {ref}\r\n * Useful if you want to expose the ref of an inner component to the public API\r\n * while still using it inside the component.\r\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\r\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import * as React from 'react';\nimport setRef from './set-ref';\nexport function useForkRef(refA, refB) {\n /**\r\n * This will create a new function if the ref props change and are defined.\r\n * This means react will call the old forkRef with `null` and the new forkRef\r\n * with the ref. Cleanup naturally emerges from this behavior.\r\n */\n return React.useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n return function (refValue) {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}","export function restrictNumber(number) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 ? arguments[2] : undefined;\n // we are not assigning default value for it as if max was null it will override the default value.\n var currentMax = max || 1000000;\n var convertedNumber = +number;\n return Math.min(Math.max(min, convertedNumber), currentMax);\n}","export function mapNumber(number, oldMin, oldMax, newMin, newMax) {\n return (number - oldMin) * (newMax - newMin) / (oldMax - oldMin) + newMin;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nexport var rgbStringToArray = function rgbStringToArray(rgbColorString) {\n return rgbColorString.replaceAll(/[^\\d,]/gi, '').split(',').map(function (n) {\n return +n;\n });\n};\nexport var hexToRgb = function hexToRgb(hexColor) {\n // if (!hexColor) return { r: 0, g: 0, b: 0 };\n if (!hexColor) return [0, 0, 0];\n return [Number.parseInt(hexColor.slice(1, 3), 16), Number.parseInt(hexColor.slice(3, 5), 16), Number.parseInt(hexColor.slice(5, 7), 16)];\n};\nvar rgbChannelToHex = function rgbChannelToHex(channel) {\n return channel.toString(16).padStart(2, '0');\n};\nexport var rgbToHex = function rgbToHex() {\n for (var _len = arguments.length, rgbColor = new Array(_len), _key = 0; _key < _len; _key++) {\n rgbColor[_key] = arguments[_key];\n }\n return \"#\".concat(rgbColor.map(rgbChannelToHex).join(''));\n};\nexport var hslToHex = function hslToHex(h, s, l) {\n var dividedL = l / 100;\n var a = s * Math.min(dividedL, 1 - dividedL) / 100;\n var f = function f(n) {\n var k = (n + h / 30) % 12;\n var color = dividedL - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return rgbChannelToHex(Math.round(255 * color));\n };\n return \"#\".concat(f(0)).concat(f(8)).concat(f(4));\n};\nexport var rgbToHsl = function rgbToHsl() {\n for (var _len2 = arguments.length, rgbColor = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n rgbColor[_key2] = arguments[_key2];\n }\n var r = rgbColor[0],\n g = rgbColor[1],\n b = rgbColor[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n if (max === min) {\n h = 0;\n s = 0;\n } else {\n var diff = max - min;\n s = l > 0.5 ? diff / (2 - max - min) : diff / (max + min);\n switch (max) {\n case r:\n h = (g - b) / diff + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / diff + 2;\n break;\n case b:\n h = (r - g) / diff + 4;\n break;\n default:\n h = 0;\n }\n h /= 6;\n }\n\n // * 360 for having the hue in degrees\n return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)];\n};\nexport var colorToHsl = function colorToHsl(color) {\n if (color.startsWith('#')) {\n var hex = color;\n if (color.length === 4) {\n hex = \"#\".concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]).concat(color[3]).concat(color[3]);\n }\n return rgbToHsl.apply(void 0, _toConsumableArray(hexToRgb(hex)));\n }\n if (color.startsWith('rgb')) {\n var colorInRgb = rgbStringToArray(color);\n return rgbToHsl.apply(void 0, _toConsumableArray(colorInRgb));\n }\n\n // if the color is in text and no one from previous then return the default color which is black\n if (typeof color === 'string') {\n return [0, 0, 0];\n }\n return color;\n};\nexport var colorToRgb = function colorToRgb(color) {\n // we are not handling (hsl/color name) here cause we are accepting only HEX and RGB colors as default colors from user.\n if (color.startsWith('#')) {\n return hexToRgb(color);\n }\n if (color.startsWith('rgb')) {\n return rgbStringToArray(color);\n }\n if (typeof color === 'string') {\n return [0, 0, 0];\n }\n return color;\n};\nexport var colorToHex = function colorToHex(color) {\n if (color.startsWith('#')) {\n if (color.length === 7) {\n return color;\n }\n return \"#\".concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n }\n if (color.startsWith('rgb')) {\n return rgbToHex.apply(void 0, _toConsumableArray(rgbStringToArray(color)));\n }\n if (typeof color === 'string') {\n return '#000000';\n }\n return color;\n};\nvar checkIsBlack = function checkIsBlack(s, l) {\n return l === 0 && (s === 0 || s === 1);\n};\nvar checkIsWhite = function checkIsWhite(s, l) {\n return s === 0 && l === 1;\n};\n\n// both hsv and hsl values are in [0, 1] except h is in [0, 360]\nexport var hsvToHsl = function hsvToHsl(h, s, v) {\n var newS = s;\n var l = (2 - s) * v / 2;\n if (l !== 0) {\n if (l === 1) {\n newS = 0;\n } else if (l < 0.5) {\n newS = newS * v / (l * 2);\n } else {\n newS = newS * v / (2 - l * 2);\n }\n }\n var isBlack = checkIsBlack(newS, l);\n return [isBlack || checkIsWhite(newS, l) ? 0 : h, isBlack ? 0 : Math.round(newS * 100), Math.round(l * 100)];\n};\n\n// both hsv and hsl values are in [0, 1] except h is in [0, 360]\nexport var hslToHsv = function hslToHsv(h, s, l) {\n var newS = s;\n var newL = l * 2;\n newS *= newL <= 1 ? newL : 2 - newL;\n var v = (newL + newS) / 2;\n newS = 2 * newS / (newL + newS);\n\n // return [h, newS, v];\n var isBlack = checkIsBlack(newS, l);\n return [isBlack || checkIsWhite(newS, l) ? 0 : h, isBlack ? 0 : Math.round(newS * 100), Math.round(v * 100)];\n};\n\n// TODO: validating 3 color code for Hex\n// /^#([\\da-f]{3}){1,2}$/i.test(color)colorToHex\nexport var validateHex = function validateHex(color) {\n return /^#[\\da-f]{6}$/i.test(color);\n};","export function getElemDocumentCoords(elem) {\n if (!elem) {\n return null;\n }\n var box = elem.getBoundingClientRect();\n var _document = document,\n body = _document.body;\n var docEl = document.documentElement;\n var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var top = box.top + scrollTop - clientTop;\n var left = box.left + scrollLeft - clientLeft;\n return {\n top: Math.round(top),\n left: Math.round(left),\n width: box.width,\n height: box.height\n };\n}","export function asc(a, b) {\n return a - b;\n}\nexport function valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\nexport function percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + Number.parseInt(parts[1], 10);\n }\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nexport function roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\nexport function setValueIndex(_ref) {\n var values = _ref.values,\n newValue = _ref.newValue,\n index = _ref.index;\n var output = values.slice();\n output[index] = newValue;\n return output.sort(asc);\n}\nexport function findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n return closestIndex;\n}\nexport function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\nexport function clamp(value, min, max) {\n if (value == null) {\n return min;\n }\n return Math.min(Math.max(min, value), max);\n}\nexport function trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return false;\n }\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\nexport var axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\nexport function focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n var doc = ownerDocument(sliderRef.current);\n if (!sliderRef.current.contains(doc.activeElement) || Number(doc.activeElement.getAttribute('data-index')) !== activeIndex) {\n var _sliderRef$current$qu;\n (_sliderRef$current$qu = sliderRef.current.querySelector(\"[type=\\\"range\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\"))) === null || _sliderRef$current$qu === void 0 || _sliderRef$current$qu.focus();\n }\n if (setActive) {\n setActive(activeIndex);\n }\n}","export var Color = {\n TextPrimary: 'txt-primary',\n TextSecondary: 'txt-secondary',\n TextSecondaryInvert: 'txt-secondary-invert',\n TextPlaceholder: 'txt-placeholder',\n TextWarning: 'txt-warning',\n TextError: 'txt-error',\n TextInfo: 'txt-info',\n AccentPrimary: 'accent-primary',\n AccentPrimaryHover: 'accent-primary-hover',\n AccentPrimaryActive: 'accent-primary-active',\n AccentPrimaryDisabled: 'accent-primary-disabled',\n AccentSecondaryDisabled: 'accent-secondary-disabled',\n AccentStateless: 'accent-stateless',\n AccentStateless_0_4_Opacity: 'accent-stateless_0_4_opacity',\n Accent_0_5_5_Opacity: 'accent_0_5_5_opacity',\n Accent_0_5_Opacity: 'accent_0_5_opacity',\n Accent_0_7_Opacity: 'accent_0_7_opacity',\n Accent_1_2_Opacity: 'accent_1_2_opacity',\n Accent_1_8_Opacity: 'accent_1_8_opacity',\n Accent_2_8_Opacity: 'accent_2_8_opacity',\n Accent_4_0_Opacity: 'accent_4_0_opacity',\n BackgroundGrey: 'bg-grey',\n BackgroundStateless: 'bg-stateless',\n BackgroundActive: 'bg-active',\n BackgroundBaseLight: 'bg-base-light',\n BackgroundBaseMedium: 'bg-base-medium',\n BackgroundPrimary: 'bg-primary',\n BackgroundPrimaryLight: 'bg-primary-light',\n BackgroundPrimaryHover: 'bg-primary-hover',\n BackgroundPrimaryActive: 'bg-primary-active',\n BackgroundPrimaryStateless: 'bg-primary-stateless',\n BackgroundPrimary_0_5_Opacity: 'bg-primary-0-5-opacity',\n BackgroundSecondary: 'bg-secondary',\n BackgroundHover: 'bg-hover',\n BackgroundGreen: 'bg-green',\n BackgroundGreenMedium: 'bg-green-medium',\n BackgroundBlue: 'bg-blue',\n BackgroundRed: 'bg-red',\n BackgroundRedLight: 'bg-red-light',\n BackgroundRedMedium: 'background-red-medium',\n BackgroundOrange: 'bg-orange',\n BackgroundTooltip: 'bg-tooltip',\n IconsPrimary: 'icon-primary',\n IconsPrimaryOpacity_0_6: 'icons-primary-opacity-0-6',\n IconsSecondary: 'icons-secondary',\n IconsPlaceholder: 'icons-placeholder',\n IconsInvert: 'icons-invert',\n IconsMuted: 'icons-muted',\n IconsPrimaryHover: 'icons-primary-hover',\n IconsSecondaryHover: 'icons-secondary-hover',\n ButtonPrimaryText: 'btn-primary-text',\n ButtonPrimaryText_0_6: 'btn-primary-text-0-6',\n ButtonPrimaryText_0_4: 'btn-primary-text-0-4',\n ButtonDisabledText: 'btn-disabled-text',\n ButtonSecondaryText: 'btn-secondary-text',\n LinkPrimary: 'link-primary',\n LinkStateless: 'link-stateless',\n LinkHover: 'link-hover',\n LinkActive: 'link-active',\n LinkMuted: 'link-muted',\n LinkPressed: 'link-pressed',\n BordersPrimary: 'borders-primary',\n BordersPrimaryHover: 'borders-primary-hover',\n BordersSecondary: 'borders-secondary',\n BordersStrong: 'borders-strong',\n BordersInvert: 'borders-invert',\n BorderHoverBottom: 'border-hover-bottom',\n BorderActiveBottom: 'border-active-bottom',\n BorderPrimaryStateless: 'border-primary-stateless',\n BordersDisabled: 'borders-disabled',\n BordersButton: 'borders-button',\n BordersItem: 'borders-item',\n BordersBaseLight: 'borders-base-light',\n BordersBaseMedium: 'borders-base-medium',\n BordersGreen: 'borders-green',\n BordersGreenMedium: 'borders-green-medium',\n BordersRed: 'borders-red',\n ActiveSecondary: 'active-secondary',\n ActiveSecondaryHover: 'active-secondary-hover',\n Tag: 'tag',\n StatesErrorDisabledText: 'states-error-disabled-text',\n Error: 'error',\n Error_0_28_Opacity: 'error-0-28-opacity',\n Error_0_12_Opacity: 'error-0-12-opacity',\n ErrorHover: 'error-hover',\n ErrorActive: 'error-active',\n Success: 'success',\n SuccessHover: 'success-hover',\n SuccessActive: 'success-Active',\n Warning: 'warning',\n WarningHover: 'warning-hover',\n WarningActive: 'warning-active',\n Info: 'info',\n Modified: 'modified',\n Red: 'red',\n Orange: 'orange',\n Salad: 'salad',\n Green: 'green',\n Blue: 'blue',\n Indigo: 'indigo',\n Violet: 'violet',\n Pink: 'pink',\n GradientRight: 'gradient-right',\n Extra_0_3_Overlay: 'extra-0-3-overlay',\n GradientRightActive: 'gradient-right-active',\n GradientRightHover: 'gradient-right-hover',\n Extra_0_5_Overlay: 'extra-0-5-overlay',\n Extra_0_7_Overlay: 'extra-0-7-overlay',\n Extra_0_9_Overlay: 'extra-0-9-overlay',\n Red_0_1_Overlay: 'red-0-1-overlay',\n Orange_0_1_Overlay: 'orange-0-1-overlay',\n Accent_0_8_Overlay: 'accent-0-8-overlay',\n Green_0_2_Overlay: 'green-0-2-Overlay',\n Link: 'link',\n Camera: 'camera',\n GoogleDrive: 'google-drive',\n Dropbox: 'dropbox',\n OneDrive: 'one-drive',\n Device: 'device',\n Instagram: 'instagram',\n FreeImages: 'free-images',\n FreeIcons: 'free-icons',\n Canvas: 'canvas',\n Box: 'box',\n ScreenCast: 'screen-cast',\n Unsplash: 'unsplash',\n LightShadow: 'light-shadow',\n MediumShadow: 'medium-shadow',\n LargeShadow: 'large-shadow',\n XLargeShadow: 'x-large-shadow'\n};","import { css } from 'styled-components';\nimport { Color as PaletteColor } from '../types/palette';\nexport var scrollBar = function scrollBar(_ref) {\n var palette = _ref.theme.palette;\n return css([\"&::-webkit-scrollbar{width:12px;}&::-webkit-scrollbar-thumb{background:\", \";border:4px solid \", \";border-radius:99px;height:92px;padding:4px 6px;}\"], palette[PaletteColor.BorderPrimaryStateless], palette[PaletteColor.ActiveSecondary]);\n};","export var ignoreEvent = function ignoreEvent(event) {\n var tagName = event.target.tagName;\n if (tagName === 'INPUT' || tagName === 'TEXTAREA') {\n event.stopPropagation();\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n};","export var BorderRadiusSize = {\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","import { createGlobalStyle, css } from 'styled-components';\nvar Typography = /*#__PURE__*/createGlobalStyle([\"\", \";\"], function (_ref) {\n var theme = _ref.theme;\n var baseLineHeight = theme.typography.baseLineHeight;\n return css([\"h1,h2,h3,h4,h5,h6,p,small{line-height:\", \";}\"], baseLineHeight);\n});\nexport default Typography;","export var FontWeight = {\n Thin: 100,\n ExtraLight: 200,\n Light: 300,\n Regular: 400,\n Medium: 500,\n SemiBold: 600,\n Bold: 700,\n ExtraBold: 800,\n Black: 900\n};","export var FontVariant = {\n TextExtraSmall: 'text-extra-small',\n TextSmall: 'text-small',\n TextSmallUp: 'text-small-up',\n TextMedium: 'text-medium',\n TextLarge: 'text-large',\n TextExtraLarge: 'text-extra-large',\n TextXExtraLarge: 'text-x-extra-large',\n TitleH6: 'title-h6',\n TitleH5: 'title-h5',\n TitleH4: 'title-h4',\n TitleH3: 'title-h3',\n TitleH2: 'title-h2',\n TitleH1: 'title-h1',\n LabelExtraSmall: 'label-extra-small',\n LabelExtraSmallEmphasis: 'label-extra-small-emphasis',\n LabelExtraSmallUp: 'label-extra-small-up',\n LabelSmall: 'label-small',\n LabelSmallEmphasis: 'label-small-emphasis',\n LabelSmallUp: 'label-small-up',\n LabelSmallUpEmphasis: 'label-small-up-emphasis',\n LabelMedium: 'label-medium',\n LabelMediumEmphasis: 'label-medium-emphasis',\n LabelLarge: 'label-large',\n LabelLargeEmphasis: 'label-large-emphasis',\n LabelLargeUp: 'label-large-up',\n LabelExtraLargeEmphasis: 'label-extra-large-emphasis',\n LabelExtraLarge: 'label-extra-large',\n LabelXExtraLargeEmphasis: 'label-x-extra-large-emphasis',\n LabelXExtraLarge: 'label-x-extra-large',\n LabelXXExtraLargeEmphasis: 'label-x-x-extra-large-emphasis',\n LabelXXExtraLarge: 'label-x-x-extra-large',\n LabelXXXExtraLarge: 'label-x-x-x-extra-large',\n ButtonSmEmphasis: 'btn-sm-emphasis',\n ButtonSm: 'btn-sm',\n ButtonSmUpEmphasis: 'btn-sm-up-emphasis',\n ButtonSmUp: 'btn-sm-up',\n ButtonMdEmphasis: 'btn-md-emphasis',\n ButtonMd: 'btn-md',\n ButtonLgEmphasis: 'btn-lg-emphasis',\n ButtonLg: 'btn-lg',\n ButtonLgUpEmphasis: 'btn-lg-up-emphasis',\n ButtonLgUp: 'btn-lg-up',\n LinkSmall: 'link-small',\n LinkSmallEmphasis: 'link-small-emphasis',\n LinkSmallUp: 'link-small-up',\n LinkSmallUpEmphasis: 'link-small-up-emphasis',\n LinkMedium: 'link-medium',\n LinkMediumEmphasis: 'link-medium-emphasis',\n LinkLarge: 'link-large',\n LinkLargeEmphasis: 'link-large-emphasis',\n LinkLargeUp: 'link-large-up',\n LinkLargeUpEmphasis: 'link-large-up-emphasis',\n InputSm: 'input-sm',\n InputSmUp: 'input-sm-up',\n InputMd: 'input-md',\n InputLg: 'input-lg'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { FontVariant, FontWeight } from '../../../../utils/types/typography';\nvar defaultFontValue = {\n fontFamily: '\"Roboto\"',\n fontStyle: 'normal',\n fontWeight: FontWeight.Regular\n};\nvar getLabelFontVariants = function getLabelFontVariants() {\n var _ref;\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, FontVariant.LabelExtraSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '10px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelExtraSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: 'Bold',\n fontSize: '10px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelExtraSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '11px',\n lineHeight: '12px'\n }, fontOverride)), FontVariant.LabelSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LabelSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LabelSmallUp, _objectSpread(_objectSpread({\n fontSize: '13px',\n lineHeight: '16px'\n }, defaultFontValue), fontOverride)), FontVariant.LabelSmallUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LabelMedium, _objectSpread(_objectSpread({\n fontSize: '14px',\n lineHeight: '16px'\n }, defaultFontValue), fontOverride)), FontVariant.LabelMediumEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LabelLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, FontVariant.LabelLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LabelLargeUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Regular,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.LabelExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '24px',\n lineHeight: '28px'\n }, fontOverride)), FontVariant.LabelExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Regular,\n fontSize: '24px',\n lineHeight: '28px'\n }, fontOverride)), FontVariant.LabelXExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '32px',\n lineHeight: '36px'\n }, fontOverride)), FontVariant.LabelXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '32px',\n lineHeight: '36px'\n }, fontOverride)), FontVariant.LabelXXExtraLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '48px',\n lineHeight: '54px'\n }, fontOverride)), FontVariant.LabelXXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '48px',\n lineHeight: '54px'\n }, fontOverride)), FontVariant.LabelXXXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '60px',\n lineHeight: '68px'\n }, fontOverride));\n};\nvar getTextFontVariants = function getTextFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.TextExtraSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '11px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.TextSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TextSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TextMedium, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.TextLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '22px'\n }, fontOverride)), FontVariant.TextExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '26px'\n }, fontOverride)), FontVariant.TextXExtraLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '28px',\n lineHeight: '40px'\n }, fontOverride));\n};\nvar getButtonFontVariants = function getButtonFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.ButtonSmEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.ButtonSm, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.ButtonSmUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonSmUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonMdEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonMd, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.ButtonLgEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.ButtonLg, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.ButtonLgUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.ButtonLgUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride));\n};\nvar getLinkFontVariants = function getLinkFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.LinkSmall, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LinkSmallEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.LinkSmallUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkSmallUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkMedium, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkMediumEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.LinkLarge, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LinkLargeEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.LinkLargeUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride)), FontVariant.LinkLargeUpEmphasis, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '20px'\n }, fontOverride));\n};\nvar getInputFontVariants = function getInputFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.InputSm, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '12px',\n lineHeight: '14px'\n }, fontOverride)), FontVariant.InputSmUp, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '13px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.InputMd, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '14px',\n lineHeight: '16px'\n }, fontOverride)), FontVariant.InputLg, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontSize: '16px',\n lineHeight: '18px'\n }, fontOverride));\n};\nvar getTitleFontVariants = function getTitleFontVariants() {\n var fontOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FontVariant.TitleH6, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '12px',\n lineHeight: '18px'\n }, fontOverride)), FontVariant.TitleH5, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '14px',\n lineHeight: '21px'\n }, fontOverride)), FontVariant.TitleH4, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '16px',\n lineHeight: '24px'\n }, fontOverride)), FontVariant.TitleH3, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '18px',\n lineHeight: '27px'\n }, fontOverride)), FontVariant.TitleH2, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '20px',\n lineHeight: '30px'\n }, fontOverride)), FontVariant.TitleH1, _objectSpread(_objectSpread({}, defaultFontValue), {}, {\n fontWeight: FontWeight.Medium,\n fontSize: '28px',\n lineHeight: '42px'\n }, fontOverride));\n};\nexport var getDefaultTypography = function getDefaultTypography() {\n var typographyOverride = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _objectSpread(_objectSpread({\n fontFamily: defaultFontValue.fontFamily,\n baseLineHeight: 1.375\n }, typographyOverride), {}, {\n font: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, getLabelFontVariants(typographyOverride)), getTextFontVariants(typographyOverride)), getButtonFontVariants(typographyOverride)), getLinkFontVariants(typographyOverride)), getInputFontVariants(typographyOverride)), getTitleFontVariants(typographyOverride))\n });\n};","import { createGlobalStyle /* , css */ } from 'styled-components';\n\n// Example with theme: ${({ theme }) => css``;\n\nvar CommonStyles = /*#__PURE__*/createGlobalStyle([\"@keyframes spinner{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.Menu-open{overflow:hidden;}.Modal-open{overflow:hidden;}\"]);\nexport default CommonStyles;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _accent, _background, _borders, _states, _uploader, _extra;\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { Color } from '../../../../utils/types/palette';\n//TODO: update theme to include grouped palette\n//TODO:change color values from rgb to hex\nexport var groupedPalette = {\n text: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.TextPrimary, 'rgba(55, 65, 75, 1)'), Color.TextSecondary, 'rgba(118, 138, 159, 1)'), Color.TextSecondaryInvert, 'rgba(213, 216, 220, 1)'), Color.TextPlaceholder, 'rgba(169, 182, 194, 1)'), Color.TextWarning, 'rgba(196, 110, 0, 1)'), Color.TextError, 'rgba(185, 33, 46, 1)'), Color.TextInfo, 'rgba(35, 117, 171, 1)'),\n accent: (_accent = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_accent, Color.AccentPrimary, 'rgba(104, 121, 235, 1)'), Color.AccentPrimaryHover, 'rgba(96, 111, 209, 1)'), Color.AccentPrimaryActive, 'rgba(73, 88, 188, 1)'), Color.AccentPrimaryDisabled, 'rgba(233, 238, 242, 1)'), Color.AccentSecondaryDisabled, '#F9FBFC'), Color.AccentStateless, 'rgba(104, 121, 235, 1)'), Color.AccentStateless_0_4_Opacity, 'rgba(104, 121, 235, 0.4)'), Color.Accent_0_5_5_Opacity, 'rgba(96, 111, 209, 0.55)'), Color.Accent_0_7_Opacity, 'rgba(96, 111, 209, 0.7)'), Color.Accent_0_5_Opacity, 'rgba(104, 121, 235, 0.05)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_accent, Color.Accent_1_2_Opacity, 'rgba(104, 121, 235, 0.12)'), Color.Accent_1_8_Opacity, 'rgba(104, 121, 235, 0.18)'), Color.Accent_2_8_Opacity, 'rgba(104, 121, 235, 0.28)'), Color.Accent_4_0_Opacity, 'rgba(104, 121, 235, 0.4)')),\n background: (_background = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_background, Color.BackgroundGrey, 'rgba(216, 224, 232, 1)'), Color.BackgroundStateless, 'rgba(255, 255, 255, 1)'), Color.BackgroundActive, 'rgba(243, 247, 250, 1)'), Color.BackgroundBaseLight, 'rgba(235, 239, 252, 1)'), Color.BackgroundBaseMedium, 'rgba(227, 231, 251, 1)'), Color.BackgroundPrimary, 'rgba(243, 245, 247, 1)'), Color.BackgroundPrimaryLight, 'rgba(243, 245, 247, 1)'), Color.BackgroundPrimaryHover, 'rgba(239, 243, 246, 1)'), Color.BackgroundPrimaryActive, 'rgba(93, 109, 126, 1)'), Color.BackgroundPrimary_0_5_Opacity, 'rgba(255, 255, 255, 0.500)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_background, Color.BackgroundPrimaryStateless, '#CCD6DE'), Color.BackgroundSecondary, 'rgba(255, 255, 255, 1)'), Color.BackgroundHover, 'rgba(249, 251, 252, 1)'), Color.BackgroundGreen, 'rgba(237, 250, 244, 1)'), Color.BackgroundGreenMedium, 'rgba(227, 250, 239, 1)'), Color.BackgroundBlue, 'rgba(244, 249, 255, 1)'), Color.BackgroundRed, 'rgba(253, 244, 242, 1)'), Color.BackgroundRedLight, 'rgba(255, 245, 245, 1)'), Color.BackgroundRedMedium, 'rgba(247, 228, 230, 1)'), Color.BackgroundOrange, 'rgba(255, 249, 242, 1)'), _defineProperty(_background, Color.BackgroundTooltip, 'rgba(79, 98, 118, 1)')),\n icons: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.IconsPrimary, 'rgba(118, 138, 159, 1)'), Color.IconsPrimaryOpacity_0_6, 'rgba(93, 109, 126, 0.600)'), Color.IconsSecondary, 'rgba(151, 166, 182, 1)'), Color.IconsPlaceholder, 'rgba(223, 231, 237, 1)'), Color.IconsInvert, 'rgba(255, 255, 255, 1)'), Color.IconsMuted, 'rgba(169, 182, 194, 1)'), Color.IconsPrimaryHover, 'rgba(79, 98, 118, 1)'), Color.IconsSecondaryHover, 'rgba(118, 138, 159, 1)'),\n button: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.ButtonPrimaryText, 'rgba(255, 255, 255, 1)'), Color.ButtonPrimaryText_0_6, 'rgba(255, 255, 255, 0.6)'), Color.ButtonPrimaryText_0_4, 'rgba(255, 255, 255, 0.4)'), Color.ButtonDisabledText, 'rgba(169, 182, 194, 1)'), Color.ButtonSecondaryText, 'rgba(0, 0, 0, 1)'),\n link: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.LinkPrimary, 'rgba(118, 138, 159, 1)'), Color.LinkStateless, 'rgba(118, 138, 159, 1)'), Color.LinkHover, 'rgba(79, 98, 118, 1)'), Color.LinkActive, 'rgba(55, 65, 75, 1)'), Color.LinkPressed, 'rgba(104, 121, 235, 1)'), Color.LinkMuted, 'rgba(169, 182, 194, 1)'),\n borders: (_borders = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_borders, Color.BordersPrimary, 'rgba(204, 214, 222, 1)'), Color.BordersPrimaryHover, 'rgba(104, 118, 134, 1)'), Color.BordersSecondary, 'rgba(236, 240, 243, 1)'), Color.BordersStrong, 'rgba(204, 214, 222, 1)'), Color.BordersInvert, 'rgba(85, 99, 115, 1)'), Color.BorderHoverBottom, 'rgba(104, 121, 235, 0.18)'), Color.BorderActiveBottom, '#4958BC'), Color.BorderPrimaryStateless, 'rgba(204, 214, 222, 1)'), Color.BordersDisabled, 'rgba(73, 88, 188, 0.4)'), Color.BordersButton, 'rgba(151, 166, 182, 1)'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_borders, Color.BordersItem, 'rgba(226, 232, 236, 1)'), Color.BordersBaseLight, 'rgba(211, 219, 250, 1)'), Color.BordersBaseMedium, 'rgba(164, 175, 227, 1)'), Color.BordersGreen, 'rgba(27, 161, 99, 0.22)'), Color.BordersGreenMedium, 'rgba(27, 161, 99, 0.4)'), Color.BordersRed, 'rgba(185, 33, 46, 0.4)')),\n states: (_states = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_states, Color.Error, 'rgba(246, 61, 61, 1)'), Color.Error_0_28_Opacity, 'rgba(185, 33, 46, 0.28)'), Color.Error_0_12_Opacity, 'rgba(255, 86, 78, 0.1)'), Color.ErrorHover, 'rgba(216, 46, 46, 1)'), Color.ErrorActive, 'rgba(185, 33, 46, 1)'), Color.Success, 'rgba(38, 193, 122, 1)'), Color.SuccessHover, 'rgba(30, 154, 98, 1)'), Color.SuccessActive, 'rgba(23, 116, 73, 1)'), Color.Warning, 'rgba(255, 172, 74, 1)'), Color.WarningHover, 'rgba(237, 145, 7, 1)'), _defineProperty(_defineProperty(_defineProperty(_states, Color.WarningActive, 'rgba(224, 135, 0, 1)'), Color.Info, 'rgba(41, 127, 184, 1)'), Color.Modified, 'rgba(165, 166, 246, 1)')),\n flat: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.Red, 'rgba(219, 46, 50, 1)'), Color.Orange, 'rgba(255, 168, 0, 1)'), Color.Salad, 'rgba(143, 176, 33, 1)'), Color.Green, 'rgba(22, 160, 134, 1)'), Color.Blue, 'rgba(41, 127, 184, 1)'), Color.Indigo, 'rgba(91, 72, 162, 1)'), Color.Violet, 'rgba(141, 68, 173, 1)'), Color.Pink, 'rgba(211, 92, 158, 1)'),\n uploader: (_uploader = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_uploader, Color.Link, 'rgba(250, 166, 68, 1)'), Color.Camera, 'rgba(73, 186, 224, 1)'), Color.GoogleDrive, 'rgba(81, 136, 238, 1)'), Color.Dropbox, 'rgba(17, 40, 124, 1)'), Color.OneDrive, 'rgba(40, 100, 186, 1)'), Color.Device, 'rgba(102, 73, 209, 1)'), Color.Instagram, 'rgba(244, 70, 154, 1)'), Color.Unsplash, 'rgba(173, 38, 220, 1)'), Color.FreeImages, 'rgba(16, 163, 135, 1)'), Color.FreeIcons, 'rgba(62, 207, 139, 1)'), _defineProperty(_defineProperty(_defineProperty(_uploader, Color.Canvas, 'rgba(36, 190, 202, 1)'), Color.Box, 'rgba(0, 97, 213, 1)'), Color.ScreenCast, 'rgba(48, 61, 78, 1)')),\n extra: (_extra = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extra, Color.GradientRight, 'linear-gradient(270deg, #FFFFFF 1.56%, rgba(255, 255, 255, 0.89) 52.4%, rgba(255, 255, 255, 0.532165) 76.04%, rgba(255, 255, 255, 0) 100%)'), Color.Extra_0_3_Overlay, 'rgba(79, 98, 118, 0.3)'), Color.GradientRightActive, 'linear-gradient(270deg, #F3F7FA 1.56%, #F3F7FA 52.4%, rgba(243, 247, 250, 0.53) 76.04%, rgba(243, 247, 250, 0) 100%)'), Color.GradientRightHover, 'linear-gradient(270deg, #F9FBFC 1.56%, #F9FBFC 52.4%, rgba(249, 251, 252, 0.53) 76.04%, rgba(249, 251, 252, 0) 100%)'), Color.Extra_0_5_Overlay, 'rgba(79, 98, 118, 0.5)'), Color.Extra_0_7_Overlay, 'rgba(79, 98, 118, 0.7)'), Color.Extra_0_9_Overlay, 'rgba(79, 98, 118, 0.9)'), Color.Red_0_1_Overlay, 'rgba(232, 91, 70, 0.1)'), Color.Orange_0_1_Overlay, 'rgba(250, 157, 47, 0.1)'), Color.Accent_0_8_Overlay, 'rgba(104, 121, 235, 0.08)'), _defineProperty(_extra, Color.Green_0_2_Overlay, 'rgba(27, 161, 99, 0.2)'))\n};\nexport var lightPalette = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, groupedPalette.text), groupedPalette.accent), groupedPalette.background), groupedPalette.icons), groupedPalette.button), groupedPalette.link), groupedPalette.borders), groupedPalette.states), groupedPalette.flat), groupedPalette.uploader), groupedPalette.extra), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Color.ActiveSecondary, '#FFFFFF'), Color.ActiveSecondaryHover, 'rgba(104, 121, 235, 0.05)'), Color.Tag, '#889AAC'), Color.StatesErrorDisabledText, 'rgba(185, 33, 46, 0.3)'), Color.LightShadow, 'rgba(146, 166, 188, 0.2)'), Color.MediumShadow, 'rgba(146, 166, 188, 0.24)'), Color.LargeShadow, 'rgba(146, 166, 188, 0.32)'), Color.XLargeShadow, 'rgba(146, 166, 188, 0.5)'));\nexport var defaultPalette = lightPalette;","export var Shadows = {\n ShadowSm: 'shadow-sm',\n ShadowMd: 'shadow-md',\n ShadowLg: 'shadow-lg',\n ShadowXl: 'shadow-xl',\n Label: 'label',\n Header: 'header',\n HeaderPopup: 'header-popup',\n FooterPopup: 'footer-popup',\n LeftPanelMd: 'left-panel-md',\n RightPanelMd: 'right-panel-md',\n LeftPanelSm: 'left-panel-sm',\n RightPanelSm: 'right-panel-sm'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _shadows;\nimport { Shadows } from '../../../../utils/types/shadows';\nexport var shadows = (_shadows = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_shadows, Shadows.ShadowSm, '0px 1px 2px 0px rgba(146, 166, 188, 0.2)'), Shadows.ShadowMd, ' 0px 1px 4px 0px rgba(146, 166, 188, 0.24)'), Shadows.ShadowLg, ' 0px 2px 6px 0px rgba(146, 166, 188, 0.32)'), Shadows.ShadowXl, ' 0px 2px 6px 0px rgba(146, 166, 188, 0.5)'), Shadows.Label, ' 0px 1px 3px 0px rgba(77, 78, 78, 0.15)'), Shadows.Header, ' 0px 6px 10px 0px rgba(146, 166, 188, 0.2)'), Shadows.HeaderPopup, ' 0px 3px 7px 0px rgba(146, 166, 188, 0.16)'), Shadows.FooterPopup, ' 0px -4px 8px 0px rgba(208, 215, 220, 0.22)'), Shadows.LeftPanelMd, ' 6px 8px 12px 0px rgba(146, 166, 188, 0.14)'), Shadows.RightPanelMd, '-6px 8px 12px 0px rgba(146, 166, 188, 0.14)'), _defineProperty(_defineProperty(_shadows, Shadows.LeftPanelSm, '6px -4px 12px 0px rgba(146, 166, 188, 0.14)'), Shadows.RightPanelSm, '-6px -4px 12px 0px rgba(146, 166, 188, 0.14)'));\nexport var defaultShadows = shadows;","export var Breakpoint = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg',\n Xl: 'xl',\n Xxl: 'xxl',\n Xxxl: 'xxxl'\n};\nexport var BreakpointClass = {\n Xs: '.sfx-breakpoint-xs',\n Sm: '.sfx-breakpoint-sm',\n Md: '.sfx-breakpoint-md',\n Lg: '.sfx-breakpoint-lg',\n Xl: '.sfx-breakpoint-xl',\n Xxl: '.sfx-breakpoint-xxl',\n Xxxl: '.sfx-breakpoint-xxxl'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Breakpoint } from '../../../../utils/types/css';\nexport var defaultBreakpoints = {\n keys: [Breakpoint.Xs, Breakpoint.Sm, Breakpoint.Md, Breakpoint.Lg, Breakpoint.Xl],\n values: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Breakpoint.Xs, 0), Breakpoint.Sm, 576), Breakpoint.Md, 768), Breakpoint.Lg, 1084), Breakpoint.Xl, 1342), Breakpoint.Xxl, 1600), Breakpoint.Xxxl, 1920),\n classes: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Breakpoint.Xs, '.sfx-breakpoint-xs'), Breakpoint.Sm, '.sfx-breakpoint-sm'), Breakpoint.Md, '.sfx-breakpoint-md'), Breakpoint.Lg, '.sfx-breakpoint-lg'), Breakpoint.Xl, '.sfx-breakpoint-xl'), Breakpoint.Xxl, '.sfx-breakpoint-xxl'), Breakpoint.Xxxl, '.sfx-breakpoint-xxxl'),\n getBreakpointClass: function getBreakpointClass() {\n return '';\n },\n up: function up() {\n return '';\n },\n down: function down() {\n return '';\n },\n between: function between() {\n return '';\n },\n only: function only() {\n return '';\n }\n};","import { defaultBreakpoints } from './default-breakpoints';\nvar createBreakpoints = function createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? defaultBreakpoints.values : _breakpoints$values,\n _breakpoints$classes = breakpoints.classes,\n classes = _breakpoints$classes === void 0 ? defaultBreakpoints.classes : _breakpoints$classes;\n var unit = 'px';\n var keys = Object.keys(values);\n var up = function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n };\n var down = function down(key) {\n var value = values[key];\n return \"@media (max-width:\".concat(value).concat(unit, \")\");\n };\n var between = function between(start, end) {\n var endIndex = keys.indexOf(end);\n return \"@media (min-width:\".concat(values[start]).concat(unit, \") and (max-width:\").concat(values[keys[endIndex]]).concat(unit, \")\");\n };\n var only = function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n };\n var getBreakpointClass = function getBreakpointClass(width, hideSelector) {\n var removeSelector = function removeSelector(str) {\n return str.slice(1);\n };\n if (width >= values.xs && width < values.sm) {\n return hideSelector ? removeSelector(classes.xs) : classes.xs;\n }\n if (width >= values.sm && width < values.md) {\n return hideSelector ? removeSelector(classes.sm) : classes.sm;\n }\n if (width >= values.md && width < values.lg) {\n return hideSelector ? removeSelector(classes.md) : classes.md;\n }\n if (width >= values.lg && width < values.xl) {\n return hideSelector ? removeSelector(classes.lg) : classes.lg;\n }\n if (width >= values.xl && width < values.xxl) {\n return hideSelector ? removeSelector(classes.xl) : classes.xl;\n }\n if (width >= values.xxl && width < values.xxxl) {\n return hideSelector ? removeSelector(classes.xxl) : classes.xxl;\n }\n if (width >= values.xxxl) {\n return hideSelector ? removeSelector(classes.xxxl) : classes.xxxl;\n }\n return hideSelector ? removeSelector(classes.md) : classes.md;\n };\n return {\n keys: keys,\n values: values,\n classes: classes,\n getBreakpointClass: getBreakpointClass,\n up: up,\n down: down,\n between: between,\n only: only\n };\n};\nexport default createBreakpoints;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useMemo } from 'react';\nimport { ThemeProvider as SCThemeProvider } from 'styled-components';\nimport merge from 'lodash.merge';\nimport { applyPolymorphicFunctionProp } from '../../utils/functions';\nimport { BorderRadiusSize } from '../../utils/types/shape';\nimport { Typography, CommonStyles } from '../roots';\nimport { defaultPalette } from '../roots/palette';\nimport { defaultShadows } from '../roots/shadows';\nimport { getDefaultTypography } from '../roots/typography';\nimport createBreakpoints from '../roots/breakpoints/entity/create-breakpoints';\nvar defaultShape = {\n borderRadius: _defineProperty(_defineProperty(_defineProperty({}, BorderRadiusSize.Sm, '2px'), BorderRadiusSize.Md, '4px'), BorderRadiusSize.Lg, '8px')\n};\nvar ThemeProvider = function ThemeProvider(_ref) {\n var children = _ref.children,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? {} : _ref$theme;\n var _theme$palette = theme.palette,\n paletteOverride = _theme$palette === void 0 ? {} : _theme$palette,\n _theme$breakpoints = theme.breakpoints,\n breakpointsOverride = _theme$breakpoints === void 0 ? {} : _theme$breakpoints,\n _theme$typography = theme.typography,\n typographyOverride = _theme$typography === void 0 ? {} : _theme$typography,\n _theme$shape = theme.shape,\n shapeOverride = _theme$shape === void 0 ? {} : _theme$shape,\n _theme$shadows = theme.shadows,\n shadowsOverride = _theme$shadows === void 0 ? {} : _theme$shadows;\n var finalTheme = useMemo(function () {\n var palette = _objectSpread(_objectSpread({}, defaultPalette), paletteOverride);\n var breakpoints = createBreakpoints(breakpointsOverride);\n var shadows = _objectSpread(_objectSpread({}, defaultShadows), shadowsOverride);\n return {\n palette: palette,\n breakpoints: breakpoints,\n typography: getDefaultTypography(typographyOverride),\n shape: _objectSpread({}, merge(_objectSpread({}, defaultShape), _objectSpread({}, shapeOverride))),\n shadows: shadows\n };\n }, [JSON.stringify(theme)]);\n return /*#__PURE__*/React.createElement(SCThemeProvider, {\n theme: finalTheme\n }, /*#__PURE__*/React.createElement(React.Fragment, null, applyPolymorphicFunctionProp(children, finalTheme), /*#__PURE__*/React.createElement(CommonStyles, null), /*#__PURE__*/React.createElement(Typography, null)));\n};\nexport default ThemeProvider;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._registerNode = exports.Konva = exports.glob = void 0;\nconst PI_OVER_180 = Math.PI / 180;\nfunction detectBrowser() {\n return (typeof window !== 'undefined' &&\n ({}.toString.call(window) === '[object Window]' ||\n {}.toString.call(window) === '[object global]'));\n}\nexports.glob = typeof global !== 'undefined'\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof WorkerGlobalScope !== 'undefined'\n ? self\n : {};\nexports.Konva = {\n _global: exports.glob,\n version: '9.3.18',\n isBrowser: detectBrowser(),\n isUnminified: /param/.test(function (param) { }.toString()),\n dblClickWindow: 400,\n getAngle(angle) {\n return exports.Konva.angleDeg ? angle * PI_OVER_180 : angle;\n },\n enableTrace: false,\n pointerEventsEnabled: true,\n autoDrawEnabled: true,\n hitOnDragEnabled: false,\n capturePointerEventsEnabled: false,\n _mouseListenClick: false,\n _touchListenClick: false,\n _pointerListenClick: false,\n _mouseInDblClickWindow: false,\n _touchInDblClickWindow: false,\n _pointerInDblClickWindow: false,\n _mouseDblClickPointerId: null,\n _touchDblClickPointerId: null,\n _pointerDblClickPointerId: null,\n _fixTextRendering: false,\n pixelRatio: (typeof window !== 'undefined' && window.devicePixelRatio) || 1,\n dragDistance: 3,\n angleDeg: true,\n showWarnings: true,\n dragButtons: [0, 1],\n isDragging() {\n return exports.Konva['DD'].isDragging;\n },\n isTransforming() {\n var _a;\n return (_a = exports.Konva['Transformer']) === null || _a === void 0 ? void 0 : _a.isTransforming();\n },\n isDragReady() {\n return !!exports.Konva['DD'].node;\n },\n releaseCanvasOnDestroy: true,\n document: exports.glob.document,\n _injectGlobal(Konva) {\n exports.glob.Konva = Konva;\n },\n};\nconst _registerNode = (NodeClass) => {\n exports.Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nexports._registerNode = _registerNode;\nexports.Konva._injectGlobal(exports.Konva);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Transform = void 0;\nconst Global_1 = require(\"./Global\");\nclass Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n const m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n const c = Math.cos(rad);\n const s = Math.sin(rad);\n const m11 = this.m[0] * c + this.m[2] * s;\n const m12 = this.m[1] * c + this.m[3] * s;\n const m21 = this.m[0] * -s + this.m[2] * c;\n const m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n const m11 = this.m[0] + this.m[2] * sy;\n const m12 = this.m[1] + this.m[3] * sy;\n const m21 = this.m[2] + this.m[0] * sx;\n const m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n const m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n const m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n const m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n const m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n const dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n const dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n const d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n const m0 = this.m[3] * d;\n const m1 = -this.m[1] * d;\n const m2 = -this.m[2] * d;\n const m3 = this.m[0] * d;\n const m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n const m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n const a = this.m[0];\n const b = this.m[1];\n const c = this.m[2];\n const d = this.m[3];\n const e = this.m[4];\n const f = this.m[5];\n const delta = a * d - b * c;\n const result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n const r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n const s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = exports.Util._getRotation(result.rotation);\n return result;\n }\n}\nexports.Transform = Transform;\nconst OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/;\nlet animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexports.Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n const firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n const canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n const imageObj = exports.Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n const bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n let randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n let rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (exports.Util._namedColorToRBA(str) ||\n exports.Util._hex3ColorToRGBA(str) ||\n exports.Util._hex4ColorToRGBA(str) ||\n exports.Util._hex6ColorToRGBA(str) ||\n exports.Util._hex8ColorToRGBA(str) ||\n exports.Util._rgbColorToRGBA(str) ||\n exports.Util._rgbaColorToRGBA(str) ||\n exports.Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n const c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n const parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n const parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n const retObj = {};\n for (const key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n exports.Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return exports.Util.degToRad(deg);\n },\n _radToDeg(rad) {\n exports.Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return exports.Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Global_1.Konva.angleDeg ? exports.Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Global_1.Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (const key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n let x, y, dist;\n const pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n const u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n const pc = exports.Util.cloneObject(pt);\n let dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n const p2 = line[(i + 1) % line.length];\n const proj = exports.Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n const px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n const start = [], end = [];\n if (startArray.length > endArray.length) {\n const temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (let n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (let n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n const newStart = [];\n end.forEach(function (point) {\n const pr = exports.Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n let desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (const key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n exports.Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (exports.Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (const key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Global_1.Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach((c) => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBComponent = RGBComponent;\nexports.alphaComponent = alphaComponent;\nexports.getNumberValidator = getNumberValidator;\nexports.getNumberOrArrayOfNumbersValidator = getNumberOrArrayOfNumbersValidator;\nexports.getNumberOrAutoValidator = getNumberOrAutoValidator;\nexports.getStringValidator = getStringValidator;\nexports.getStringOrGradientValidator = getStringOrGradientValidator;\nexports.getFunctionValidator = getFunctionValidator;\nexports.getNumberArrayValidator = getNumberArrayValidator;\nexports.getBooleanValidator = getBooleanValidator;\nexports.getComponentValidator = getComponentValidator;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nfunction _formatValue(val) {\n if (Util_1.Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util_1.Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nfunction RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nfunction alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nfunction getNumberValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isNumber(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nfunction getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util_1.Util._isNumber(val);\n let isValidArray = Util_1.Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nfunction getNumberOrAutoValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util_1.Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nfunction getStringValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isString(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nfunction getStringOrGradientValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util_1.Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val['addColorStop']);\n if (!(isString || isGradient)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nfunction getFunctionValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isFunction(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nfunction getNumberArrayValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util_1.Util._isArray(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util_1.Util._isNumber(item)) {\n Util_1.Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nfunction getBooleanValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nfunction getComponentValidator(components) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util_1.Util.isObject(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Factory = void 0;\nconst Util_1 = require(\"./Util\");\nconst Validators_1 = require(\"./Validators\");\nconst GET = 'get';\nconst SET = 'set';\nexports.Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n exports.Factory.addGetter(constructor, attr, def);\n exports.Factory.addSetter(constructor, attr, validator, after);\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n const val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n exports.Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n const len = components.length, capitalize = Util_1.Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr);\n constructor.prototype[getter] = function () {\n const ret = {};\n for (let n = 0; n < len; n++) {\n const component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n const basicValidator = (0, Validators_1.getComponentValidator)(components);\n constructor.prototype[setter] = function (val) {\n const oldVal = this.attrs[attr];\n if (validator) {\n val = validator.call(this, val, attr);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (const key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util_1.Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util_1.Util.error('Adding deprecated ' + attr);\n const method = GET + Util_1.Util._capitalize(attr);\n const message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util_1.Util.error(message);\n const val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n exports.Factory.addSetter(constructor, attr, validator, function () {\n Util_1.Util.error(message);\n });\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util_1.Util.each(methods, function (oldMethodName, newMethodName) {\n const method = constructor.prototype[newMethodName];\n const oldGetter = GET + Util_1.Util._capitalize(oldMethodName);\n const oldSetter = SET + Util_1.Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util_1.Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitContext = exports.SceneContext = exports.Context = void 0;\nconst Util_1 = require(\"./Util\");\nconst Global_1 = require(\"./Global\");\nfunction simplifyArray(arr) {\n const retArr = [], len = arr.length, util = Util_1.Util;\n for (let n = 0; n < len; n++) {\n let val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nconst COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'roundRect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nconst CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'letterSpacing',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'direction',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nclass Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Global_1.Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n let traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util_1.Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n let traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n const canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n const absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(x, y, radius, startAngle, endAngle, counterClockwise) {\n this._context.arc(x, y, radius, startAngle, endAngle, counterClockwise);\n }\n arcTo(x1, y1, x2, y2, radius) {\n this._context.arcTo(x1, y1, x2, y2, radius);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\n this._context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n clearRect(x, y, width, height) {\n this._context.clearRect(x, y, width, height);\n }\n clip(...args) {\n this._context.clip.apply(this._context, args);\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(width, height) {\n const a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(width, height);\n }\n else if (a.length === 1) {\n return this._context.createImageData(width);\n }\n }\n createLinearGradient(x0, y0, x1, y1) {\n return this._context.createLinearGradient(x0, y0, x1, y1);\n }\n createPattern(image, repetition) {\n return this._context.createPattern(image, repetition);\n }\n createRadialGradient(x0, y0, r0, x1, y1, r1) {\n return this._context.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) {\n const a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(image, sx, sy);\n }\n else if (a.length === 5) {\n _context.drawImage(image, sx, sy, sWidth, sHeight);\n }\n else if (a.length === 9) {\n _context.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n }\n ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise) {\n this._context.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(...args) {\n this._context.fill.apply(this._context, args);\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(sx, sy, sw, sh) {\n return this._context.getImageData(sx, sy, sw, sh);\n }\n lineTo(x, y) {\n this._context.lineTo(x, y);\n }\n moveTo(x, y) {\n this._context.moveTo(x, y);\n }\n rect(x, y, width, height) {\n this._context.rect(x, y, width, height);\n }\n roundRect(x, y, width, height, radii) {\n this._context.roundRect(x, y, width, height, radii);\n }\n putImageData(imageData, dx, dy) {\n this._context.putImageData(imageData, dx, dy);\n }\n quadraticCurveTo(cpx, cpy, x, y) {\n this._context.quadraticCurveTo(cpx, cpy, x, y);\n }\n restore() {\n this._context.restore();\n }\n rotate(angle) {\n this._context.rotate(angle);\n }\n save() {\n this._context.save();\n }\n scale(x, y) {\n this._context.scale(x, y);\n }\n setLineDash(segments) {\n if (this._context.setLineDash) {\n this._context.setLineDash(segments);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = segments;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = segments;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a, b, c, d, e, f) {\n this._context.setTransform(a, b, c, d, e, f);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(text, x, y, maxWidth) {\n this._context.strokeText(text, x, y, maxWidth);\n }\n transform(a, b, c, d, e, f) {\n this._context.transform(a, b, c, d, e, f);\n }\n translate(x, y) {\n this._context.translate(x, y);\n }\n _enableTrace() {\n let that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n const func = function (methodName) {\n let origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n const prop = arguments[0];\n let val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n const def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nexports.Context = Context;\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nclass SceneContext extends Context {\n constructor(canvas, { willReadFrequently = false } = {}) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently,\n });\n }\n _fillColor(shape) {\n const fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n const grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n const dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n const hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n const color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexports.SceneContext = SceneContext;\nclass HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n const pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n const hitStrokeWidth = shape.hitStrokeWidth();\n const strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\nexports.HitContext = HitContext;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitCanvas = exports.SceneCanvas = exports.Canvas = void 0;\nconst Util_1 = require(\"./Util\");\nconst Context_1 = require(\"./Context\");\nconst Global_1 = require(\"./Global\");\nconst Factory_1 = require(\"./Factory\");\nconst Validators_1 = require(\"./Validators\");\nlet _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n const canvas = Util_1.Util.createCanvasElement();\n const context = canvas.getContext('2d');\n _pixelRatio = (function () {\n const devicePixelRatio = Global_1.Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util_1.Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nclass Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n const conf = config || {};\n const pixelRatio = conf.pixelRatio || Global_1.Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util_1.Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n const previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n const pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n const pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util_1.Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nexports.Canvas = Canvas;\nFactory_1.Factory.addGetterSetter(Canvas, 'pixelRatio', undefined, (0, Validators_1.getNumberValidator)());\nclass SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0, willReadFrequently: false }) {\n super(config);\n this.context = new Context_1.SceneContext(this, {\n willReadFrequently: config.willReadFrequently,\n });\n this.setSize(config.width, config.height);\n }\n}\nexports.SceneCanvas = SceneCanvas;\nclass HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new Context_1.HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexports.HitCanvas = HitCanvas;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DD = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nexports.DD = {\n get isDragging() {\n let flag = false;\n exports.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n let node;\n exports.DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n exports.DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util_1.Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n const dragDistance = node.dragDistance();\n const distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n exports.DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n exports.DD.justDragged = true;\n Global_1.Konva._mouseListenClick = false;\n Global_1.Konva._touchListenClick = false;\n Global_1.Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Global_1.Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n exports.DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n exports.DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Global_1.Konva.isBrowser) {\n window.addEventListener('mouseup', exports.DD._endDragBefore, true);\n window.addEventListener('touchend', exports.DD._endDragBefore, true);\n window.addEventListener('touchcancel', exports.DD._endDragBefore, true);\n window.addEventListener('mousemove', exports.DD._drag);\n window.addEventListener('touchmove', exports.DD._drag);\n window.addEventListener('mouseup', exports.DD._endDragAfter, false);\n window.addEventListener('touchend', exports.DD._endDragAfter, false);\n window.addEventListener('touchcancel', exports.DD._endDragAfter, false);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Global_1 = require(\"./Global\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Validators_1 = require(\"./Validators\");\nconst ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nclass Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n let cache = this._cache.get(attr);\n const isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n const invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util_1.Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n const conf = config || {};\n let rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent() || undefined,\n });\n }\n let width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util_1.Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n const extraPaddingX = Math.abs(Math.round(rect.x) - x) > 0.5 ? 1 : 0;\n const extraPaddingY = Math.abs(Math.round(rect.y) - y) > 0.5 ? 1 : 0;\n width += offset * 2 + extraPaddingX;\n height += offset * 2 + extraPaddingY;\n x -= offset;\n y -= offset;\n const cachedSceneCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n willReadFrequently: true,\n }), cachedHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n const points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n const trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n const transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n const cacheCanvas = this._getCachedSceneCanvas();\n const ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n const canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n let filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n const ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util_1.Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util_1.Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n let events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n let events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n const e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n const stopNode = this;\n this.on(event, function (evt) {\n const targets = evt.target.findAncestors(selector, true, stopNode);\n for (let i = 0; i < targets.length; i++) {\n evt = Util_1.Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DragAndDrop_1.DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n const parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n const method = 'get' + Util_1.Util._capitalize(attr);\n if (Util_1.Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n let parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return (this.attrs || {});\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n let key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util_1.Util._capitalize(key);\n if (Util_1.Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n const layer = this.getLayer();\n let layerUnderDrag = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n const dragSkip = !skipDragCheck &&\n !Global_1.Konva.hitOnDragEnabled &&\n (layerUnderDrag || Global_1.Konva.isTransforming());\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n let depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n const stage = this.getStage();\n if (that.nodeType !== UPPER_STAGE && stage) {\n addChildren(stage.getChildren());\n }\n return index;\n }\n getDepth() {\n let depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n const stage = this.getStage();\n if (!stage) {\n return null;\n }\n const pos = stage.getPointerPosition();\n if (!pos) {\n return null;\n }\n const transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n const absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Util_1.Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n const { x, y, ...origTrans } = this._clearTransform();\n this.attrs.x = x;\n this.attrs.y = y;\n this._clearCache(TRANSFORM);\n const it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n let key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n const trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n let changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n let family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n const index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n const index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n const index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n const index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util_1.Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n const index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n let absOpacity = this.opacity();\n const parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n let attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n const obj = {\n attrs: {},\n className: this.getClassName(),\n };\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util_1.Util.isObject(val) && !Util_1.Util._isPlainObject(val) && !Util_1.Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n return Util_1.Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n const res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n let ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n let selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util_1.Util.isValidSelector(sel)) {\n Util_1.Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util_1.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util_1.Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n const parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n const parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return null;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n let at;\n if (top) {\n at = new Util_1.Transform();\n this._eachAncestorReverse(function (node) {\n const transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Util_1.Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n const transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n let parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n const m = this._cache.get(TRANSFORM) || new Util_1.Transform();\n m.reset();\n const x = this.x(), y = this.y(), rotation = Global_1.Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n let attrs = Util_1.Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n const node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n const box = this.getClientRect();\n const stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new Canvas_1.SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n const bufferCanvas = new Canvas_1.SceneCanvas({\n width: canvas.width / canvas.pixelRatio + Math.abs(x),\n height: canvas.height / canvas.pixelRatio + Math.abs(y),\n pixelRatio: canvas.pixelRatio,\n });\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas, undefined, bufferCanvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n const mimeType = config.mimeType || null, quality = config.quality || null;\n const url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util_1.Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n }, config === null || config === void 0 ? void 0 : config.mimeType, config === null || config === void 0 ? void 0 : config.quality);\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Global_1.Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n let evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n const oldName = this.name();\n const newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n const names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n const names = (this.name() || '').split(/\\s/g);\n const index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n const func = this[SET + Util_1.Util._capitalize(attr)];\n if (Util_1.Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Global_1.Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n const oldVal = this.attrs[key];\n if (oldVal === val && !Util_1.Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n let oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n const shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n const stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n var _a, _b, _c;\n const allListeners = (_a = this._cache.get(ALL_LISTENERS)) !== null && _a !== void 0 ? _a : {};\n let events = allListeners === null || allListeners === void 0 ? void 0 : allListeners[eventType];\n if (events === undefined) {\n events = [];\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n const hierarchyEvents = (_c = (_b = obj.eventListeners) === null || _b === void 0 ? void 0 : _b[eventType]) !== null && _c !== void 0 ? _c : [];\n events.push(...hierarchyEvents);\n obj = Object.getPrototypeOf(obj);\n }\n allListeners[eventType] = events;\n this._cache.set(ALL_LISTENERS, allListeners);\n }\n return events;\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n const pointerId = evt ? evt.pointerId : undefined;\n const stage = this.getStage();\n const ap = this.getAbsolutePosition();\n if (!stage) {\n return;\n }\n const pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DragAndDrop_1.DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DragAndDrop_1.DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n let newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n const dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util_1.Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DragAndDrop_1.DD._endDragBefore(evt);\n DragAndDrop_1.DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n const shouldCheckButton = evt.evt['button'] !== undefined;\n const canDrag = !shouldCheckButton || Global_1.Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n let hasDraggingChild = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n const stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DragAndDrop_1.DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DragAndDrop_1.DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util_1.Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util_1.Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n let className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Global_1.Konva[className]) {\n Util_1.Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Global_1.Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nexports.Node = Node;\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory_1.Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'y', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'opacity', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'name', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'id', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'rotation', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'scaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'skewY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'offsetY', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'dragDistance', undefined, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'width', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'height', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'listening', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'preventDefault', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'filters', undefined, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'transformsEnabled', 'all', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Container = void 0;\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nclass Container extends Node_1.Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n const results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (let i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n const result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n const retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n const obj = Node_1.Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n let parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n const node = Node_1.Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n const arr = [];\n this.find('Shape').forEach((shape) => {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top, bufferCanvas) {\n const layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n const caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top, bufferCanvas);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n const layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top, bufferCanvas) {\n var _a;\n const context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (typeof clipWidth === 'number' && typeof clipHeight === 'number') ||\n clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n const transform = this.getAbsoluteTransform(top);\n let m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n let clipArgs;\n if (clipFunc) {\n clipArgs = clipFunc.call(this, context, this);\n }\n else {\n const clipX = this.clipX();\n const clipY = this.clipY();\n context.rect(clipX || 0, clipY || 0, clipWidth, clipHeight);\n }\n context.clip.apply(context, clipArgs);\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n const hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top, bufferCanvas);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config = {}) {\n var _a;\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n let minX, minY, maxX, maxY;\n let selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n const that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n const rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n const shapes = this.find('Shape');\n let hasVisible = false;\n for (let i = 0; i < shapes.length; i++) {\n const shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nexports.Container = Container;\nFactory_1.Factory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory_1.Factory.addGetterSetter(Container, 'clipX', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipY', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipWidth', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipHeight', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipFunc');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCapturedShape = getCapturedShape;\nexports.createEvent = createEvent;\nexports.hasPointerCapture = hasPointerCapture;\nexports.setPointerCapture = setPointerCapture;\nexports.releaseCapture = releaseCapture;\nconst Global_1 = require(\"./Global\");\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;\nfunction getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nfunction createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nfunction hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nfunction setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nfunction releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stage = exports.stages = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nconst Canvas_1 = require(\"./Canvas\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nconst STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Global_1.Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util_1.Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexports.stages = [];\nclass Stage extends Container_1.Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n exports.stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util_1.Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n const className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n const layers = this.children, len = layers.length;\n for (let n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container_1.Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n const content = this.content;\n if (content && Util_1.Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n const index = exports.stages.indexOf(this);\n if (index > -1) {\n exports.stages.splice(index, 1);\n }\n Util_1.Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util_1.Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n const canvas = new Canvas_1.SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n const _context = canvas.getContext()._context;\n const layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n const layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n const layers = this.children, len = layers.length, end = len - 1;\n for (let n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n const width = this.width();\n const height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (let i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n const length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util_1.Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Global_1.Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const targetShape = this._getTargetShape(eventType);\n const eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = null;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = this.getIntersection(pos);\n DragAndDrop_1.DD.justDragged = false;\n Global_1.Konva['_' + eventType + 'ListenClick'] = true;\n if (!shape || !shape.isListening()) {\n this[eventType + 'ClickStartShape'] = undefined;\n return;\n }\n if (Global_1.Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (Global_1.Konva.isDragging() && DragAndDrop_1.DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n const eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n const processedShapesIds = {};\n let triggeredOnShape = false;\n const targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n const differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, { ...event }, shape);\n targetShape._fireAndBubble(events.pointerleave, { ...event }, shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, { ...event }, targetShape);\n shape._fireAndBubble(events.pointerenter, { ...event }, targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, { ...event });\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n const processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Global_1.Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DragAndDrop_1.DD.justDragged) {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Global_1.Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, { ...event });\n if (Global_1.Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, { ...event });\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, { ...event });\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Global_1.Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Global_1.Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch' && eventType !== 'pointer') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n const shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n const shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n const contentPosition = this._getContentPosition();\n let x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util_1.Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util_1.Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util_1.Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n const rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new Canvas_1.SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n const container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util_1.Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nexports.Stage = Stage;\nStage.prototype.nodeType = STAGE;\n(0, Global_2._registerNode)(Stage);\nFactory_1.Factory.addGetterSetter(Stage, 'container');\nif (Global_1.Konva.isBrowser) {\n document.addEventListener('visibilitychange', () => {\n exports.stages.forEach((stage) => {\n stage.batchDraw();\n });\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = exports.shapes = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nconst HAS_SHADOW = 'hasShadow';\nconst SHADOW_RGBA = 'shadowRGBA';\nconst patternImage = 'patternImage';\nconst linearGradient = 'linearGradient';\nconst radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexports.shapes = {};\nfunction _fillFunc(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nclass Shape extends Node_1.Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util_1.Util.getRandomColor();\n if (key && !(key in exports.shapes)) {\n break;\n }\n }\n this.colorKey = key;\n exports.shapes[key] = this;\n }\n getContext() {\n Util_1.Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util_1.Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n const ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Util_1.Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Global_1.Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n const colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n const ctx = getDummyContext();\n const start = this.fillLinearGradientStartPoint();\n const end = this.fillLinearGradientEndPoint();\n const grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n const colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n const ctx = getDummyContext();\n const start = this.fillRadialGradientStartPoint();\n const end = this.fillRadialGradientEndPoint();\n const grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (let n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n const rgba = Util_1.Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const bufferHitCanvas = stage.bufferHitCanvas;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, undefined, true);\n const p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node_1.Node.prototype.destroy.call(this);\n delete exports.shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util_1.Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n const size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n let hasCachedParent = false;\n let parent = this.getParent();\n while (parent) {\n if (parent.isCached()) {\n hasCachedParent = true;\n break;\n }\n parent = parent.getParent();\n }\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo || (hasCachedParent && this.getStage()) || undefined;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top, bufferCanvas) {\n const layer = this.getLayer();\n let canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferContext;\n const skipBuffer = canvas.isCache;\n const cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n const bc = bufferCanvas || stage.bufferCanvas;\n bufferContext = bc.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n const ratio = bc.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bc._canvas, 0, 0, bc.width / ratio, bc.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n const layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util_1.Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n const m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n const o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n const cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight();\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n const hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n const hitData = hitImageData.data;\n const len = hitData.length;\n const rgbColorKey = Util_1.Util._hexToRgb(this.colorKey);\n for (let i = 0; i < len; i += 4) {\n const alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util_1.Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nexports.Shape = Shape;\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n(0, Global_2._registerNode)(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory_1.Factory.addGetterSetter(Shape, 'stroke', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeWidth', 2, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory_1.Factory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeHitEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'perfectDrawEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'lineJoin');\nFactory_1.Factory.addGetterSetter(Shape, 'lineCap');\nFactory_1.Factory.addGetterSetter(Shape, 'sceneFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'hitFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'dash');\nFactory_1.Factory.addGetterSetter(Shape, 'dashOffset', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowColor', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowBlur', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOpacity', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternImage');\nFactory_1.Factory.addGetterSetter(Shape, 'fill', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory_1.Factory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleX', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRule', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Node_1 = require(\"./Node\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Validators_1 = require(\"./Validators\");\nconst Shape_1 = require(\"./Shape\");\nconst Global_1 = require(\"./Global\");\nconst HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nclass Layer extends Container_1.Container {\n constructor(config) {\n super(config);\n this.canvas = new Canvas_1.SceneCanvas();\n this.hitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n const stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node_1.Node.prototype.moveToTop.call(this);\n const stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n const moved = Node_1.Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n const stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node_1.Node.prototype.moveDown.call(this)) {\n const stage = this.getStage();\n if (stage) {\n const children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node_1.Node.prototype.moveToBottom.call(this)) {\n const stage = this.getStage();\n if (stage) {\n const children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n const _canvas = this.getNativeCanvasElement();\n Node_1.Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util_1.Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n const type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node_1.Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util_1.Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util_1.Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util_1.Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n let spiralSearchDistance = 1;\n let continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util_1.Util._rgbToHex(p[0], p[1], p[2]);\n const shape = Shape_1.shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n const layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container_1.Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n const layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container_1.Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n const parent = this.parent;\n const added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nexports.Layer = Layer;\nLayer.prototype.nodeType = 'Layer';\n(0, Global_1._registerNode)(Layer);\nFactory_1.Factory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory_1.Factory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory_1.Factory.addGetterSetter(Layer, 'hitGraphEnabled', true, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastLayer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Layer_1 = require(\"./Layer\");\nconst Global_1 = require(\"./Global\");\nclass FastLayer extends Layer_1.Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util_1.Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nexports.FastLayer = FastLayer;\nFastLayer.prototype.nodeType = 'FastLayer';\n(0, Global_1._registerNode)(FastLayer);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nclass Group extends Container_1.Container {\n _validateAdd(child) {\n const type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nexports.Group = Group;\nGroup.prototype.nodeType = 'Group';\n(0, Global_1._registerNode)(Group);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animation = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst now = (function () {\n if (Global_1.glob.performance && Global_1.glob.performance.now) {\n return function () {\n return Global_1.glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nclass Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n let lays = [];\n if (layers) {\n lays = Array.isArray(layers) ? layers : [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n const layers = this.layers;\n const len = layers.length;\n for (let n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n const a = Animation;\n const animations = a.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n const id = anim.id;\n const animations = this.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n const layerHash = {};\n const animations = this.animations;\n for (let n = 0; n < animations.length; n++) {\n const anim = animations[n];\n const layers = anim.layers;\n const func = anim.func;\n anim._updateFrameObject(now());\n const layersLen = layers.length;\n let needRedraw;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (let i = 0; i < layersLen; i++) {\n const layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (const key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n const Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util_1.Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util_1.Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nexports.Animation = Animation;\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Easings = exports.Tween = void 0;\nconst Util_1 = require(\"./Util\");\nconst Animation_1 = require(\"./Animation\");\nconst Node_1 = require(\"./Node\");\nconst Global_1 = require(\"./Global\");\nconst blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nlet idCounter = 0;\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n const handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n const t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nclass Tween {\n constructor(config) {\n const that = this, node = config.node, nodeId = node._id, easing = config.easing || exports.Easings.Linear, yoyo = !!config.yoyo;\n let duration, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n const layers = node.getLayer() ||\n (node instanceof Global_1.Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util_1.Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation_1.Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n const node = this.node, nodeId = node._id;\n let diff, len, trueEnd, trueStart, endRGBA;\n const tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n let start = node.getAttr(key);\n if (Util_1.Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util_1.Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util_1.Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (let n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n const startRGBA = Util_1.Util.colorToRGBA(start[n]);\n endRGBA = Util_1.Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (let n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util_1.Util.colorToRGBA(start);\n endRGBA = Util_1.Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n const node = this.node, attrs = Tween.attrs[node._id][this._id];\n let key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util_1.Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n const node = this.node;\n const attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n const node = this.node;\n const attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n const nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId];\n this.pause();\n for (const key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nexports.Tween = Tween;\nTween.attrs = {};\nTween.tweens = {};\nNode_1.Node.prototype.to = function (params) {\n const onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n const tween = new Tween(params);\n tween.play();\n};\nexports.Easings = {\n BackEaseIn(t, b, c, d) {\n const s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n const s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n let s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n let s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - exports.Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return exports.Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return exports.Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Node_1 = require(\"./Node\");\nconst Container_1 = require(\"./Container\");\nconst Stage_1 = require(\"./Stage\");\nconst Layer_1 = require(\"./Layer\");\nconst FastLayer_1 = require(\"./FastLayer\");\nconst Group_1 = require(\"./Group\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Shape_1 = require(\"./Shape\");\nconst Animation_1 = require(\"./Animation\");\nconst Tween_1 = require(\"./Tween\");\nconst Context_1 = require(\"./Context\");\nconst Canvas_1 = require(\"./Canvas\");\nexports.Konva = Util_1.Util._assign(Global_1.Konva, {\n Util: Util_1.Util,\n Transform: Util_1.Transform,\n Node: Node_1.Node,\n Container: Container_1.Container,\n Stage: Stage_1.Stage,\n stages: Stage_1.stages,\n Layer: Layer_1.Layer,\n FastLayer: FastLayer_1.FastLayer,\n Group: Group_1.Group,\n DD: DragAndDrop_1.DD,\n Shape: Shape_1.Shape,\n shapes: Shape_1.shapes,\n Animation: Animation_1.Animation,\n Tween: Tween_1.Tween,\n Easings: Tween_1.Easings,\n Context: Context_1.Context,\n Canvas: Canvas_1.Canvas,\n});\nexports.default = exports.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arc = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Arc extends Shape_1.Shape {\n _sceneFunc(context) {\n const angle = Global_1.Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Global_1.Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nexports.Arc = Arc;\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_2._registerNode)(Arc);\nFactory_1.Factory.addGetterSetter(Arc, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'clockwise', false, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Line = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Global_1 = require(\"../Global\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n const d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n const len = p.length, allPoints = [];\n for (let n = 2; n < len - 2; n += 2) {\n const cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nclass Line extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n let points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n const p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n let points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n let minX = points[0];\n let maxX = points[0];\n let minY = points[1];\n let maxY = points[1];\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nexports.Line = Line;\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n(0, Global_1._registerNode)(Line);\nFactory_1.Factory.addGetterSetter(Line, 'closed', false);\nFactory_1.Factory.addGetterSetter(Line, 'bezier', false);\nFactory_1.Factory.addGetterSetter(Line, 'tension', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Line, 'points', [], (0, Validators_1.getNumberArrayValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.t2length = exports.getQuadraticArcLength = exports.getCubicArcLength = exports.binomialCoefficients = exports.cValues = exports.tValues = void 0;\nexports.tValues = [\n [],\n [],\n [\n -0.5773502691896257645091487805019574556476,\n 0.5773502691896257645091487805019574556476,\n ],\n [\n 0, -0.7745966692414833770358530799564799221665,\n 0.7745966692414833770358530799564799221665,\n ],\n [\n -0.3399810435848562648026657591032446872005,\n 0.3399810435848562648026657591032446872005,\n -0.8611363115940525752239464888928095050957,\n 0.8611363115940525752239464888928095050957,\n ],\n [\n 0, -0.5384693101056830910363144207002088049672,\n 0.5384693101056830910363144207002088049672,\n -0.9061798459386639927976268782993929651256,\n 0.9061798459386639927976268782993929651256,\n ],\n [\n 0.6612093864662645136613995950199053470064,\n -0.6612093864662645136613995950199053470064,\n -0.2386191860831969086305017216807119354186,\n 0.2386191860831969086305017216807119354186,\n -0.9324695142031520278123015544939946091347,\n 0.9324695142031520278123015544939946091347,\n ],\n [\n 0, 0.4058451513773971669066064120769614633473,\n -0.4058451513773971669066064120769614633473,\n -0.7415311855993944398638647732807884070741,\n 0.7415311855993944398638647732807884070741,\n -0.9491079123427585245261896840478512624007,\n 0.9491079123427585245261896840478512624007,\n ],\n [\n -0.1834346424956498049394761423601839806667,\n 0.1834346424956498049394761423601839806667,\n -0.5255324099163289858177390491892463490419,\n 0.5255324099163289858177390491892463490419,\n -0.7966664774136267395915539364758304368371,\n 0.7966664774136267395915539364758304368371,\n -0.9602898564975362316835608685694729904282,\n 0.9602898564975362316835608685694729904282,\n ],\n [\n 0, -0.8360311073266357942994297880697348765441,\n 0.8360311073266357942994297880697348765441,\n -0.9681602395076260898355762029036728700494,\n 0.9681602395076260898355762029036728700494,\n -0.3242534234038089290385380146433366085719,\n 0.3242534234038089290385380146433366085719,\n -0.6133714327005903973087020393414741847857,\n 0.6133714327005903973087020393414741847857,\n ],\n [\n -0.1488743389816312108848260011297199846175,\n 0.1488743389816312108848260011297199846175,\n -0.4333953941292471907992659431657841622,\n 0.4333953941292471907992659431657841622,\n -0.6794095682990244062343273651148735757692,\n 0.6794095682990244062343273651148735757692,\n -0.8650633666889845107320966884234930485275,\n 0.8650633666889845107320966884234930485275,\n -0.9739065285171717200779640120844520534282,\n 0.9739065285171717200779640120844520534282,\n ],\n [\n 0, -0.2695431559523449723315319854008615246796,\n 0.2695431559523449723315319854008615246796,\n -0.5190961292068118159257256694586095544802,\n 0.5190961292068118159257256694586095544802,\n -0.7301520055740493240934162520311534580496,\n 0.7301520055740493240934162520311534580496,\n -0.8870625997680952990751577693039272666316,\n 0.8870625997680952990751577693039272666316,\n -0.9782286581460569928039380011228573907714,\n 0.9782286581460569928039380011228573907714,\n ],\n [\n -0.1252334085114689154724413694638531299833,\n 0.1252334085114689154724413694638531299833,\n -0.3678314989981801937526915366437175612563,\n 0.3678314989981801937526915366437175612563,\n -0.587317954286617447296702418940534280369,\n 0.587317954286617447296702418940534280369,\n -0.7699026741943046870368938332128180759849,\n 0.7699026741943046870368938332128180759849,\n -0.9041172563704748566784658661190961925375,\n 0.9041172563704748566784658661190961925375,\n -0.9815606342467192506905490901492808229601,\n 0.9815606342467192506905490901492808229601,\n ],\n [\n 0, -0.2304583159551347940655281210979888352115,\n 0.2304583159551347940655281210979888352115,\n -0.4484927510364468528779128521276398678019,\n 0.4484927510364468528779128521276398678019,\n -0.6423493394403402206439846069955156500716,\n 0.6423493394403402206439846069955156500716,\n -0.8015780907333099127942064895828598903056,\n 0.8015780907333099127942064895828598903056,\n -0.9175983992229779652065478365007195123904,\n 0.9175983992229779652065478365007195123904,\n -0.9841830547185881494728294488071096110649,\n 0.9841830547185881494728294488071096110649,\n ],\n [\n -0.1080549487073436620662446502198347476119,\n 0.1080549487073436620662446502198347476119,\n -0.3191123689278897604356718241684754668342,\n 0.3191123689278897604356718241684754668342,\n -0.5152486363581540919652907185511886623088,\n 0.5152486363581540919652907185511886623088,\n -0.6872929048116854701480198030193341375384,\n 0.6872929048116854701480198030193341375384,\n -0.8272013150697649931897947426503949610397,\n 0.8272013150697649931897947426503949610397,\n -0.928434883663573517336391139377874264477,\n 0.928434883663573517336391139377874264477,\n -0.986283808696812338841597266704052801676,\n 0.986283808696812338841597266704052801676,\n ],\n [\n 0, -0.2011940939974345223006283033945962078128,\n 0.2011940939974345223006283033945962078128,\n -0.3941513470775633698972073709810454683627,\n 0.3941513470775633698972073709810454683627,\n -0.5709721726085388475372267372539106412383,\n 0.5709721726085388475372267372539106412383,\n -0.7244177313601700474161860546139380096308,\n 0.7244177313601700474161860546139380096308,\n -0.8482065834104272162006483207742168513662,\n 0.8482065834104272162006483207742168513662,\n -0.9372733924007059043077589477102094712439,\n 0.9372733924007059043077589477102094712439,\n -0.9879925180204854284895657185866125811469,\n 0.9879925180204854284895657185866125811469,\n ],\n [\n -0.0950125098376374401853193354249580631303,\n 0.0950125098376374401853193354249580631303,\n -0.281603550779258913230460501460496106486,\n 0.281603550779258913230460501460496106486,\n -0.45801677765722738634241944298357757354,\n 0.45801677765722738634241944298357757354,\n -0.6178762444026437484466717640487910189918,\n 0.6178762444026437484466717640487910189918,\n -0.7554044083550030338951011948474422683538,\n 0.7554044083550030338951011948474422683538,\n -0.8656312023878317438804678977123931323873,\n 0.8656312023878317438804678977123931323873,\n -0.9445750230732325760779884155346083450911,\n 0.9445750230732325760779884155346083450911,\n -0.9894009349916499325961541734503326274262,\n 0.9894009349916499325961541734503326274262,\n ],\n [\n 0, -0.1784841814958478558506774936540655574754,\n 0.1784841814958478558506774936540655574754,\n -0.3512317634538763152971855170953460050405,\n 0.3512317634538763152971855170953460050405,\n -0.5126905370864769678862465686295518745829,\n 0.5126905370864769678862465686295518745829,\n -0.6576711592166907658503022166430023351478,\n 0.6576711592166907658503022166430023351478,\n -0.7815140038968014069252300555204760502239,\n 0.7815140038968014069252300555204760502239,\n -0.8802391537269859021229556944881556926234,\n 0.8802391537269859021229556944881556926234,\n -0.9506755217687677612227169578958030214433,\n 0.9506755217687677612227169578958030214433,\n -0.9905754753144173356754340199406652765077,\n 0.9905754753144173356754340199406652765077,\n ],\n [\n -0.0847750130417353012422618529357838117333,\n 0.0847750130417353012422618529357838117333,\n -0.2518862256915055095889728548779112301628,\n 0.2518862256915055095889728548779112301628,\n -0.4117511614628426460359317938330516370789,\n 0.4117511614628426460359317938330516370789,\n -0.5597708310739475346078715485253291369276,\n 0.5597708310739475346078715485253291369276,\n -0.6916870430603532078748910812888483894522,\n 0.6916870430603532078748910812888483894522,\n -0.8037049589725231156824174550145907971032,\n 0.8037049589725231156824174550145907971032,\n -0.8926024664975557392060605911271455154078,\n 0.8926024664975557392060605911271455154078,\n -0.9558239495713977551811958929297763099728,\n 0.9558239495713977551811958929297763099728,\n -0.9915651684209309467300160047061507702525,\n 0.9915651684209309467300160047061507702525,\n ],\n [\n 0, -0.1603586456402253758680961157407435495048,\n 0.1603586456402253758680961157407435495048,\n -0.3165640999636298319901173288498449178922,\n 0.3165640999636298319901173288498449178922,\n -0.4645707413759609457172671481041023679762,\n 0.4645707413759609457172671481041023679762,\n -0.6005453046616810234696381649462392798683,\n 0.6005453046616810234696381649462392798683,\n -0.7209661773352293786170958608237816296571,\n 0.7209661773352293786170958608237816296571,\n -0.8227146565371428249789224867127139017745,\n 0.8227146565371428249789224867127139017745,\n -0.9031559036148179016426609285323124878093,\n 0.9031559036148179016426609285323124878093,\n -0.960208152134830030852778840687651526615,\n 0.960208152134830030852778840687651526615,\n -0.9924068438435844031890176702532604935893,\n 0.9924068438435844031890176702532604935893,\n ],\n [\n -0.0765265211334973337546404093988382110047,\n 0.0765265211334973337546404093988382110047,\n -0.227785851141645078080496195368574624743,\n 0.227785851141645078080496195368574624743,\n -0.3737060887154195606725481770249272373957,\n 0.3737060887154195606725481770249272373957,\n -0.5108670019508270980043640509552509984254,\n 0.5108670019508270980043640509552509984254,\n -0.6360536807265150254528366962262859367433,\n 0.6360536807265150254528366962262859367433,\n -0.7463319064601507926143050703556415903107,\n 0.7463319064601507926143050703556415903107,\n -0.8391169718222188233945290617015206853296,\n 0.8391169718222188233945290617015206853296,\n -0.9122344282513259058677524412032981130491,\n 0.9122344282513259058677524412032981130491,\n -0.963971927277913791267666131197277221912,\n 0.963971927277913791267666131197277221912,\n -0.9931285991850949247861223884713202782226,\n 0.9931285991850949247861223884713202782226,\n ],\n [\n 0, -0.1455618541608950909370309823386863301163,\n 0.1455618541608950909370309823386863301163,\n -0.288021316802401096600792516064600319909,\n 0.288021316802401096600792516064600319909,\n -0.4243421202074387835736688885437880520964,\n 0.4243421202074387835736688885437880520964,\n -0.551618835887219807059018796724313286622,\n 0.551618835887219807059018796724313286622,\n -0.667138804197412319305966669990339162597,\n 0.667138804197412319305966669990339162597,\n -0.7684399634756779086158778513062280348209,\n 0.7684399634756779086158778513062280348209,\n -0.8533633645833172836472506385875676702761,\n 0.8533633645833172836472506385875676702761,\n -0.9200993341504008287901871337149688941591,\n 0.9200993341504008287901871337149688941591,\n -0.9672268385663062943166222149076951614246,\n 0.9672268385663062943166222149076951614246,\n -0.9937521706203895002602420359379409291933,\n 0.9937521706203895002602420359379409291933,\n ],\n [\n -0.0697392733197222212138417961186280818222,\n 0.0697392733197222212138417961186280818222,\n -0.2078604266882212854788465339195457342156,\n 0.2078604266882212854788465339195457342156,\n -0.3419358208920842251581474204273796195591,\n 0.3419358208920842251581474204273796195591,\n -0.4693558379867570264063307109664063460953,\n 0.4693558379867570264063307109664063460953,\n -0.5876404035069115929588769276386473488776,\n 0.5876404035069115929588769276386473488776,\n -0.6944872631866827800506898357622567712673,\n 0.6944872631866827800506898357622567712673,\n -0.7878168059792081620042779554083515213881,\n 0.7878168059792081620042779554083515213881,\n -0.8658125777203001365364256370193787290847,\n 0.8658125777203001365364256370193787290847,\n -0.9269567721871740005206929392590531966353,\n 0.9269567721871740005206929392590531966353,\n -0.9700604978354287271239509867652687108059,\n 0.9700604978354287271239509867652687108059,\n -0.994294585482399292073031421161298980393,\n 0.994294585482399292073031421161298980393,\n ],\n [\n 0, -0.1332568242984661109317426822417661370104,\n 0.1332568242984661109317426822417661370104,\n -0.264135680970344930533869538283309602979,\n 0.264135680970344930533869538283309602979,\n -0.390301038030290831421488872880605458578,\n 0.390301038030290831421488872880605458578,\n -0.5095014778460075496897930478668464305448,\n 0.5095014778460075496897930478668464305448,\n -0.6196098757636461563850973116495956533871,\n 0.6196098757636461563850973116495956533871,\n -0.7186613631319501944616244837486188483299,\n 0.7186613631319501944616244837486188483299,\n -0.8048884016188398921511184069967785579414,\n 0.8048884016188398921511184069967785579414,\n -0.8767523582704416673781568859341456716389,\n 0.8767523582704416673781568859341456716389,\n -0.9329710868260161023491969890384229782357,\n 0.9329710868260161023491969890384229782357,\n -0.9725424712181152319560240768207773751816,\n 0.9725424712181152319560240768207773751816,\n -0.9947693349975521235239257154455743605736,\n 0.9947693349975521235239257154455743605736,\n ],\n [\n -0.0640568928626056260850430826247450385909,\n 0.0640568928626056260850430826247450385909,\n -0.1911188674736163091586398207570696318404,\n 0.1911188674736163091586398207570696318404,\n -0.3150426796961633743867932913198102407864,\n 0.3150426796961633743867932913198102407864,\n -0.4337935076260451384870842319133497124524,\n 0.4337935076260451384870842319133497124524,\n -0.5454214713888395356583756172183723700107,\n 0.5454214713888395356583756172183723700107,\n -0.6480936519369755692524957869107476266696,\n 0.6480936519369755692524957869107476266696,\n -0.7401241915785543642438281030999784255232,\n 0.7401241915785543642438281030999784255232,\n -0.8200019859739029219539498726697452080761,\n 0.8200019859739029219539498726697452080761,\n -0.8864155270044010342131543419821967550873,\n 0.8864155270044010342131543419821967550873,\n -0.9382745520027327585236490017087214496548,\n 0.9382745520027327585236490017087214496548,\n -0.9747285559713094981983919930081690617411,\n 0.9747285559713094981983919930081690617411,\n -0.9951872199970213601799974097007368118745,\n 0.9951872199970213601799974097007368118745,\n ],\n];\nexports.cValues = [\n [],\n [],\n [1.0, 1.0],\n [\n 0.8888888888888888888888888888888888888888,\n 0.5555555555555555555555555555555555555555,\n 0.5555555555555555555555555555555555555555,\n ],\n [\n 0.6521451548625461426269360507780005927646,\n 0.6521451548625461426269360507780005927646,\n 0.3478548451374538573730639492219994072353,\n 0.3478548451374538573730639492219994072353,\n ],\n [\n 0.5688888888888888888888888888888888888888,\n 0.4786286704993664680412915148356381929122,\n 0.4786286704993664680412915148356381929122,\n 0.2369268850561890875142640407199173626432,\n 0.2369268850561890875142640407199173626432,\n ],\n [\n 0.3607615730481386075698335138377161116615,\n 0.3607615730481386075698335138377161116615,\n 0.4679139345726910473898703439895509948116,\n 0.4679139345726910473898703439895509948116,\n 0.1713244923791703450402961421727328935268,\n 0.1713244923791703450402961421727328935268,\n ],\n [\n 0.4179591836734693877551020408163265306122,\n 0.3818300505051189449503697754889751338783,\n 0.3818300505051189449503697754889751338783,\n 0.2797053914892766679014677714237795824869,\n 0.2797053914892766679014677714237795824869,\n 0.1294849661688696932706114326790820183285,\n 0.1294849661688696932706114326790820183285,\n ],\n [\n 0.3626837833783619829651504492771956121941,\n 0.3626837833783619829651504492771956121941,\n 0.3137066458778872873379622019866013132603,\n 0.3137066458778872873379622019866013132603,\n 0.2223810344533744705443559944262408844301,\n 0.2223810344533744705443559944262408844301,\n 0.1012285362903762591525313543099621901153,\n 0.1012285362903762591525313543099621901153,\n ],\n [\n 0.3302393550012597631645250692869740488788,\n 0.1806481606948574040584720312429128095143,\n 0.1806481606948574040584720312429128095143,\n 0.0812743883615744119718921581105236506756,\n 0.0812743883615744119718921581105236506756,\n 0.3123470770400028400686304065844436655987,\n 0.3123470770400028400686304065844436655987,\n 0.2606106964029354623187428694186328497718,\n 0.2606106964029354623187428694186328497718,\n ],\n [\n 0.295524224714752870173892994651338329421,\n 0.295524224714752870173892994651338329421,\n 0.2692667193099963550912269215694693528597,\n 0.2692667193099963550912269215694693528597,\n 0.2190863625159820439955349342281631924587,\n 0.2190863625159820439955349342281631924587,\n 0.1494513491505805931457763396576973324025,\n 0.1494513491505805931457763396576973324025,\n 0.0666713443086881375935688098933317928578,\n 0.0666713443086881375935688098933317928578,\n ],\n [\n 0.272925086777900630714483528336342189156,\n 0.2628045445102466621806888698905091953727,\n 0.2628045445102466621806888698905091953727,\n 0.2331937645919904799185237048431751394317,\n 0.2331937645919904799185237048431751394317,\n 0.1862902109277342514260976414316558916912,\n 0.1862902109277342514260976414316558916912,\n 0.1255803694649046246346942992239401001976,\n 0.1255803694649046246346942992239401001976,\n 0.0556685671161736664827537204425485787285,\n 0.0556685671161736664827537204425485787285,\n ],\n [\n 0.2491470458134027850005624360429512108304,\n 0.2491470458134027850005624360429512108304,\n 0.2334925365383548087608498989248780562594,\n 0.2334925365383548087608498989248780562594,\n 0.2031674267230659217490644558097983765065,\n 0.2031674267230659217490644558097983765065,\n 0.160078328543346226334652529543359071872,\n 0.160078328543346226334652529543359071872,\n 0.1069393259953184309602547181939962242145,\n 0.1069393259953184309602547181939962242145,\n 0.047175336386511827194615961485017060317,\n 0.047175336386511827194615961485017060317,\n ],\n [\n 0.2325515532308739101945895152688359481566,\n 0.2262831802628972384120901860397766184347,\n 0.2262831802628972384120901860397766184347,\n 0.2078160475368885023125232193060527633865,\n 0.2078160475368885023125232193060527633865,\n 0.1781459807619457382800466919960979955128,\n 0.1781459807619457382800466919960979955128,\n 0.1388735102197872384636017768688714676218,\n 0.1388735102197872384636017768688714676218,\n 0.0921214998377284479144217759537971209236,\n 0.0921214998377284479144217759537971209236,\n 0.0404840047653158795200215922009860600419,\n 0.0404840047653158795200215922009860600419,\n ],\n [\n 0.2152638534631577901958764433162600352749,\n 0.2152638534631577901958764433162600352749,\n 0.2051984637212956039659240656612180557103,\n 0.2051984637212956039659240656612180557103,\n 0.1855383974779378137417165901251570362489,\n 0.1855383974779378137417165901251570362489,\n 0.1572031671581935345696019386238421566056,\n 0.1572031671581935345696019386238421566056,\n 0.1215185706879031846894148090724766259566,\n 0.1215185706879031846894148090724766259566,\n 0.0801580871597602098056332770628543095836,\n 0.0801580871597602098056332770628543095836,\n 0.0351194603317518630318328761381917806197,\n 0.0351194603317518630318328761381917806197,\n ],\n [\n 0.2025782419255612728806201999675193148386,\n 0.1984314853271115764561183264438393248186,\n 0.1984314853271115764561183264438393248186,\n 0.1861610000155622110268005618664228245062,\n 0.1861610000155622110268005618664228245062,\n 0.1662692058169939335532008604812088111309,\n 0.1662692058169939335532008604812088111309,\n 0.1395706779261543144478047945110283225208,\n 0.1395706779261543144478047945110283225208,\n 0.1071592204671719350118695466858693034155,\n 0.1071592204671719350118695466858693034155,\n 0.0703660474881081247092674164506673384667,\n 0.0703660474881081247092674164506673384667,\n 0.0307532419961172683546283935772044177217,\n 0.0307532419961172683546283935772044177217,\n ],\n [\n 0.1894506104550684962853967232082831051469,\n 0.1894506104550684962853967232082831051469,\n 0.1826034150449235888667636679692199393835,\n 0.1826034150449235888667636679692199393835,\n 0.1691565193950025381893120790303599622116,\n 0.1691565193950025381893120790303599622116,\n 0.1495959888165767320815017305474785489704,\n 0.1495959888165767320815017305474785489704,\n 0.1246289712555338720524762821920164201448,\n 0.1246289712555338720524762821920164201448,\n 0.0951585116824927848099251076022462263552,\n 0.0951585116824927848099251076022462263552,\n 0.0622535239386478928628438369943776942749,\n 0.0622535239386478928628438369943776942749,\n 0.0271524594117540948517805724560181035122,\n 0.0271524594117540948517805724560181035122,\n ],\n [\n 0.1794464703562065254582656442618856214487,\n 0.1765627053669926463252709901131972391509,\n 0.1765627053669926463252709901131972391509,\n 0.1680041021564500445099706637883231550211,\n 0.1680041021564500445099706637883231550211,\n 0.1540457610768102880814315948019586119404,\n 0.1540457610768102880814315948019586119404,\n 0.1351363684685254732863199817023501973721,\n 0.1351363684685254732863199817023501973721,\n 0.1118838471934039710947883856263559267358,\n 0.1118838471934039710947883856263559267358,\n 0.0850361483171791808835353701910620738504,\n 0.0850361483171791808835353701910620738504,\n 0.0554595293739872011294401653582446605128,\n 0.0554595293739872011294401653582446605128,\n 0.0241483028685479319601100262875653246916,\n 0.0241483028685479319601100262875653246916,\n ],\n [\n 0.1691423829631435918406564701349866103341,\n 0.1691423829631435918406564701349866103341,\n 0.1642764837458327229860537764659275904123,\n 0.1642764837458327229860537764659275904123,\n 0.1546846751262652449254180038363747721932,\n 0.1546846751262652449254180038363747721932,\n 0.1406429146706506512047313037519472280955,\n 0.1406429146706506512047313037519472280955,\n 0.1225552067114784601845191268002015552281,\n 0.1225552067114784601845191268002015552281,\n 0.1009420441062871655628139849248346070628,\n 0.1009420441062871655628139849248346070628,\n 0.0764257302548890565291296776166365256053,\n 0.0764257302548890565291296776166365256053,\n 0.0497145488949697964533349462026386416808,\n 0.0497145488949697964533349462026386416808,\n 0.0216160135264833103133427102664524693876,\n 0.0216160135264833103133427102664524693876,\n ],\n [\n 0.1610544498487836959791636253209167350399,\n 0.1589688433939543476499564394650472016787,\n 0.1589688433939543476499564394650472016787,\n 0.152766042065859666778855400897662998461,\n 0.152766042065859666778855400897662998461,\n 0.1426067021736066117757461094419029724756,\n 0.1426067021736066117757461094419029724756,\n 0.1287539625393362276755157848568771170558,\n 0.1287539625393362276755157848568771170558,\n 0.1115666455473339947160239016817659974813,\n 0.1115666455473339947160239016817659974813,\n 0.0914900216224499994644620941238396526609,\n 0.0914900216224499994644620941238396526609,\n 0.0690445427376412265807082580060130449618,\n 0.0690445427376412265807082580060130449618,\n 0.0448142267656996003328381574019942119517,\n 0.0448142267656996003328381574019942119517,\n 0.0194617882297264770363120414644384357529,\n 0.0194617882297264770363120414644384357529,\n ],\n [\n 0.1527533871307258506980843319550975934919,\n 0.1527533871307258506980843319550975934919,\n 0.1491729864726037467878287370019694366926,\n 0.1491729864726037467878287370019694366926,\n 0.1420961093183820513292983250671649330345,\n 0.1420961093183820513292983250671649330345,\n 0.1316886384491766268984944997481631349161,\n 0.1316886384491766268984944997481631349161,\n 0.118194531961518417312377377711382287005,\n 0.118194531961518417312377377711382287005,\n 0.1019301198172404350367501354803498761666,\n 0.1019301198172404350367501354803498761666,\n 0.0832767415767047487247581432220462061001,\n 0.0832767415767047487247581432220462061001,\n 0.0626720483341090635695065351870416063516,\n 0.0626720483341090635695065351870416063516,\n 0.040601429800386941331039952274932109879,\n 0.040601429800386941331039952274932109879,\n 0.0176140071391521183118619623518528163621,\n 0.0176140071391521183118619623518528163621,\n ],\n [\n 0.1460811336496904271919851476833711882448,\n 0.1445244039899700590638271665537525436099,\n 0.1445244039899700590638271665537525436099,\n 0.1398873947910731547221334238675831108927,\n 0.1398873947910731547221334238675831108927,\n 0.132268938633337461781052574496775604329,\n 0.132268938633337461781052574496775604329,\n 0.1218314160537285341953671771257335983563,\n 0.1218314160537285341953671771257335983563,\n 0.1087972991671483776634745780701056420336,\n 0.1087972991671483776634745780701056420336,\n 0.0934444234560338615532897411139320884835,\n 0.0934444234560338615532897411139320884835,\n 0.0761001136283793020170516533001831792261,\n 0.0761001136283793020170516533001831792261,\n 0.0571344254268572082836358264724479574912,\n 0.0571344254268572082836358264724479574912,\n 0.0369537897708524937999506682993296661889,\n 0.0369537897708524937999506682993296661889,\n 0.0160172282577743333242246168584710152658,\n 0.0160172282577743333242246168584710152658,\n ],\n [\n 0.1392518728556319933754102483418099578739,\n 0.1392518728556319933754102483418099578739,\n 0.1365414983460151713525738312315173965863,\n 0.1365414983460151713525738312315173965863,\n 0.1311735047870623707329649925303074458757,\n 0.1311735047870623707329649925303074458757,\n 0.1232523768105124242855609861548144719594,\n 0.1232523768105124242855609861548144719594,\n 0.1129322960805392183934006074217843191142,\n 0.1129322960805392183934006074217843191142,\n 0.1004141444428809649320788378305362823508,\n 0.1004141444428809649320788378305362823508,\n 0.0859416062170677274144436813727028661891,\n 0.0859416062170677274144436813727028661891,\n 0.0697964684245204880949614189302176573987,\n 0.0697964684245204880949614189302176573987,\n 0.0522933351526832859403120512732112561121,\n 0.0522933351526832859403120512732112561121,\n 0.0337749015848141547933022468659129013491,\n 0.0337749015848141547933022468659129013491,\n 0.0146279952982722006849910980471854451902,\n 0.0146279952982722006849910980471854451902,\n ],\n [\n 0.1336545721861061753514571105458443385831,\n 0.132462039404696617371642464703316925805,\n 0.132462039404696617371642464703316925805,\n 0.1289057221880821499785953393997936532597,\n 0.1289057221880821499785953393997936532597,\n 0.1230490843067295304675784006720096548158,\n 0.1230490843067295304675784006720096548158,\n 0.1149966402224113649416435129339613014914,\n 0.1149966402224113649416435129339613014914,\n 0.1048920914645414100740861850147438548584,\n 0.1048920914645414100740861850147438548584,\n 0.0929157660600351474770186173697646486034,\n 0.0929157660600351474770186173697646486034,\n 0.0792814117767189549228925247420432269137,\n 0.0792814117767189549228925247420432269137,\n 0.0642324214085258521271696151589109980391,\n 0.0642324214085258521271696151589109980391,\n 0.0480376717310846685716410716320339965612,\n 0.0480376717310846685716410716320339965612,\n 0.0309880058569794443106942196418845053837,\n 0.0309880058569794443106942196418845053837,\n 0.0134118594871417720813094934586150649766,\n 0.0134118594871417720813094934586150649766,\n ],\n [\n 0.1279381953467521569740561652246953718517,\n 0.1279381953467521569740561652246953718517,\n 0.1258374563468282961213753825111836887264,\n 0.1258374563468282961213753825111836887264,\n 0.121670472927803391204463153476262425607,\n 0.121670472927803391204463153476262425607,\n 0.1155056680537256013533444839067835598622,\n 0.1155056680537256013533444839067835598622,\n 0.1074442701159656347825773424466062227946,\n 0.1074442701159656347825773424466062227946,\n 0.0976186521041138882698806644642471544279,\n 0.0976186521041138882698806644642471544279,\n 0.086190161531953275917185202983742667185,\n 0.086190161531953275917185202983742667185,\n 0.0733464814110803057340336152531165181193,\n 0.0733464814110803057340336152531165181193,\n 0.0592985849154367807463677585001085845412,\n 0.0592985849154367807463677585001085845412,\n 0.0442774388174198061686027482113382288593,\n 0.0442774388174198061686027482113382288593,\n 0.0285313886289336631813078159518782864491,\n 0.0285313886289336631813078159518782864491,\n 0.0123412297999871995468056670700372915759,\n 0.0123412297999871995468056670700372915759,\n ],\n];\nexports.binomialCoefficients = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]];\nconst getCubicArcLength = (xs, ys, t) => {\n let sum;\n let correctedT;\n const n = 20;\n const z = t / 2;\n sum = 0;\n for (let i = 0; i < n; i++) {\n correctedT = z * exports.tValues[n][i] + z;\n sum += exports.cValues[n][i] * BFunc(xs, ys, correctedT);\n }\n return z * sum;\n};\nexports.getCubicArcLength = getCubicArcLength;\nconst getQuadraticArcLength = (xs, ys, t) => {\n if (t === undefined) {\n t = 1;\n }\n const ax = xs[0] - 2 * xs[1] + xs[2];\n const ay = ys[0] - 2 * ys[1] + ys[2];\n const bx = 2 * xs[1] - 2 * xs[0];\n const by = 2 * ys[1] - 2 * ys[0];\n const A = 4 * (ax * ax + ay * ay);\n const B = 4 * (ax * bx + ay * by);\n const C = bx * bx + by * by;\n if (A === 0) {\n return (t * Math.sqrt(Math.pow(xs[2] - xs[0], 2) + Math.pow(ys[2] - ys[0], 2)));\n }\n const b = B / (2 * A);\n const c = C / A;\n const u = t + b;\n const k = c - b * b;\n const uuk = u * u + k > 0 ? Math.sqrt(u * u + k) : 0;\n const bbk = b * b + k > 0 ? Math.sqrt(b * b + k) : 0;\n const term = b + Math.sqrt(b * b + k) !== 0\n ? k * Math.log(Math.abs((u + uuk) / (b + bbk)))\n : 0;\n return (Math.sqrt(A) / 2) * (u * uuk - b * bbk + term);\n};\nexports.getQuadraticArcLength = getQuadraticArcLength;\nfunction BFunc(xs, ys, t) {\n const xbase = getDerivative(1, t, xs);\n const ybase = getDerivative(1, t, ys);\n const combined = xbase * xbase + ybase * ybase;\n return Math.sqrt(combined);\n}\nconst getDerivative = (derivative, t, vs) => {\n const n = vs.length - 1;\n let _vs;\n let value;\n if (n === 0) {\n return 0;\n }\n if (derivative === 0) {\n value = 0;\n for (let k = 0; k <= n; k++) {\n value +=\n exports.binomialCoefficients[n][k] *\n Math.pow(1 - t, n - k) *\n Math.pow(t, k) *\n vs[k];\n }\n return value;\n }\n else {\n _vs = new Array(n);\n for (let k = 0; k < n; k++) {\n _vs[k] = n * (vs[k + 1] - vs[k]);\n }\n return getDerivative(derivative - 1, t, _vs);\n }\n};\nconst t2length = (length, totalLength, func) => {\n let error = 1;\n let t = length / totalLength;\n let step = (length - func(t)) / totalLength;\n let numIterations = 0;\n while (error > 0.001) {\n const increasedTLength = func(t + step);\n const increasedTError = Math.abs(length - increasedTLength) / totalLength;\n if (increasedTError < error) {\n error = increasedTError;\n t += step;\n }\n else {\n const decreasedTLength = func(t - step);\n const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;\n if (decreasedTError < error) {\n error = decreasedTError;\n t -= step;\n }\n else {\n step /= 2;\n }\n }\n numIterations++;\n if (numIterations > 500) {\n break;\n }\n }\n return t;\n};\nexports.t2length = t2length;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst BezierFunctions_1 = require(\"../BezierFunctions\");\nclass Path extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n });\n }\n _readDataAttribute() {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = Path.getPathLength(this.dataArray);\n }\n _sceneFunc(context) {\n const ca = this.dataArray;\n context.beginPath();\n let isClosed = false;\n for (let n = 0; n < ca.length; n++) {\n const c = ca[n].command;\n const p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n let points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n const start = data.points[4];\n const dTheta = data.points[5];\n const end = data.points[4] + dTheta;\n let inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n let minX = points[0];\n let maxX = points[0];\n let minY = points[1];\n let maxY = points[1];\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n return Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPathLength(dataArray) {\n let pathLength = 0;\n for (let i = 0; i < dataArray.length; ++i) {\n pathLength += dataArray[i].pathLength;\n }\n return pathLength;\n }\n static getPointAtLengthOfDataArray(length, dataArray) {\n let points, i = 0, ii = dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > dataArray[i].pathLength) {\n length -= dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n points = dataArray[i - 1].points.slice(-2);\n return {\n x: points[0],\n y: points[1],\n };\n }\n if (length < 0.01) {\n points = dataArray[i].points.slice(0, 2);\n return {\n x: points[0],\n y: points[1],\n };\n }\n const cp = dataArray[i];\n const p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getCubicArcLength)([cp.start.x, p[0], p[2], p[4]], [cp.start.y, p[1], p[3], p[5]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getQuadraticArcLength)([cp.start.x, p[0], p[2]], [cp.start.y, p[1], p[3]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n fromX = fromX !== null && fromX !== void 0 ? fromX : P1x;\n fromY = fromY !== null && fromY !== void 0 ? fromY : P1y;\n const len = this.getLineLength(P1x, P1y, P2x, P2y);\n if (len < 1e-10) {\n return { x: P1x, y: P1y };\n }\n if (P2x === P1x) {\n return { x: fromX, y: fromY + (P2y > P1y ? dist : -dist) };\n }\n const m = (P2y - P1y) / (P2x - P1x);\n const run = Math.sqrt((dist * dist) / (1 + m * m)) * (P2x < P1x ? -1 : 1);\n const rise = m * run;\n if (Math.abs(fromY - P1y - m * (fromX - P1x)) < 1e-10) {\n return { x: fromX + run, y: fromY + rise };\n }\n const u = ((fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y)) / (len * len);\n const ix = P1x + u * (P2x - P1x);\n const iy = P1y + u * (P2y - P1y);\n const pRise = this.getLineLength(fromX, fromY, ix, iy);\n const pRun = Math.sqrt(dist * dist - pRise * pRise);\n const adjustedRun = Math.sqrt((pRun * pRun) / (1 + m * m)) * (P2x < P1x ? -1 : 1);\n const adjustedRise = m * adjustedRun;\n return { x: ix + adjustedRun, y: iy + adjustedRise };\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n const x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n const y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n const x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n const y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n const cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n const pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n let cs = data;\n const cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n const arr = cs.split('|');\n const ca = [];\n const coords = [];\n let cpx = 0;\n let cpy = 0;\n const re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n let match;\n for (n = 1; n < arr.length; n++) {\n let str = arr[n];\n let c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n const p = [];\n for (let j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n const parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n let cmd = '';\n let points = [];\n const startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (let idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n let len, p1, p2, t;\n const path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n return (0, BezierFunctions_1.getCubicArcLength)([x, points[0], points[2], points[4]], [y, points[1], points[3], points[5]], 1);\n case 'Q':\n return (0, BezierFunctions_1.getQuadraticArcLength)([x, points[0], points[2]], [y, points[1], points[3]], 1);\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n const psi = psiDeg * (Math.PI / 180.0);\n const xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n const yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n const lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n let f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n const cxp = (f * rx * yp) / ry;\n const cyp = (f * -ry * xp) / rx;\n const cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n const cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n const vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n const vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n const vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n const theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n const u = [(xp - cxp) / rx, (yp - cyp) / ry];\n const v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n let dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nexports.Path = Path;\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n(0, Global_1._registerNode)(Path);\nFactory_1.Factory.addGetterSetter(Path, 'data');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arrow = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Line_1 = require(\"./Line\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst Path_1 = require(\"./Path\");\nclass Arrow extends Line_1.Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n const PI2 = Math.PI * 2;\n const points = this.points();\n let tp = points;\n const fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n const length = this.pointerLength();\n const n = points.length;\n let dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path_1.Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path_1.Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n const radians = (Math.atan2(dy, dx) + PI2) % PI2;\n const width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n const isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x,\n y: lineRect.y - offset,\n width: lineRect.width,\n height: lineRect.height + offset * 2,\n };\n }\n}\nexports.Arrow = Arrow;\nArrow.prototype.className = 'Arrow';\n(0, Global_1._registerNode)(Arrow);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerLength', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerWidth', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Circle = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Circle extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nexports.Circle = Circle;\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(Circle);\nFactory_1.Factory.addGetterSetter(Circle, 'radius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ellipse = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Ellipse extends Shape_1.Shape {\n _sceneFunc(context) {\n const rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nexports.Ellipse = Ellipse;\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n(0, Global_1._registerNode)(Ellipse);\nFactory_1.Factory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusY', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Image = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nclass Image extends Shape_1.Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n const hasCornerRadius = !!this.cornerRadius();\n const hasShadow = this.hasShadow();\n if (hasCornerRadius && hasShadow) {\n return true;\n }\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n const width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n const img = Util_1.Util.createImageElement();\n img.onload = function () {\n const image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nexports.Image = Image;\nImage.prototype.className = 'Image';\n(0, Global_1._registerNode)(Image);\nFactory_1.Factory.addGetterSetter(Image, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\nFactory_1.Factory.addGetterSetter(Image, 'image');\nFactory_1.Factory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory_1.Factory.addGetterSetter(Image, 'cropX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tag = exports.Label = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Group_1 = require(\"../Group\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nclass Label extends Group_1.Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n let that = this, n;\n const func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n let text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nexports.Label = Label;\nLabel.prototype.className = 'Label';\n(0, Global_1._registerNode)(Label);\nclass Tag extends Shape_1.Shape {\n _sceneFunc(context) {\n const width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n let x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nexports.Tag = Tag;\nTag.prototype.className = 'Tag';\n(0, Global_1._registerNode)(Tag);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'pointerHeight', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rect = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nclass Rect extends Shape_1.Shape {\n _sceneFunc(context) {\n const cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nexports.Rect = Rect;\nRect.prototype.className = 'Rect';\n(0, Global_1._registerNode)(Rect);\nFactory_1.Factory.addGetterSetter(Rect, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegularPolygon = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass RegularPolygon extends Shape_1.Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (let n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (let n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n let minX = points[0].x;\n let maxX = points[0].y;\n let minY = points[0].x;\n let maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.RegularPolygon = RegularPolygon;\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(RegularPolygon);\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'sides', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ring = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst PIx2 = Math.PI * 2;\nclass Ring extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Ring = Ring;\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Ring);\nFactory_1.Factory.addGetterSetter(Ring, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ring, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sprite = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Animation_1 = require(\"../Animation\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Sprite extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation_1.Animation(() => {\n const updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n const anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n const offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n const anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n const offset = offsets[anim];\n const ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n const that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n const layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n const index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nexports.Sprite = Sprite;\nSprite.prototype.className = 'Sprite';\n(0, Global_1._registerNode)(Sprite);\nFactory_1.Factory.addGetterSetter(Sprite, 'animation');\nFactory_1.Factory.addGetterSetter(Sprite, 'animations');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameOffsets');\nFactory_1.Factory.addGetterSetter(Sprite, 'image');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameIndex', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Sprite, 'frameRate', 17, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Star = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Star extends Shape_1.Shape {\n _sceneFunc(context) {\n const innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (let n = 1; n < numPoints * 2; n++) {\n const radius = n % 2 === 0 ? outerRadius : innerRadius;\n const x = radius * Math.sin((n * Math.PI) / numPoints);\n const y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Star = Star;\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Star);\nFactory_1.Factory.addGetterSetter(Star, 'numPoints', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = void 0;\nexports.stringToArray = stringToArray;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nfunction stringToArray(string) {\n return [...string].reduce((acc, char, index, array) => {\n if (/\\p{Emoji}/u.test(char)) {\n const nextChar = array[index + 1];\n if (nextChar && /\\p{Emoji_Modifier}|\\u200D/u.test(nextChar)) {\n acc.push(char + nextChar);\n array[index + 1] = '';\n }\n else {\n acc.push(char);\n }\n }\n else if (/\\p{Regional_Indicator}{2}/u.test(char + (array[index + 1] || ''))) {\n acc.push(char + array[index + 1]);\n }\n else if (index > 0 && /\\p{Mn}|\\p{Me}|\\p{Mc}/u.test(char)) {\n acc[acc.length - 1] += char;\n }\n else if (char) {\n acc.push(char);\n }\n return acc;\n }, []);\n}\nconst AUTO = 'auto', CENTER = 'center', INHERIT = 'inherit', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', RTL = 'rtl', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'direction',\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.setAttr('miterLimit', 2);\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nclass Text extends Shape_1.Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (let n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n const textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n let padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), direction = this.direction(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n direction = direction === INHERIT ? context.direction : direction;\n let translateY = lineHeightPx / 2;\n let baseline = MIDDLE;\n if (Global_1.Konva._fixTextRendering) {\n const metrics = this.measureSize('M');\n baseline = 'alphabetic';\n translateY =\n (metrics.fontBoundingBoxAscent - metrics.fontBoundingBoxDescent) / 2 +\n lineHeightPx / 2;\n }\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n if (direction === RTL) {\n context.setAttr('direction', direction);\n }\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', baseline);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n const yOffset = Global_1.Konva._fixTextRendering\n ? Math.round(fontSize / 4)\n : Math.round(fontSize / 2);\n const x = lineTranslateX;\n const y = translateY + lineTranslateY + yOffset;\n context.moveTo(x, y);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(x + Math.round(lineWidth), y);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n const yOffset = Global_1.Konva._fixTextRendering ? -Math.round(fontSize / 4) : 0;\n context.moveTo(lineTranslateX, translateY + lineTranslateY + yOffset);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + yOffset);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (direction !== RTL && (letterSpacing !== 0 || align === JUSTIFY)) {\n spacesNumber = text.split(' ').length - 1;\n const array = stringToArray(text);\n for (let li = 0; li < array.length; li++) {\n const letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n if (letterSpacing !== 0) {\n context.setAttr('letterSpacing', `${letterSpacing}px`);\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n const width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n const str = Util_1.Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n const isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n const isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n let _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n const scaleFactor = fontSize / 100;\n return {\n actualBoundingBoxAscent: (_a = metrics.actualBoundingBoxAscent) !== null && _a !== void 0 ? _a : 71.58203125 * scaleFactor,\n actualBoundingBoxDescent: (_b = metrics.actualBoundingBoxDescent) !== null && _b !== void 0 ? _b : 0,\n actualBoundingBoxLeft: (_c = metrics.actualBoundingBoxLeft) !== null && _c !== void 0 ? _c : -7.421875 * scaleFactor,\n actualBoundingBoxRight: (_d = metrics.actualBoundingBoxRight) !== null && _d !== void 0 ? _d : 75.732421875 * scaleFactor,\n alphabeticBaseline: (_e = metrics.alphabeticBaseline) !== null && _e !== void 0 ? _e : 0,\n emHeightAscent: (_f = metrics.emHeightAscent) !== null && _f !== void 0 ? _f : 100 * scaleFactor,\n emHeightDescent: (_g = metrics.emHeightDescent) !== null && _g !== void 0 ? _g : -20 * scaleFactor,\n fontBoundingBoxAscent: (_h = metrics.fontBoundingBoxAscent) !== null && _h !== void 0 ? _h : 91 * scaleFactor,\n fontBoundingBoxDescent: (_j = metrics.fontBoundingBoxDescent) !== null && _j !== void 0 ? _j : 21 * scaleFactor,\n hangingBaseline: (_k = metrics.hangingBaseline) !== null && _k !== void 0 ? _k : 72.80000305175781 * scaleFactor,\n ideographicBaseline: (_l = metrics.ideographicBaseline) !== null && _l !== void 0 ? _l : -21 * scaleFactor,\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n const width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n const letterSpacing = this.letterSpacing();\n const length = text.length;\n return getDummyContext().measureText(text).width + letterSpacing * length;\n }\n _setTextData() {\n let lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n const additionalWidth = shouldAddEllipsis\n ? this._getTextWidth(ELLIPSIS)\n : 0;\n for (let i = 0, max = lines.length; i < max; ++i) {\n let line = lines[i];\n let lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n let low = 0, high = stringToArray(line).length, match = '', matchWidth = 0;\n while (low < high) {\n const mid = (low + high) >>> 1, lineArray = stringToArray(line), substr = lineArray.slice(0, mid + 1).join(''), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n const lineArray = stringToArray(line);\n const matchArray = stringToArray(match);\n const nextChar = lineArray[matchArray.length];\n const nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n let wrapIndex;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = matchArray.length;\n }\n else {\n const lastSpaceIndex = matchArray.lastIndexOf(SPACE);\n const lastDashIndex = matchArray.lastIndexOf(DASH);\n wrapIndex = Math.max(lastSpaceIndex, lastDashIndex) + 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = lineArray.slice(0, low).join('');\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n const shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n const lineArray = stringToArray(line);\n line = lineArray.slice(low).join('').trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n const fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n const width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n const lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n const haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n _useBufferCanvas() {\n const hasLine = this.textDecoration().indexOf('underline') !== -1 ||\n this.textDecoration().indexOf('line-through') !== -1;\n const hasShadow = this.hasShadow();\n if (hasLine && hasShadow) {\n return true;\n }\n return super._useBufferCanvas();\n }\n}\nexports.Text = Text;\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n(0, Global_2._registerNode)(Text);\nFactory_1.Factory.overWriteSetter(Text, 'width', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.overWriteSetter(Text, 'height', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'direction', INHERIT);\nFactory_1.Factory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(Text, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'align', LEFT);\nFactory_1.Factory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory_1.Factory.addGetterSetter(Text, 'lineHeight', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'wrap', WORD);\nFactory_1.Factory.addGetterSetter(Text, 'ellipsis', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'textDecoration', '');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextPath = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Path_1 = require(\"./Path\");\nconst Text_1 = require(\"./Text\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nclass TextPath extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util_1.Util.createCanvasElement();\n this.dataArray = [];\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _getTextPathLength() {\n return Path_1.Path.getPathLength(this.dataArray);\n }\n _getPointAtLength(length) {\n if (!this.attrs.data) {\n return null;\n }\n const totalLength = this.pathLength;\n if (length - 1 > totalLength) {\n return null;\n }\n return Path_1.Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n _readDataAttribute() {\n this.dataArray = Path_1.Path.parsePathData(this.attrs.data);\n this.pathLength = this._getTextPathLength();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n const textDecoration = this.textDecoration();\n const fill = this.fill();\n const fontSize = this.fontSize();\n const glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (let i = 0; i < glyphInfo.length; i++) {\n context.save();\n const p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n const glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n const p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (let i = 0; i < glyphInfo.length; i++) {\n const p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text_1.Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text_1.Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n const dummyCanvas = this.dummyCanvas;\n const _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n const metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(`${this.fontSize()}`, 10),\n };\n }\n _setTextData() {\n const { width, height } = this._getTextSize(this.attrs.text);\n this.textWidth = width;\n this.textHeight = height;\n this.glyphInfo = [];\n if (!this.attrs.data) {\n return null;\n }\n const letterSpacing = this.letterSpacing();\n const align = this.align();\n const kerningFunc = this.kerningFunc();\n const textWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n let offset = 0;\n if (align === 'center') {\n offset = Math.max(0, this.pathLength / 2 - textWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, this.pathLength - textWidth);\n }\n const charArr = (0, Text_1.stringToArray)(this.text());\n let offsetToGlyph = offset;\n for (let i = 0; i < charArr.length; i++) {\n const charStartPoint = this._getPointAtLength(offsetToGlyph);\n if (!charStartPoint)\n return;\n let glyphWidth = this._getTextSize(charArr[i]).width + letterSpacing;\n if (charArr[i] === ' ' && align === 'justify') {\n const numberOfSpaces = this.text().split(' ').length - 1;\n glyphWidth += (this.pathLength - textWidth) / numberOfSpaces;\n }\n const charEndPoint = this._getPointAtLength(offsetToGlyph + glyphWidth);\n if (!charEndPoint)\n return;\n const width = Path_1.Path.getLineLength(charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n let kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n charStartPoint.x += kern;\n charEndPoint.x += kern;\n this.textWidth += kern;\n const midpoint = Path_1.Path.getPointOnLine(kern + width / 2.0, charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n const rotation = Math.atan2(charEndPoint.y - charStartPoint.y, charEndPoint.x - charStartPoint.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: charStartPoint,\n p1: charEndPoint,\n });\n offsetToGlyph += glyphWidth;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n const points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n let minX = points[0] || 0;\n let maxX = points[0] || 0;\n let minY = points[1] || 0;\n let maxY = points[1] || 0;\n let x, y;\n for (let i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n const fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nexports.TextPath = TextPath;\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n(0, Global_1._registerNode)(TextPath);\nFactory_1.Factory.addGetterSetter(TextPath, 'data');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'align', 'left');\nFactory_1.Factory.addGetterSetter(TextPath, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory_1.Factory.addGetterSetter(TextPath, 'textDecoration', '');\nFactory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', undefined);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transformer = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Shape_1 = require(\"../Shape\");\nconst Rect_1 = require(\"./Rect\");\nconst Group_1 = require(\"../Group\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nconst EVENTS_NAME = 'tr-konva';\nconst ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n 'anchorStyleFuncChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nconst NODES_RECT = 'nodesRect';\nconst TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nconst ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Global_1.Konva._global;\nfunction getCursor(anchorName, rad, rotateCursor) {\n if (anchorName === 'rotater') {\n return rotateCursor;\n }\n rad += Util_1.Util.degToRad(ANGLES[anchorName] || 0);\n const angle = ((Util_1.Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util_1.Util._inRange(angle, 315 + 22.5, 360) || Util_1.Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util_1.Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util_1.Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nconst ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nconst MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return {\n ...shape,\n rotation: shape.rotation + angleRad,\n x,\n y,\n };\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Global_1.Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nlet activeTransformersCount = 0;\nclass Transformer extends Group_1.Group {\n constructor(config) {\n super(config);\n this._movingAnchorName = null;\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util_1.Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util_1.Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n const elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n const rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n const absScale = node.getAbsoluteScale(relative);\n const absPos = node.getAbsolutePosition(relative);\n const dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n const dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Global_1.Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Global_1.Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n const node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n const trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n const transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Util_1.Transform();\n tr.rotate(-Global_1.Konva.getAngle(this.rotation()));\n let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n totalPoints.forEach(function (point) {\n const transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach((name) => {\n this._createAnchor(name);\n });\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n const anchor = new Rect_1.Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n const self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n const rad = Global_1.Konva.getAngle(this.rotation());\n const rotateCursor = this.rotateAnchorCursor();\n const cursor = getCursor(name, rad, rotateCursor);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n const back = new Shape_1.Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx, shape) {\n const tr = shape.getParent();\n const padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.moveTo(shape.width() / 2, -padding);\n if (tr.rotateEnabled() && tr.rotateLineVisible()) {\n ctx.lineTo(shape.width() / 2, -tr.rotateAnchorOffset() * Util_1.Util._sign(shape.height()) - padding);\n }\n ctx.fillStrokeShape(shape);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n const padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n if (this._transforming) {\n return;\n }\n this._movingAnchorName = e.target.name().split(' ')[0];\n const attrs = this._getNodeRect();\n const width = attrs.width;\n const height = attrs.height;\n const hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n const ap = e.target.getAbsolutePosition();\n const pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n activeTransformersCount++;\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n let x, y, newHypotenuse;\n const anchorNode = this.findOne('.' + this._movingAnchorName);\n const stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n const attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n const oldRotation = Global_1.Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Global_1.Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n const shiftBehavior = this.shiftBehavior();\n let keepProportion;\n if (shiftBehavior === 'inverted') {\n keepProportion = this.keepRatio() && !e.shiftKey;\n }\n else if (shiftBehavior === 'none') {\n keepProportion = this.keepRatio();\n }\n else {\n keepProportion = this.keepRatio() || e.shiftKey;\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n const topLeft = this.findOne('.top-left');\n const bottomRight = this.findOne('.bottom-right');\n const topOffsetX = topLeft.x();\n const topOffsetY = topLeft.y();\n const bottomOffsetX = this.getWidth() - bottomRight.x();\n const bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n const absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n const width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n const height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n var _a;\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n const node = this.getNode();\n activeTransformersCount--;\n this._fire('transformend', { evt: e, target: node });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n if (node) {\n this._nodes.forEach((target) => {\n var _a;\n target._fire('transformend', { evt: e, target });\n (_a = target.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n const oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util_1.Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util_1.Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n const t = new Util_1.Transform();\n t.rotate(Global_1.Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util_1.Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Util_1.Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Util_1.Transform();\n const newScaleX = newAttrs.width / baseSize;\n const newScaleY = newAttrs.height / baseSize;\n if (this.flipEnabled() === false) {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.translate(newAttrs.width < 0 ? newAttrs.width : 0, newAttrs.height < 0 ? newAttrs.height : 0);\n newTr.scale(Math.abs(newScaleX), Math.abs(newScaleY));\n }\n else {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newScaleX, newScaleY);\n }\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Util_1.Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util_1.Util._getRotation(newAttrs.rotation));\n this._nodes.forEach((node) => {\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n });\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n const attrs = this._getNodeRect();\n this.rotation(Util_1.Util._getRotation(attrs.rotation));\n const width = attrs.width;\n const height = attrs.height;\n const enabledAnchors = this.enabledAnchors();\n const resizeEnabled = this.resizeEnabled();\n const padding = this.padding();\n const anchorSize = this.anchorSize();\n const anchors = this.find('._anchor');\n anchors.forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util_1.Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n const styleFunc = this.anchorStyleFunc();\n if (styleFunc) {\n anchors.forEach((node) => {\n styleFunc(node);\n });\n }\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n const anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group_1.Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node_1.Node.prototype.toObject.call(this);\n }\n clone(obj) {\n const node = Node_1.Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nexports.Transformer = Transformer;\nTransformer.isTransforming = () => {\n return activeTransformersCount > 0;\n};\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util_1.Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util_1.Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n(0, Global_2._registerNode)(Transformer);\nFactory_1.Factory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory_1.Factory.addGetterSetter(Transformer, 'flipEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorSize', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateLineVisible', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorCursor', 'crosshair');\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderDash');\nFactory_1.Factory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'shiftBehavior', 'default');\nFactory_1.Factory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'nodes');\nFactory_1.Factory.addGetterSetter(Transformer, 'node');\nFactory_1.Factory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStyleFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory_1.Factory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Wedge = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Wedge extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Global_1.Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.Wedge = Wedge;\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n(0, Global_2._registerNode)(Wedge);\nFactory_1.Factory.addGetterSetter(Wedge, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'clockwise', false);\nFactory_1.Factory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blur = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nconst mul_table = [\n 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292,\n 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292,\n 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259,\n 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292,\n 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373,\n 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259,\n 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381,\n 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292,\n 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461,\n 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373,\n 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309,\n 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259,\n 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442,\n 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381,\n 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332,\n 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\n 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259,\n];\nconst shg_table = [\n 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17,\n 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,\n 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n const pixels = imageData.data, width = imageData.width, height = imageData.height;\n let x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n const div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n let stackEnd = null, stack = stackStart, stackIn = null, stackOut = null;\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum =\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_sum =\n g_sum =\n b_sum =\n a_sum =\n 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_in_sum =\n g_sum =\n b_sum =\n a_sum =\n r_sum =\n 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nconst Blur = function Blur(imageData) {\n const radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nexports.Blur = Blur;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blurRadius', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Brighten = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Brighten = function (imageData) {\n const brightness = this.brightness() * 255, data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nexports.Brighten = Brighten;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'brightness', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Contrast = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Contrast = function (imageData) {\n const adjust = Math.pow((this.contrast() + 100) / 100, 2);\n const data = imageData.data, nPixels = data.length;\n let red = 150, green = 150, blue = 150;\n for (let i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nexports.Contrast = Contrast;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'contrast', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emboss = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst Emboss = function (imageData) {\n const strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4;\n let dirY = 0, dirX = 0, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util_1.Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n const offsetY = (y - 1) * w4;\n let otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n const offsetYOther = (y - 1 + otherY) * w * 4;\n let x = w;\n do {\n const offset = offsetY + (x - 1) * 4;\n let otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n const offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n const dR = data[offset] - data[offsetOther];\n const dG = data[offset + 1] - data[offsetOther + 1];\n const dB = data[offset + 2] - data[offsetOther + 2];\n let dif = dR;\n const absDif = dif > 0 ? dif : -dif;\n const absG = dG > 0 ? dG : -dG;\n const absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n const r = data[offset] + dif;\n const g = data[offset + 1] + dif;\n const b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n let grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nexports.Emboss = Emboss;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossStrength', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossWhiteLevel', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossDirection', 'top-left', undefined, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossBlend', false, undefined, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Enhance = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n const fromRange = fromMax - fromMin, toRange = toMax - toMin;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n let toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nconst Enhance = function (imageData) {\n const data = imageData.data, nSubPixels = data.length;\n let rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b;\n const enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (let i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n let rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (let i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nexports.Enhance = Enhance;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'enhance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grayscale = void 0;\nconst Grayscale = function (imageData) {\n const data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\nexports.Grayscale = Grayscale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSL = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'luminance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nconst HSL = function (imageData) {\n const data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127;\n const vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n const rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n const gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n const br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n let r, g, b, a;\n for (let i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\nexports.HSL = HSL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSV = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst HSV = function (imageData) {\n const data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360;\n const vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n const rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n const gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n const br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n let r, g, b, a;\n for (let i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nexports.HSV = HSV;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'value', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Invert = void 0;\nconst Invert = function (imageData) {\n const data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\nexports.Invert = Invert;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kaleidoscope = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst ToPolar = function (src, dst, opt) {\n const srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2;\n let rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n let x = xSize - xMid;\n let y = ySize - yMid;\n const rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n const rSize = ySize, tSize = xSize;\n const conversion = ((360 / tSize) * Math.PI) / 180;\n for (let theta = 0; theta < tSize; theta += 1) {\n const sin = Math.sin(theta * conversion);\n const cos = Math.cos(theta * conversion);\n for (let radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n let i = (y * xSize + x) * 4;\n const r = srcPixels[i + 0];\n const g = srcPixels[i + 1];\n const b = srcPixels[i + 2];\n const a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst FromPolar = function (src, dst, opt) {\n const srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2;\n let rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n let x = xSize - xMid;\n let y = ySize - yMid;\n const rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n const rSize = ySize, tSize = xSize, phaseShift = opt.polarRotation || 0;\n let x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n const dx = x - xMid;\n const dy = y - yMid;\n const radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n let theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n let i = (y1 * xSize + x1) * 4;\n const r = srcPixels[i + 0];\n const g = srcPixels[i + 1];\n const b = srcPixels[i + 2];\n const a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst Kaleidoscope = function (imageData) {\n const xSize = imageData.width, ySize = imageData.height;\n let x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n let power = Math.round(this.kaleidoscopePower());\n const angle = Math.round(this.kaleidoscopeAngle());\n const offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n const tempCanvas = Util_1.Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n const scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util_1.Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n let minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n let sectionSize = minSectionSize;\n let xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nexports.Kaleidoscope = Kaleidoscope;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopePower', 2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopeAngle', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mask = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction pixelAt(idata, x, y) {\n let idx = (y * idata.width + x) * 4;\n const d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n const m = [0, 0, 0];\n for (let i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n const rgbv_no = pixelAt(idata, 0, 0);\n const rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n const rgbv_so = pixelAt(idata, 0, idata.height - 1);\n const rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n const thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n const mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n const mask = [];\n for (let i = 0; i < idata.width * idata.height; i++) {\n const d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (let i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n const weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n const weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n const weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n const side = Math.round(Math.sqrt(weights.length));\n const halfSide = Math.floor(side / 2);\n const maskResult = [];\n for (let y = 0; y < sh; y++) {\n for (let x = 0; x < sw; x++) {\n const so = y * sw + x;\n let a = 0;\n for (let cy = 0; cy < side; cy++) {\n for (let cx = 0; cx < side; cx++) {\n const scy = y + cy - halfSide;\n const scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n const srcOff = scy * sw + scx;\n const wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nconst Mask = function (imageData) {\n const threshold = this.threshold();\n let mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nexports.Mask = Mask;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Noise = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Noise = function (imageData) {\n const amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2;\n for (let i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nexports.Noise = Noise;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'noise', 0.2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pixelate = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Util_1 = require(\"../Util\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Pixelate = function (imageData) {\n let pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util_1.Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nexports.Pixelate = Pixelate;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'pixelSize', 8, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Posterize = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Posterize = function (imageData) {\n const levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels;\n for (let i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nexports.Posterize = Posterize;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'levels', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGB = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGB = function (imageData) {\n const data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue();\n for (let i = 0; i < nPixels; i += 4) {\n const brightness = (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nexports.RGB = RGB;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBA = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGBA = function (imageData) {\n const data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha();\n for (let i = 0; i < nPixels; i += 4) {\n const ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nexports.RGBA = RGBA;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sepia = void 0;\nconst Sepia = function (imageData) {\n const data = imageData.data, nPixels = data.length;\n for (let i = 0; i < nPixels; i += 4) {\n const r = data[i + 0];\n const g = data[i + 1];\n const b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\nexports.Sepia = Sepia;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Solarize = void 0;\nconst Solarize = function (imageData) {\n const data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4;\n let y = h;\n do {\n const offsetY = (y - 1) * w4;\n let x = w;\n do {\n const offset = offsetY + (x - 1) * 4;\n let r = data[offset];\n let g = data[offset + 1];\n let b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\nexports.Solarize = Solarize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Threshold = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Threshold = function (imageData) {\n const level = this.threshold() * 255, data = imageData.data, len = data.length;\n for (let i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nexports.Threshold = Threshold;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst _CoreInternals_1 = require(\"./_CoreInternals\");\nconst Arc_1 = require(\"./shapes/Arc\");\nconst Arrow_1 = require(\"./shapes/Arrow\");\nconst Circle_1 = require(\"./shapes/Circle\");\nconst Ellipse_1 = require(\"./shapes/Ellipse\");\nconst Image_1 = require(\"./shapes/Image\");\nconst Label_1 = require(\"./shapes/Label\");\nconst Line_1 = require(\"./shapes/Line\");\nconst Path_1 = require(\"./shapes/Path\");\nconst Rect_1 = require(\"./shapes/Rect\");\nconst RegularPolygon_1 = require(\"./shapes/RegularPolygon\");\nconst Ring_1 = require(\"./shapes/Ring\");\nconst Sprite_1 = require(\"./shapes/Sprite\");\nconst Star_1 = require(\"./shapes/Star\");\nconst Text_1 = require(\"./shapes/Text\");\nconst TextPath_1 = require(\"./shapes/TextPath\");\nconst Transformer_1 = require(\"./shapes/Transformer\");\nconst Wedge_1 = require(\"./shapes/Wedge\");\nconst Blur_1 = require(\"./filters/Blur\");\nconst Brighten_1 = require(\"./filters/Brighten\");\nconst Contrast_1 = require(\"./filters/Contrast\");\nconst Emboss_1 = require(\"./filters/Emboss\");\nconst Enhance_1 = require(\"./filters/Enhance\");\nconst Grayscale_1 = require(\"./filters/Grayscale\");\nconst HSL_1 = require(\"./filters/HSL\");\nconst HSV_1 = require(\"./filters/HSV\");\nconst Invert_1 = require(\"./filters/Invert\");\nconst Kaleidoscope_1 = require(\"./filters/Kaleidoscope\");\nconst Mask_1 = require(\"./filters/Mask\");\nconst Noise_1 = require(\"./filters/Noise\");\nconst Pixelate_1 = require(\"./filters/Pixelate\");\nconst Posterize_1 = require(\"./filters/Posterize\");\nconst RGB_1 = require(\"./filters/RGB\");\nconst RGBA_1 = require(\"./filters/RGBA\");\nconst Sepia_1 = require(\"./filters/Sepia\");\nconst Solarize_1 = require(\"./filters/Solarize\");\nconst Threshold_1 = require(\"./filters/Threshold\");\nexports.Konva = _CoreInternals_1.Konva.Util._assign(_CoreInternals_1.Konva, {\n Arc: Arc_1.Arc,\n Arrow: Arrow_1.Arrow,\n Circle: Circle_1.Circle,\n Ellipse: Ellipse_1.Ellipse,\n Image: Image_1.Image,\n Label: Label_1.Label,\n Tag: Label_1.Tag,\n Line: Line_1.Line,\n Path: Path_1.Path,\n Rect: Rect_1.Rect,\n RegularPolygon: RegularPolygon_1.RegularPolygon,\n Ring: Ring_1.Ring,\n Sprite: Sprite_1.Sprite,\n Star: Star_1.Star,\n Text: Text_1.Text,\n TextPath: TextPath_1.TextPath,\n Transformer: Transformer_1.Transformer,\n Wedge: Wedge_1.Wedge,\n Filters: {\n Blur: Blur_1.Blur,\n Brighten: Brighten_1.Brighten,\n Contrast: Contrast_1.Contrast,\n Emboss: Emboss_1.Emboss,\n Enhance: Enhance_1.Enhance,\n Grayscale: Grayscale_1.Grayscale,\n HSL: HSL_1.HSL,\n HSV: HSV_1.HSV,\n Invert: Invert_1.Invert,\n Kaleidoscope: Kaleidoscope_1.Kaleidoscope,\n Mask: Mask_1.Mask,\n Noise: Noise_1.Noise,\n Pixelate: Pixelate_1.Pixelate,\n Posterize: Posterize_1.Posterize,\n RGB: RGB_1.RGB,\n RGBA: RGBA_1.RGBA,\n Sepia: Sepia_1.Sepia,\n Solarize: Solarize_1.Solarize,\n Threshold: Threshold_1.Threshold,\n },\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _FullInternals_1 = require(\"./_FullInternals\");\nmodule.exports = _FullInternals_1.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nvar _CoreInternals_1 = require(\"./_CoreInternals\");\nObject.defineProperty(exports, \"Konva\", { enumerable: true, get: function () { return _CoreInternals_1.Konva; } });\nconst _CoreInternals_2 = require(\"./_CoreInternals\");\nmodule.exports = _CoreInternals_2.Konva;\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0), requestHostCallback();\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return exports.unstable_now() - startTime < frameInterval ? !1 : !0;\n}\nfunction performWorkUntilDeadline() {\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostCallback() {\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n}\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_continueExecution = function () {\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0), requestHostCallback());\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_getFirstCallbackNode = function () {\n return peek(taskQueue);\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_pauseExecution = function () {};\nexports.unstable_requestPaint = function () {};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0), requestHostCallback()));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-reconciler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nmodule.exports = function ($$$config) {\n function createFiber(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n }\n function noop() {}\n function formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]\n ) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n }\n function describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return (fiber = describeNativeComponentFrame(fiber.type, !1)), fiber;\n case 11:\n return (\n (fiber = describeNativeComponentFrame(fiber.type.render, !1)), fiber\n );\n case 1:\n return (fiber = describeNativeComponentFrame(fiber.type, !0)), fiber;\n default:\n return \"\";\n }\n }\n function getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n }\n function getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n }\n function assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n }\n function findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$2 = parentA.child; child$2; ) {\n if (child$2 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$2 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$2 = child$2.sibling;\n }\n if (!didFindChild) {\n for (child$2 = parentB.child; child$2; ) {\n if (child$2 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$2 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$2 = child$2.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n }\n function findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n }\n function findCurrentHostFiberWithNoPortalsImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n if (\n 4 !== node.tag &&\n ((tag = findCurrentHostFiberWithNoPortalsImpl(node)), null !== tag)\n )\n return tag;\n node = node.sibling;\n }\n return null;\n }\n function createCursor(defaultValue) {\n return { current: defaultValue };\n }\n function pop(cursor) {\n 0 > index$jscomp$0 ||\n ((cursor.current = valueStack[index$jscomp$0]),\n (valueStack[index$jscomp$0] = null),\n index$jscomp$0--);\n }\n function push(cursor, value) {\n index$jscomp$0++;\n valueStack[index$jscomp$0] = cursor.current;\n cursor.current = value;\n }\n function clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log$1(x) / LN2) | 0)) | 0;\n }\n function getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194176;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n }\n function getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n warmLanes = root.warmLanes;\n root = 0 !== root.finishedLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = nonIdlePendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = pendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (warmLanes = wipLanes & -wipLanes),\n suspendedLanes >= warmLanes ||\n (32 === suspendedLanes && 0 !== (warmLanes & 4194176)))\n ? wipLanes\n : nextLanes;\n }\n function checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n }\n function computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n return currentTime + 250;\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n }\n function claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128);\n return lane;\n }\n function claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n }\n function createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n }\n function markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n }\n function markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n }\n function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194218);\n }\n function markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n }\n function lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n }\n function onCommitRoot(root) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n root,\n void 0,\n 128 === (root.current.flags & 128)\n );\n } catch (err) {}\n }\n function setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n }\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n }\n function pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n }\n function pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n }\n function pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n }\n function popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n }\n function pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n fiber = getRootHostContext(nextRootInstance);\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n }\n function popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n }\n function pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current,\n nextContext = getChildHostContext(context, fiber.type);\n context !== nextContext &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, nextContext));\n }\n function popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n isPrimaryRenderer\n ? (HostTransitionContext._currentValue = NotPendingTransition)\n : (HostTransitionContext._currentValue2 = NotPendingTransition));\n }\n function throwOnHydrationMismatch(fiber) {\n var error = Error(formatProdErrorMessage(418, \"\"));\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n }\n function prepareToHydrateHostInstance(fiber, hostContext) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(175));\n hydrateInstance(\n fiber.stateNode,\n fiber.type,\n fiber.memoizedProps,\n hostContext,\n fiber\n ) || throwOnHydrationMismatch(fiber);\n }\n function popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 3:\n case 27:\n rootOrSingletonContext = !0;\n return;\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n }\n function popHydrationState(fiber) {\n if (!supportsHydration || fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var shouldClear = !1;\n supportsSingletons\n ? 3 !== fiber.tag &&\n 27 !== fiber.tag &&\n (5 !== fiber.tag ||\n (shouldDeleteUnhydratedTailInstances(fiber.type) &&\n !shouldSetTextContent(fiber.type, fiber.memoizedProps))) &&\n (shouldClear = !0)\n : 3 !== fiber.tag &&\n (5 !== fiber.tag ||\n (shouldDeleteUnhydratedTailInstances(fiber.type) &&\n !shouldSetTextContent(fiber.type, fiber.memoizedProps))) &&\n (shouldClear = !0);\n shouldClear && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === fiber.tag) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(316));\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterSuspenseInstance(fiber);\n } else\n nextHydratableInstance = hydrationParentFiber\n ? getNextHydratableSibling(fiber.stateNode)\n : null;\n return !0;\n }\n function resetHydrationState() {\n supportsHydration &&\n ((nextHydratableInstance = hydrationParentFiber = null),\n (isHydrating = !1));\n }\n function queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n }\n function finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n }\n function enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n }\n function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber ||\n sourceFiber._visibility & 1 ||\n (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n isHidden &&\n null !== update &&\n 3 === sourceFiber.tag &&\n ((parent = sourceFiber.stateNode),\n (isHidden = 31 - clz32(lane)),\n (parent = parent.hiddenUpdates),\n (sourceFiber = parent[isHidden]),\n null === sourceFiber\n ? (parent[isHidden] = [update])\n : sourceFiber.push(update),\n (update.lane = lane | 536870912));\n }\n function getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n }\n function ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0),\n scheduleImmediateTask(processRootScheduleInMicrotask));\n }\n function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root = firstScheduledRoot; null !== root; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326677\n ? (JSCompiler_inline_result & 201326677) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root,\n root === workInProgressRoot ? JSCompiler_inline_result : 0\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n root = root.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n }\n function processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n (shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane),\n (currentEventTransitionLane = 0));\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n }\n function scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n }\n function performWorkOnRootViaSchedulerTask(root, didTimeout) {\n var originalCallbackNode = root.callbackNode;\n if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode &&\n root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n }\n function performSyncWorkOnRoot(root, lanes) {\n if (flushPassiveEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n }\n function scheduleImmediateTask(cb) {\n supportsMicrotasks\n ? scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(ImmediatePriority, cb)\n : cb();\n })\n : scheduleCallback$3(ImmediatePriority, cb);\n }\n function requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n }\n function entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n }\n function pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n }\n function chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n }\n function initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n }\n function cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n }\n function createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n }\n function enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194176))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n }\n function suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n }\n function processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n ) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(\n instance,\n newState,\n updateLane\n );\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n }\n function callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n }\n function commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n }\n function shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n }\n function isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n }\n function noop$1() {}\n function trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable &&\n (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n thenableState = thenable.reason;\n if (thenableState === SuspenseException)\n throw Error(formatProdErrorMessage(483));\n throw thenableState;\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n thenableState = thenable.reason;\n if (thenableState === SuspenseException)\n throw Error(formatProdErrorMessage(483));\n throw thenableState;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n }\n function getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n }\n function unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n }\n function coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n }\n function throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n }\n function resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n }\n function createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]),\n (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 33554434), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 33554434;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 33554434);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(\n step,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n step.value,\n lanes\n )),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.children || []\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key)\n throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException) throw x;\n var fiber = createFiber(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n }\n function pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n }\n function reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n }\n function popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n }\n function pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n }\n function pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n }\n function reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n }\n function popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n }\n function findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n }\n function throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n }\n function areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n }\n function renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n ) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n }\n function finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks =\n null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n }\n function renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber$1 = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n }\n function TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber$1.flags |= 1024);\n return maybeThenable;\n }\n function checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n }\n function bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n }\n function resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n }\n function mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n }\n function updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber$1.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber$1.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber$1.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n }\n function useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber$1;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n }\n function use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n }\n function useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber$1.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber$1.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size),\n current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n }\n function basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n }\n function updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n }\n function updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$48 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$48 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$48 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber$1.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber$1.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$48 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n }\n function rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n }\n function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n { destroy: void 0 },\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n }\n function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber$1.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n }\n function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n }\n function subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n }\n function mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n }\n function updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n }\n function dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n ) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n }\n function runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$52) {\n onActionError(actionQueue, node, error$52);\n }\n }\n function handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n }\n function onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n }\n function onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n }\n function notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n }\n function actionStateReducer(oldState, newState) {\n return newState;\n }\n function mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber$1;\n if (isHydrating) {\n if (nextHydratableInstance) {\n var markerInstance = canHydrateFormStateMarker(\n nextHydratableInstance,\n rootOrSingletonContext\n );\n if (markerInstance) {\n nextHydratableInstance =\n getNextHydratableSibling(markerInstance);\n JSCompiler_inline_result =\n isFormStateMarkerMatching(markerInstance);\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n var setPendingState = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n markerInstance = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = markerInstance;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber$1,\n markerInstance,\n setPendingState,\n ssrFormState\n );\n markerInstance.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n }\n function updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n }\n function updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n currentStateHook =\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n ? useThenable(currentStateHook)\n : currentStateHook;\n var actionQueueHook = updateWorkInProgressHook(),\n actionQueue = actionQueueHook.queue,\n dispatch = actionQueue.dispatch;\n action !== actionQueueHook.memoizedState &&\n ((currentlyRenderingFiber$1.flags |= 2048),\n pushEffect(\n 9,\n actionStateActionEffect.bind(null, actionQueue, action),\n { destroy: void 0 },\n null\n ));\n return [currentStateHook, dispatch, stateHook];\n }\n function actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n }\n function rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n }\n function pushEffect(tag, create, inst, deps) {\n tag = { tag: tag, create: create, inst: inst, deps: deps, next: null };\n create = currentlyRenderingFiber$1.updateQueue;\n null === create &&\n ((create = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = create));\n inst = create.lastEffect;\n null === inst\n ? (create.lastEffect = tag.next = tag)\n : ((deps = inst.next),\n (inst.next = tag),\n (tag.next = deps),\n (create.lastEffect = tag));\n return tag;\n }\n function updateRef() {\n return updateWorkInProgressHook().memoizedState;\n }\n function mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(\n 1 | hookFlags,\n create,\n { destroy: void 0 },\n void 0 === deps ? null : deps\n );\n }\n function updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushEffect(hookFlags, create, inst, deps))\n : ((currentlyRenderingFiber$1.flags |= fiberFlags),\n (hook.memoizedState = pushEffect(1 | hookFlags, create, inst, deps)));\n }\n function mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n }\n function updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n }\n function updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n }\n function updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n }\n function imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n }\n function updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(\n 4,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n }\n function mountDebugValue() {}\n function updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n }\n function updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n }\n function mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n }\n function updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n }\n function startTransition(\n fiber,\n queue,\n pendingState,\n finishedState,\n callback\n ) {\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8\n );\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: NotPendingTransition,\n baseState: NotPendingTransition,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: NotPendingTransition\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n }\n function useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n }\n function updateId() {\n return updateWorkInProgressHook().memoizedState;\n }\n function updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n }\n function refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root = enqueueUpdate(provider, fiber, lane);\n null !== root &&\n (scheduleUpdateOnFiber(root, provider, lane),\n entangleTransitions(root, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n }\n function dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n }\n function dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n }\n function dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n }\n function dispatchOptimisticSetState(\n fiber,\n throwIfDuringRender,\n queue,\n action\n ) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n }\n function isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber$1 ||\n (null !== alternate && alternate === currentlyRenderingFiber$1)\n );\n }\n function enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n function entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194176)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n ) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n }\n function checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n ) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n }\n function callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n ) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n }\n function resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$54 in Component)\n void 0 === newProps[propName$54] &&\n (newProps[propName$54] = Component[propName$54]);\n }\n return newProps;\n }\n function logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n }\n function logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n }\n function createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n }\n function createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n }\n function initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n }\n function throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n ) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(\n createCapturedValueAtFiber(root, sourceFiber)\n )))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(\n wrapperError\n )))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n }\n function reconcileChildren(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n }\n function updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n function updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n }\n function updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n nextIsDetached = 0 !== (workInProgress.stateNode._pendingVisibility & 2),\n prevState = null !== current ? current.memoizedState : null;\n markRef(current, workInProgress);\n if (\"hidden\" === nextProps.mode || nextIsDetached) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (nextIsDetached = 0; null !== nextChildren; )\n (nextIsDetached =\n nextIsDetached | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = nextIsDetached & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState\n ? prevState.baseLanes | renderLanes\n : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n ) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : {\n parent: isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2,\n pool: JSCompiler_inline_result\n };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n }\n function markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 2097664);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 2097664;\n }\n }\n function updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n }\n function replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state\n ? context.state\n : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(\n context,\n context.state,\n null\n ),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n }\n function mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n }\n function getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n ) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n }\n function updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var nextInstance = nextHydratableInstance,\n JSCompiler_temp$jscomp$0;\n if ((JSCompiler_temp$jscomp$0 = nextInstance))\n (nextInstance = canHydrateSuspenseInstance(\n nextInstance,\n rootOrSingletonContext\n )),\n null !== nextInstance\n ? ((workInProgress.memoizedState = {\n dehydrated: nextInstance,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912\n }),\n (JSCompiler_temp$jscomp$0 = createFiber(18, null, null, 0)),\n (JSCompiler_temp$jscomp$0.stateNode = nextInstance),\n (JSCompiler_temp$jscomp$0.return = workInProgress),\n (workInProgress.child = JSCompiler_temp$jscomp$0),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp$jscomp$0 = !0))\n : (JSCompiler_temp$jscomp$0 = !1);\n JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);\n }\n nextInstance = workInProgress.memoizedState;\n if (\n null !== nextInstance &&\n ((nextInstance = nextInstance.dehydrated), null !== nextInstance)\n )\n return (\n isSuspenseInstanceFallback(nextInstance)\n ? (workInProgress.lanes = 16)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n nextInstance = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextInstance = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextInstance },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextInstance.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextInstance.sibling = nextProps),\n (workInProgress.child = nextInstance),\n (showFallback = workInProgress.child),\n (showFallback.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextInstance);\n }\n JSCompiler_temp$jscomp$0 = current.memoizedState;\n if (\n null !== JSCompiler_temp$jscomp$0 &&\n ((nextInstance = JSCompiler_temp$jscomp$0.dehydrated),\n null !== nextInstance)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n nextInstance\n )),\n (showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2),\n (nextProps.return = workInProgress),\n (showFallback.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = showFallback));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextInstance))\n )\n (JSCompiler_temp =\n getSuspenseInstanceFallbackErrorDetails(nextInstance).digest),\n (nextProps = Error(formatProdErrorMessage(419))),\n (nextProps.stack = \"\"),\n (nextProps.digest = JSCompiler_temp),\n queueHydrationError({ value: nextProps, source: null, stack: null }),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (null !== JSCompiler_temp) {\n nextProps = renderLanes & -renderLanes;\n if (0 !== (nextProps & 42)) nextProps = 1;\n else\n switch (nextProps) {\n case 2:\n nextProps = 1;\n break;\n case 8:\n nextProps = 4;\n break;\n case 32:\n nextProps = 16;\n break;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n nextProps = 64;\n break;\n case 268435456:\n nextProps = 134217728;\n break;\n default:\n nextProps = 0;\n }\n nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps;\n if (\n 0 !== nextProps &&\n nextProps !== JSCompiler_temp$jscomp$0.retryLane\n )\n throw (\n ((JSCompiler_temp$jscomp$0.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n }\n isSuspenseInstancePending(nextInstance) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextInstance)\n ? ((workInProgress.flags |= 128),\n (workInProgress.child = current.child),\n (workInProgress = retryDehydratedSuspenseBoundary.bind(\n null,\n current\n )),\n registerSuspenseInstanceRetry(nextInstance, workInProgress),\n (workInProgress = null))\n : ((current = JSCompiler_temp$jscomp$0.treeContext),\n supportsHydration &&\n ((nextHydratableInstance =\n getFirstHydratableChildWithinSuspenseInstance(nextInstance)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n ((idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress))),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (JSCompiler_temp$jscomp$0 = current.child),\n (didSuspend = JSCompiler_temp$jscomp$0.sibling),\n (nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags =\n JSCompiler_temp$jscomp$0.subtreeFlags & 31457280),\n null !== didSuspend\n ? (showFallback = createWorkInProgress(didSuspend, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n (nextProps = showFallback),\n (showFallback = workInProgress.child),\n (nextInstance = current.child.memoizedState),\n null === nextInstance\n ? (nextInstance = mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp$jscomp$0 = nextInstance.cachePool),\n null !== JSCompiler_temp$jscomp$0\n ? ((didSuspend = isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2),\n (JSCompiler_temp$jscomp$0 =\n JSCompiler_temp$jscomp$0.parent !== didSuspend\n ? { parent: didSuspend, pool: didSuspend }\n : JSCompiler_temp$jscomp$0))\n : (JSCompiler_temp$jscomp$0 = getSuspendedCache()),\n (nextInstance = {\n baseLanes: nextInstance.baseLanes | renderLanes,\n cachePool: JSCompiler_temp$jscomp$0\n })),\n (showFallback.memoizedState = nextInstance),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n }\n function mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n }\n function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n return createFiberFromOffscreen(offscreenProps, mode, 0, null);\n }\n function retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n }\n function scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n }\n function initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n ) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n }\n function updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n }\n function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n }\n function checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n }\n function attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n ) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(\n current,\n workInProgress,\n renderLanes\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n function beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n current = workInProgress.pendingProps;\n var lazyComponent = workInProgress.elementType,\n init = lazyComponent._init;\n lazyComponent = init(lazyComponent._payload);\n workInProgress.type = lazyComponent;\n if (\"function\" === typeof lazyComponent)\n shouldConstruct(lazyComponent)\n ? ((current = resolveClassComponentProps(lazyComponent, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== lazyComponent && null !== lazyComponent)\n if (\n ((init = lazyComponent.$$typeof),\n init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress =\n getComponentNameFromType(lazyComponent) || lazyComponent;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (lazyComponent = workInProgress.type),\n (init = resolveClassComponentProps(\n lazyComponent,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n lazyComponent,\n init,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n var nextProps = workInProgress.pendingProps;\n init = workInProgress.memoizedState;\n lazyComponent = init.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n nextProps = nextState.cache;\n pushProvider(workInProgress, CacheContext, nextProps);\n nextProps !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n nextProps = nextState.element;\n if (supportsHydration && init.isDehydrated)\n if (\n ((init = {\n element: nextProps,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = init),\n (workInProgress.memoizedState = init),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n break a;\n } else if (nextProps !== lazyComponent) {\n lazyComponent = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError(lazyComponent);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n break a;\n } else\n for (\n supportsHydration &&\n ((nextHydratableInstance =\n getFirstHydratableChildWithinContainer(\n workInProgress.stateNode.containerInfo\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !0)),\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n nextProps,\n renderLanes\n ),\n workInProgress.child = renderLanes;\n renderLanes;\n\n )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n else {\n resetHydrationState();\n if (nextProps === lazyComponent) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n if (supportsResources)\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n (workInProgress.stateNode = createHoistableInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current,\n workInProgress\n ))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n if (supportsSingletons)\n return (\n pushHostContext(workInProgress),\n null === current &&\n supportsSingletons &&\n isHydrating &&\n ((lazyComponent = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n !1\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (nextHydratableInstance =\n getFirstHydratableChild(lazyComponent))),\n (lazyComponent = workInProgress.pendingProps.children),\n null !== current || isHydrating\n ? reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n )\n : (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n )),\n markRef(current, workInProgress),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n validateHydratableInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n contextStackCursor.current\n );\n if ((init = lazyComponent = nextHydratableInstance))\n (lazyComponent = canHydrateInstance(\n lazyComponent,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== lazyComponent\n ? ((workInProgress.stateNode = lazyComponent),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance =\n getFirstHydratableChild(lazyComponent)),\n (rootOrSingletonContext = !1),\n (init = !0))\n : (init = !1);\n init || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n init = workInProgress.type;\n nextProps = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n lazyComponent = nextProps.children;\n shouldSetTextContent(init, nextProps)\n ? (lazyComponent = null)\n : null !== nextState &&\n shouldSetTextContent(init, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n isPrimaryRenderer\n ? (HostTransitionContext._currentValue = init)\n : (HostTransitionContext._currentValue2 = init));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n validateHydratableTextInstance(\n workInProgress.pendingProps,\n contextStackCursor.current\n );\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (lazyComponent = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (lazyComponent = workInProgress.pendingProps),\n pushProvider(\n workInProgress,\n workInProgress.type,\n lazyComponent.value\n ),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (lazyComponent = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (lazyComponent = lazyComponent(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (lazyComponent = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (nextProps = createCache()),\n (init.pooledCache = nextProps),\n nextProps.refCount++,\n null !== nextProps && (init.pooledCacheLanes |= renderLanes),\n (init = nextProps)),\n (workInProgress.memoizedState = {\n parent: lazyComponent,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (nextProps = workInProgress.memoizedState),\n init.parent !== lazyComponent\n ? ((init = { parent: lazyComponent, cache: lazyComponent }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, lazyComponent))\n : ((lazyComponent = nextProps.cache),\n pushProvider(workInProgress, CacheContext, lazyComponent),\n lazyComponent !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n }\n function pushProvider(providerFiber, context, nextValue) {\n isPrimaryRenderer\n ? (push(valueCursor, context._currentValue),\n (context._currentValue = nextValue))\n : (push(valueCursor, context._currentValue2),\n (context._currentValue2 = nextValue));\n }\n function popProvider(context) {\n var currentValue = valueCursor.current;\n isPrimaryRenderer\n ? (context._currentValue = currentValue)\n : (context._currentValue2 = currentValue);\n pop(valueCursor);\n }\n function scheduleContextWorkOnParentPath(\n parent,\n renderLanes,\n propagationRoot\n ) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n }\n function propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n ) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n }\n function propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n ) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n }\n function checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n var context = currentDependencies.context;\n if (\n !objectIs(\n isPrimaryRenderer ? context._currentValue : context._currentValue2,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n }\n function prepareToReadContext(workInProgress) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n }\n function readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber, context);\n }\n function readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n }\n function readContextForConsumer(consumer, context) {\n var value = isPrimaryRenderer\n ? context._currentValue\n : context._currentValue2;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n }\n function createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n }\n function releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$1(NormalPriority, function () {\n cache.controller.abort();\n });\n }\n function peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n }\n function pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n }\n function getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : {\n parent: isPrimaryRenderer\n ? CacheContext._currentValue\n : CacheContext._currentValue2,\n pool: cacheFromPool\n };\n }\n function markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n }\n function doesRequireClone(current, completedWork) {\n if (null !== current && current.child === completedWork.child) return !1;\n if (0 !== (completedWork.flags & 16)) return !0;\n for (current = completedWork.child; null !== current; ) {\n if (0 !== (current.flags & 13878) || 0 !== (current.subtreeFlags & 13878))\n return !0;\n current = current.sibling;\n }\n return !1;\n }\n function appendAllChildren(\n parent,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n ) {\n if (supportsMutation)\n for (\n needsVisibilityToggle = workInProgress.child;\n null !== needsVisibilityToggle;\n\n ) {\n if (5 === needsVisibilityToggle.tag || 6 === needsVisibilityToggle.tag)\n appendInitialChild(parent, needsVisibilityToggle.stateNode);\n else if (\n !(\n 4 === needsVisibilityToggle.tag ||\n (supportsSingletons && 27 === needsVisibilityToggle.tag)\n ) &&\n null !== needsVisibilityToggle.child\n ) {\n needsVisibilityToggle.child.return = needsVisibilityToggle;\n needsVisibilityToggle = needsVisibilityToggle.child;\n continue;\n }\n if (needsVisibilityToggle === workInProgress) break;\n for (; null === needsVisibilityToggle.sibling; ) {\n if (\n null === needsVisibilityToggle.return ||\n needsVisibilityToggle.return === workInProgress\n )\n return;\n needsVisibilityToggle = needsVisibilityToggle.return;\n }\n needsVisibilityToggle.sibling.return = needsVisibilityToggle.return;\n needsVisibilityToggle = needsVisibilityToggle.sibling;\n }\n else if (supportsPersistence)\n for (var node$91 = workInProgress.child; null !== node$91; ) {\n if (5 === node$91.tag) {\n var instance = node$91.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(\n instance,\n node$91.type,\n node$91.memoizedProps\n ));\n appendInitialChild(parent, instance);\n } else if (6 === node$91.tag)\n (instance = node$91.stateNode),\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenTextInstance(\n instance,\n node$91.memoizedProps\n )),\n appendInitialChild(parent, instance);\n else if (4 !== node$91.tag)\n if (22 === node$91.tag && null !== node$91.memoizedState)\n (instance = node$91.child),\n null !== instance && (instance.return = node$91),\n appendAllChildren(parent, node$91, !0, !0);\n else if (null !== node$91.child) {\n node$91.child.return = node$91;\n node$91 = node$91.child;\n continue;\n }\n if (node$91 === workInProgress) break;\n for (; null === node$91.sibling; ) {\n if (null === node$91.return || node$91.return === workInProgress)\n return;\n node$91 = node$91.return;\n }\n node$91.sibling.return = node$91.return;\n node$91 = node$91.sibling;\n }\n }\n function appendAllChildrenToContainer(\n containerChildSet,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n ) {\n if (supportsPersistence)\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(\n instance,\n node.type,\n node.memoizedProps\n ));\n appendChildToContainerChildSet(containerChildSet, instance);\n } else if (6 === node.tag)\n (instance = node.stateNode),\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenTextInstance(\n instance,\n node.memoizedProps\n )),\n appendChildToContainerChildSet(containerChildSet, instance);\n else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildrenToContainer(\n containerChildSet,\n node,\n !(\n null !== node.memoizedProps &&\n \"manual\" === node.memoizedProps.mode\n ),\n !0\n );\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n function updateHostContainer(current, workInProgress) {\n if (supportsPersistence && doesRequireClone(current, workInProgress)) {\n current = workInProgress.stateNode;\n var container = current.containerInfo,\n newChildSet = createContainerChildSet();\n appendAllChildrenToContainer(newChildSet, workInProgress, !1, !1);\n current.pendingChildren = newChildSet;\n markUpdate(workInProgress);\n finalizeContainerChildren(container, newChildSet);\n }\n }\n function updateHostComponent(current, workInProgress, type, newProps) {\n if (supportsMutation)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else if (supportsPersistence) {\n var currentInstance = current.stateNode,\n oldProps$94 = current.memoizedProps;\n if (\n (current = doesRequireClone(current, workInProgress)) ||\n oldProps$94 !== newProps\n ) {\n var currentHostContext = contextStackCursor.current;\n oldProps$94 = cloneInstance(\n currentInstance,\n type,\n oldProps$94,\n newProps,\n !current,\n null\n );\n oldProps$94 === currentInstance\n ? (workInProgress.stateNode = currentInstance)\n : (finalizeInitialChildren(\n oldProps$94,\n type,\n newProps,\n currentHostContext\n ) && markUpdate(workInProgress),\n (workInProgress.stateNode = oldProps$94),\n current\n ? appendAllChildren(oldProps$94, workInProgress, !1, !1)\n : markUpdate(workInProgress));\n } else workInProgress.stateNode = currentInstance;\n }\n }\n function preloadInstanceAndSuspendIfNeeded(workInProgress, type, props) {\n if (maySuspendCommit(type, props)) {\n if (((workInProgress.flags |= 16777216), !preloadInstance(type, props)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n }\n function preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (mayResourceSuspendCommit(resource)) {\n if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n }\n function scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n }\n function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$96 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$96 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$96\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$96.sibling = null);\n }\n }\n function bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$97 = completedWork.child; null !== child$97; )\n (newChildLanes |= child$97.lanes | child$97.childLanes),\n (subtreeFlags |= child$97.subtreeFlags & 31457280),\n (subtreeFlags |= child$97.flags & 31457280),\n (child$97.return = completedWork),\n (child$97 = child$97.sibling);\n else\n for (child$97 = completedWork.child; null !== child$97; )\n (newChildLanes |= child$97.lanes | child$97.childLanes),\n (subtreeFlags |= child$97.subtreeFlags),\n (subtreeFlags |= child$97.flags),\n (child$97.return = completedWork),\n (child$97 = child$97.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n }\n function completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null)));\n updateHostContainer(current, workInProgress);\n bubbleProperties(workInProgress);\n return null;\n case 26:\n if (supportsResources) {\n renderLanes = workInProgress.type;\n var nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n nextResource\n ))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n renderLanes,\n newProps\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n nextResource\n ))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (supportsMutation\n ? current.memoizedProps !== newProps &&\n markUpdate(workInProgress)\n : updateHostComponent(\n current,\n workInProgress,\n renderLanes,\n newProps\n ),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n renderLanes,\n newProps\n ));\n return null;\n }\n case 27:\n if (supportsSingletons) {\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n nextResource = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n supportsMutation\n ? current.memoizedProps !== newProps && markUpdate(workInProgress)\n : updateHostComponent(\n current,\n workInProgress,\n nextResource,\n newProps\n );\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(\n nextResource,\n newProps,\n renderLanes,\n current,\n !0\n )),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n }\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n updateHostComponent(current, workInProgress, renderLanes, newProps);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((nextResource = createInstance(\n renderLanes,\n newProps,\n rootInstanceStackCursor.current,\n current,\n workInProgress\n )),\n appendAllChildren(nextResource, workInProgress, !1, !1),\n (workInProgress.stateNode = nextResource),\n finalizeInitialChildren(\n nextResource,\n renderLanes,\n newProps,\n current\n ) && markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n (renderLanes = current.memoizedProps),\n supportsMutation\n ? renderLanes !== newProps && markUpdate(workInProgress)\n : supportsPersistence &&\n (renderLanes !== newProps\n ? ((workInProgress.stateNode = createTextInstance(\n newProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n workInProgress\n )),\n markUpdate(workInProgress))\n : (workInProgress.stateNode = current.stateNode));\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n renderLanes = contextStackCursor.current;\n if (popHydrationState(workInProgress)) {\n if (!supportsHydration) throw Error(formatProdErrorMessage(176));\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n nextResource = hydrationParentFiber;\n if (null !== nextResource)\n switch (nextResource.tag) {\n case 27:\n case 5:\n newProps = nextResource.memoizedProps;\n }\n hydrateTextInstance(\n current,\n renderLanes,\n workInProgress,\n newProps\n ) || throwOnHydrationMismatch(workInProgress);\n } else\n workInProgress.stateNode = createTextInstance(\n newProps,\n current,\n renderLanes,\n workInProgress\n );\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n nextResource = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!nextResource) throw Error(formatProdErrorMessage(318));\n if (!supportsHydration) throw Error(formatProdErrorMessage(344));\n nextResource = workInProgress.memoizedState;\n nextResource =\n null !== nextResource ? nextResource.dehydrated : null;\n if (!nextResource) throw Error(formatProdErrorMessage(317));\n hydrateSuspenseInstance(nextResource, workInProgress);\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n nextResource = !1;\n } else\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null)),\n (nextResource = !0);\n if (!nextResource) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n if (renderLanes) {\n newProps = workInProgress.child;\n nextResource = null;\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (nextResource = newProps.alternate.memoizedState.cachePool.pool);\n var cache$110 = null;\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (cache$110 = newProps.memoizedState.cachePool.pool);\n cache$110 !== nextResource && (newProps.flags |= 2048);\n }\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n updateHostContainer(current, workInProgress),\n null === current &&\n preparePortalMount(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type),\n bubbleProperties(workInProgress),\n null\n );\n case 19:\n pop(suspenseStackCursor);\n nextResource = workInProgress.memoizedState;\n if (null === nextResource)\n return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n cache$110 = nextResource.rendering;\n if (null === cache$110)\n if (newProps) cutOffTailIfNeeded(nextResource, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n cache$110 = findFirstSuspended(current);\n if (null !== cache$110) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(nextResource, !1);\n current = cache$110.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (\n renderLanes = workInProgress.child;\n null !== renderLanes;\n\n )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== nextResource.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(nextResource, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (((current = findFirstSuspended(cache$110)), null !== current)) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(nextResource, !0),\n null === nextResource.tail &&\n \"hidden\" === nextResource.tailMode &&\n !cache$110.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - nextResource.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(nextResource, !1),\n (workInProgress.lanes = 4194304));\n nextResource.isBackwards\n ? ((cache$110.sibling = workInProgress.child),\n (workInProgress.child = cache$110))\n : ((current = nextResource.last),\n null !== current\n ? (current.sibling = cache$110)\n : (workInProgress.child = cache$110),\n (nextResource.last = cache$110));\n }\n if (null !== nextResource.tail)\n return (\n (workInProgress = nextResource.tail),\n (nextResource.rendering = workInProgress),\n (nextResource.tail = workInProgress.sibling),\n (nextResource.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(\n suspenseStackCursor,\n newProps ? (current & 1) | 2 : current & 1\n ),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n }\n function unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n }\n function unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n }\n function commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n ) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0;\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n function safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n ) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n function safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n var instance = current.stateNode;\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = getPublicInstance(instance);\n break;\n default:\n instanceToUse = instance;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n function safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$126) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$126);\n }\n else ref.current = null;\n }\n function commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n commitMount(instance, type, props, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n commitUpdate(\n finishedWork.stateNode,\n finishedWork.type,\n oldProps,\n newProps,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n (supportsResources ? 26 === fiber.tag : !1) ||\n (supportsSingletons ? 27 === fiber.tag : !1) ||\n 4 === fiber.tag\n );\n }\n function getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag &&\n 6 !== fiber.tag &&\n (supportsSingletons ? 27 !== fiber.tag : 1) &&\n 18 !== fiber.tag;\n\n ) {\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n }\n function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? insertInContainerBefore(parent, node, before)\n : appendChildToContainer(parent, node);\n else if (\n !(4 === tag || (supportsSingletons && 27 === tag)) &&\n ((node = node.child), null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n }\n function insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? insertBefore(parent, node, before) : appendChild(parent, node);\n else if (\n !(4 === tag || (supportsSingletons && 27 === tag)) &&\n ((node = node.child), null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent),\n (node = node.sibling);\n }\n function commitHostPortalContainerChildren(\n portal,\n finishedWork,\n pendingChildren\n ) {\n portal = portal.containerInfo;\n try {\n replaceContainerChildren(portal, pendingChildren);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitBeforeMutationEffects(root, firstChild) {\n prepareForCommit(root.containerInfo);\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((root = nextEffect),\n (firstChild = root.child),\n 0 !== (root.subtreeFlags & 1028) && null !== firstChild)\n )\n (firstChild.return = root), (nextEffect = firstChild);\n else\n for (; null !== nextEffect; ) {\n root = nextEffect;\n var current = root.alternate;\n firstChild = root.flags;\n switch (root.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (firstChild & 1024) && null !== current) {\n firstChild = void 0;\n var finishedWork = root,\n prevProps = current.memoizedProps;\n current = current.memoizedState;\n var instance = finishedWork.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n finishedWork.type,\n prevProps,\n finishedWork.elementType === finishedWork.type\n );\n firstChild = instance.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n current\n );\n instance.__reactInternalSnapshotBeforeUpdate = firstChild;\n } catch (error) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error\n );\n }\n }\n break;\n case 3:\n 0 !== (firstChild & 1024) &&\n supportsMutation &&\n clearContainer(root.stateNode.containerInfo);\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (firstChild & 1024))\n throw Error(formatProdErrorMessage(163));\n }\n firstChild = root.sibling;\n if (null !== firstChild) {\n firstChild.return = root.return;\n nextEffect = firstChild;\n break;\n }\n nextEffect = root.return;\n }\n resolvedPrevProps = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = !1;\n return resolvedPrevProps;\n }\n function commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$125) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$125\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((flags = finishedWork.updateQueue), null !== flags)\n ) {\n finishedRoot = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n finishedRoot = getPublicInstance(finishedWork.child.stateNode);\n break;\n case 1:\n finishedRoot = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(flags, finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 26:\n if (supportsResources) {\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n }\n case 27:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n prevProps =\n null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!prevProps) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevProps;\n (offscreenSubtreeWasHidden = current) &&\n !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n flags & 512 &&\n (\"manual\" === finishedWork.memoizedProps.mode\n ? safelyAttachRef(finishedWork, finishedWork.return)\n : safelyDetachRef(finishedWork, finishedWork.return));\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n }\n function detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n }\n function recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ),\n (parent = parent.sibling);\n }\n function commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n if (supportsResources) {\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? releaseResource(deletedFiber.memoizedState)\n : deletedFiber.stateNode &&\n unmountHoistable(deletedFiber.stateNode);\n break;\n }\n case 27:\n if (supportsSingletons) {\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n }\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n if (supportsMutation) {\n if (\n ((prevHostParent = hostParent),\n (prevHostParentIsContainer = hostParentIsContainer),\n (hostParent = null),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (hostParent = prevHostParent),\n (hostParentIsContainer = prevHostParentIsContainer),\n null !== hostParent)\n )\n if (hostParentIsContainer)\n try {\n removeChildFromContainer(hostParent, deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n removeChild(hostParent, deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n } else\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 18:\n supportsMutation &&\n null !== hostParent &&\n (hostParentIsContainer\n ? clearSuspenseBoundaryFromContainer(\n hostParent,\n deletedFiber.stateNode\n )\n : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n supportsMutation\n ? ((prevHostParent = hostParent),\n (prevHostParentIsContainer = hostParentIsContainer),\n (hostParent = deletedFiber.stateNode.containerInfo),\n (hostParentIsContainer = !0),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (hostParent = prevHostParent),\n (hostParentIsContainer = prevHostParentIsContainer))\n : (supportsPersistence &&\n commitHostPortalContainerChildren(\n deletedFiber.stateNode,\n deletedFiber,\n createContainerChildSet()\n ),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ));\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n }\n function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n supportsHydration &&\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n commitHydratedSuspenseInstance(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n }\n function attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n }\n function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber;\n if (supportsMutation) {\n var parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n } else commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n }\n function commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n if (supportsResources) {\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 4 &&\n ((flags = null !== current ? current.memoizedState : null),\n (root = finishedWork.memoizedState),\n null === current\n ? null === root\n ? null === finishedWork.stateNode\n ? (finishedWork.stateNode = hydrateHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.memoizedProps,\n finishedWork\n ))\n : mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : (finishedWork.stateNode = acquireResource(\n hoistableRoot,\n root,\n finishedWork.memoizedProps\n ))\n : flags !== root\n ? (null === flags\n ? null !== current.stateNode &&\n unmountHoistable(current.stateNode)\n : releaseResource(flags),\n null === root\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n root,\n finishedWork.memoizedProps\n ))\n : null === root &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n ));\n break;\n }\n case 27:\n if (\n supportsSingletons &&\n flags & 4 &&\n null === finishedWork.alternate\n ) {\n hoistableRoot = finishedWork.stateNode;\n var props = finishedWork.memoizedProps;\n try {\n clearSingleton(hoistableRoot),\n acquireSingletonInstance(\n finishedWork.type,\n props,\n hoistableRoot,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (supportsMutation) {\n if (finishedWork.flags & 32) {\n root = finishedWork.stateNode;\n try {\n resetTextContent(root);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((root = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n root,\n null !== current ? current.memoizedProps : root\n ));\n flags & 1024 && (needsFormReset = !0);\n }\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && supportsMutation) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = null !== current ? current.memoizedProps : flags;\n root = finishedWork.stateNode;\n try {\n commitTextUpdate(root, current, flags);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n supportsResources\n ? (prepareToCommitHoistables(),\n (hoistableRoot = currentHoistableRoot),\n (currentHoistableRoot = getHoistableRoot(root.containerInfo)),\n recursivelyTraverseMutationEffects(root, finishedWork),\n (currentHoistableRoot = hoistableRoot))\n : recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (\n supportsMutation &&\n supportsHydration &&\n null !== current &&\n current.memoizedState.isDehydrated\n )\n try {\n commitHydratedContainer(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n if (supportsPersistence) {\n flags = root.containerInfo;\n current = root.pendingChildren;\n try {\n replaceContainerChildren(flags, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n supportsResources\n ? ((current = currentHoistableRoot),\n (currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n )),\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork),\n (currentHoistableRoot = current))\n : (recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork));\n flags & 4 &&\n supportsPersistence &&\n commitHostPortalContainerChildren(\n finishedWork.stateNode,\n finishedWork,\n finishedWork.stateNode.pendingChildren\n );\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden =\n prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n root = finishedWork.stateNode;\n root._current = finishedWork;\n root._visibility &= -3;\n root._visibility |= root._pendingVisibility & 2;\n if (\n flags & 8192 &&\n ((root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1),\n hoistableRoot &&\n ((root = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden),\n null === current ||\n wasHidden ||\n root ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n supportsMutation &&\n (null === finishedWork.memoizedProps ||\n \"manual\" !== finishedWork.memoizedProps.mode))\n )\n a: if (((current = null), supportsMutation))\n for (root = finishedWork; ; ) {\n if (\n 5 === root.tag ||\n (supportsResources && 26 === root.tag) ||\n (supportsSingletons && 27 === root.tag)\n ) {\n if (null === current) {\n wasHidden = current = root;\n try {\n (props = wasHidden.stateNode),\n hoistableRoot\n ? hideInstance(props)\n : unhideInstance(\n wasHidden.stateNode,\n wasHidden.memoizedProps\n );\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n var instance = wasHidden.stateNode;\n hoistableRoot\n ? hideTextInstance(instance)\n : unhideTextInstance(instance, wasHidden.memoizedProps);\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork)\n break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n }\n function commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n if (\n supportsMutation &&\n (!supportsSingletons || 27 !== finishedWork.tag)\n ) {\n a: {\n for (var parent = finishedWork.return; null !== parent; ) {\n if (isHostParent(parent)) {\n var JSCompiler_inline_result = parent;\n break a;\n }\n parent = parent.return;\n }\n throw Error(formatProdErrorMessage(160));\n }\n switch (JSCompiler_inline_result.tag) {\n case 27:\n if (supportsSingletons) {\n var parent$jscomp$0 = JSCompiler_inline_result.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n before,\n parent$jscomp$0\n );\n break;\n }\n case 5:\n var parent$127 = JSCompiler_inline_result.stateNode;\n JSCompiler_inline_result.flags & 32 &&\n (resetTextContent(parent$127),\n (JSCompiler_inline_result.flags &= -33));\n var before$128 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$128, parent$127);\n break;\n case 3:\n case 4:\n var parent$129 = JSCompiler_inline_result.stateNode.containerInfo,\n before$130 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$130,\n parent$129\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n }\n function recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag &&\n fiber.flags & 1024 &&\n resetFormInstance(fiber.stateNode);\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 26:\n case 27:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n safelyDetachRef(finishedWork, finishedWork.return);\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n }\n function commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n }\n function recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n ) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n }\n function recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 4\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(\n finishedWork.alternate,\n finishedWork\n );\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n (null !== fiber.memoizedState\n ? suspendResource(\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n )\n : suspendInstance(fiber.type, fiber.memoizedProps));\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n suspendInstance(fiber.type, fiber.memoizedProps);\n break;\n case 3:\n case 4:\n if (supportsResources) {\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n fiber.stateNode.containerInfo\n );\n recursivelyAccumulateSuspenseyCommit(fiber);\n currentHoistableRoot = previousHoistableRoot;\n } else recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(fiber));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n }\n function detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n }\n function recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 4 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n }\n function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 4 &&\n ((i._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n ) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n }\n function findFiberRootForHostRoot(hostRoot) {\n var maybeFiber = getInstanceFromNode(hostRoot);\n if (null != maybeFiber) {\n if (\"string\" !== typeof maybeFiber.memoizedProps[\"data-testname\"])\n throw Error(formatProdErrorMessage(364));\n return maybeFiber;\n }\n hostRoot = findFiberRoot(hostRoot);\n if (null === hostRoot) throw Error(formatProdErrorMessage(362));\n return hostRoot.stateNode.current;\n }\n function matchSelector(fiber$jscomp$0, selector) {\n var tag = fiber$jscomp$0.tag;\n switch (selector.$$typeof) {\n case COMPONENT_TYPE:\n if (fiber$jscomp$0.type === selector.value) return !0;\n break;\n case HAS_PSEUDO_CLASS_TYPE:\n a: {\n selector = selector.value;\n fiber$jscomp$0 = [fiber$jscomp$0, 0];\n for (tag = 0; tag < fiber$jscomp$0.length; ) {\n var fiber = fiber$jscomp$0[tag++],\n tag$jscomp$0 = fiber.tag,\n selectorIndex = fiber$jscomp$0[tag++],\n selector$jscomp$0 = selector[selectorIndex];\n if (\n (5 !== tag$jscomp$0 &&\n 26 !== tag$jscomp$0 &&\n 27 !== tag$jscomp$0) ||\n !isHiddenSubtree(fiber)\n ) {\n for (\n ;\n null != selector$jscomp$0 &&\n matchSelector(fiber, selector$jscomp$0);\n\n )\n selectorIndex++, (selector$jscomp$0 = selector[selectorIndex]);\n if (selectorIndex === selector.length) {\n selector = !0;\n break a;\n } else\n for (fiber = fiber.child; null !== fiber; )\n fiber$jscomp$0.push(fiber, selectorIndex),\n (fiber = fiber.sibling);\n }\n }\n selector = !1;\n }\n return selector;\n case ROLE_TYPE:\n if (\n (5 === tag || 26 === tag || 27 === tag) &&\n matchAccessibilityRole(fiber$jscomp$0.stateNode, selector.value)\n )\n return !0;\n break;\n case TEXT_TYPE:\n if (5 === tag || 6 === tag || 26 === tag || 27 === tag)\n if (\n ((fiber$jscomp$0 = getTextContent(fiber$jscomp$0)),\n null !== fiber$jscomp$0 &&\n 0 <= fiber$jscomp$0.indexOf(selector.value))\n )\n return !0;\n break;\n case TEST_NAME_TYPE:\n if (5 === tag || 26 === tag || 27 === tag)\n if (\n ((fiber$jscomp$0 = fiber$jscomp$0.memoizedProps[\"data-testname\"]),\n \"string\" === typeof fiber$jscomp$0 &&\n fiber$jscomp$0.toLowerCase() === selector.value.toLowerCase())\n )\n return !0;\n break;\n default:\n throw Error(formatProdErrorMessage(365));\n }\n return !1;\n }\n function selectorToString(selector) {\n switch (selector.$$typeof) {\n case COMPONENT_TYPE:\n return (\n \"<\" + (getComponentNameFromType(selector.value) || \"Unknown\") + \">\"\n );\n case HAS_PSEUDO_CLASS_TYPE:\n return \":has(\" + (selectorToString(selector) || \"\") + \")\";\n case ROLE_TYPE:\n return '[role=\"' + selector.value + '\"]';\n case TEXT_TYPE:\n return '\"' + selector.value + '\"';\n case TEST_NAME_TYPE:\n return '[data-testname=\"' + selector.value + '\"]';\n default:\n throw Error(formatProdErrorMessage(365));\n }\n }\n function findPaths(root, selectors) {\n var matchingFibers = [];\n root = [root, 0];\n for (var index = 0; index < root.length; ) {\n var fiber = root[index++],\n tag = fiber.tag,\n selectorIndex = root[index++],\n selector = selectors[selectorIndex];\n if ((5 !== tag && 26 !== tag && 27 !== tag) || !isHiddenSubtree(fiber)) {\n for (; null != selector && matchSelector(fiber, selector); )\n selectorIndex++, (selector = selectors[selectorIndex]);\n if (selectorIndex === selectors.length) matchingFibers.push(fiber);\n else\n for (fiber = fiber.child; null !== fiber; )\n root.push(fiber, selectorIndex), (fiber = fiber.sibling);\n }\n }\n return matchingFibers;\n }\n function findAllNodes(hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findFiberRootForHostRoot(hostRoot);\n hostRoot = findPaths(hostRoot, selectors);\n selectors = [];\n hostRoot = Array.from(hostRoot);\n for (var index = 0; index < hostRoot.length; ) {\n var node = hostRoot[index++],\n tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag)\n isHiddenSubtree(node) || selectors.push(node.stateNode);\n else\n for (node = node.child; null !== node; )\n hostRoot.push(node), (node = node.sibling);\n }\n return selectors;\n }\n function requestUpdateLane() {\n if (0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes)\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n if (null !== ReactSharedInternals.T) {\n var actionScopeLane = currentEntangledLane;\n return 0 !== actionScopeLane ? actionScopeLane : requestTransitionLane();\n }\n return resolveUpdatePriority();\n }\n function requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating\n ? claimNextTransitionLane()\n : 536870912);\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n }\n function scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n }\n function performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 60) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else if (6 === exitStatus)\n markRootSuspended(\n root$jscomp$0,\n lanes,\n 0,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result =\n root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated =\n supportsHydration && root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |=\n 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n queueRecoverableErrors(renderWasConcurrent);\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n switch (exitStatus) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194176) === lanes) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n }\n break;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n shouldTimeSlice.finishedWork = forceSync;\n shouldTimeSlice.finishedLanes = lanes;\n if (\n (lanes & 62914560) === lanes &&\n ((renderWasConcurrent = globalMostRecentFallbackTime + 300 - now()),\n 10 < renderWasConcurrent)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 2,\n -0,\n 0\n ),\n renderWasConcurrent\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 0,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n }\n function queueRecoverableErrors(errors) {\n null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = errors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n errors\n );\n }\n function commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n ) {\n var subtreeFlags = finishedWork.subtreeFlags;\n if (subtreeFlags & 8192 || 16785408 === (subtreeFlags & 16785408))\n if (\n (startSuspendingCommit(),\n accumulateSuspenseyCommitOnFiber(finishedWork),\n (finishedWork = waitForCommitToBeReady()),\n null !== finishedWork)\n ) {\n root.cancelPendingCommit = finishedWork(\n commitRoot.bind(\n null,\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n 1,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n commitRoot(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n }\n function isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n }\n function markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n ) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n }\n function flushSyncWork() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n }\n function resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n }\n function prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = 0;\n var timeoutHandle = root.timeoutHandle;\n timeoutHandle !== noTimeout &&\n ((root.timeoutHandle = noTimeout), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n lanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n }\n function handleThrow(root, thrownValue) {\n currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n }\n function shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194176) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n }\n function pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n }\n function pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n }\n function renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194176) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n }\n function renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$151) {\n handleThrow(root, thrownValue$151);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n }\n function workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n }\n function renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n 2 === workInProgressSuspendedReason &&\n workInProgressRoot === root &&\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress,\n type = hostFiber.type,\n props = hostFiber.pendingProps;\n if (\n resource\n ? preloadResource(resource)\n : preloadInstance(type, props)\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrent();\n break;\n } catch (thrownValue$153) {\n handleThrow(root, thrownValue$153);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n }\n function workLoopConcurrent() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n }\n function performUnitOfWork(unitOfWork) {\n var next = beginWork(\n unitOfWork.alternate,\n unitOfWork,\n entangledRenderLanes\n );\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n }\n function replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n }\n function throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n ) {\n lastContextDependency = currentlyRenderingFiber = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason || 3 === suspendedReason || 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n }\n function completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n }\n function unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768),\n (next.subtreeFlags = 0),\n (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n }\n function commitRoot(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n ) {\n var prevTransition = ReactSharedInternals.T,\n previousUpdateLanePriority = getCurrentUpdatePriority();\n try {\n setCurrentUpdatePriority(2),\n (ReactSharedInternals.T = null),\n commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n previousUpdateLanePriority,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n } finally {\n (ReactSharedInternals.T = prevTransition),\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n }\n function commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n renderPriorityLevel,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n do flushPassiveEffects();\n while (null !== rootWithPendingPassiveEffects);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var finishedWork = root.finishedWork;\n didIncludeRenderPhaseUpdate = root.finishedLanes;\n if (null === finishedWork) return null;\n root.finishedWork = null;\n root.finishedLanes = 0;\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n root.callbackNode = null;\n root.callbackPriority = 0;\n root.cancelPendingCommit = null;\n var remainingLanes = finishedWork.lanes | finishedWork.childLanes;\n remainingLanes |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n didIncludeRenderPhaseUpdate,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n (0 === (finishedWork.subtreeFlags & 10256) &&\n 0 === (finishedWork.flags & 10256)) ||\n rootDoesHavePassiveEffects ||\n ((rootDoesHavePassiveEffects = !0),\n (pendingPassiveEffectsRemainingLanes = remainingLanes),\n (pendingPassiveTransitions = transitions),\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }));\n transitions = 0 !== (finishedWork.flags & 15990);\n 0 !== (finishedWork.subtreeFlags & 15990) || transitions\n ? ((transitions = ReactSharedInternals.T),\n (ReactSharedInternals.T = null),\n (spawnedLane = getCurrentUpdatePriority()),\n setCurrentUpdatePriority(2),\n (updatedLanes = executionContext),\n (executionContext |= 4),\n commitBeforeMutationEffects(root, finishedWork),\n commitMutationEffectsOnFiber(finishedWork, root),\n resetAfterCommit(root.containerInfo),\n (root.current = finishedWork),\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork),\n requestPaint(),\n (executionContext = updatedLanes),\n setCurrentUpdatePriority(spawnedLane),\n (ReactSharedInternals.T = transitions))\n : (root.current = finishedWork);\n rootDoesHavePassiveEffects\n ? ((rootDoesHavePassiveEffects = !1),\n (rootWithPendingPassiveEffects = root),\n (pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate))\n : releaseRootPooledCache(root, remainingLanes);\n remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n ensureRootIsScheduled(root);\n if (null !== recoverableErrors)\n for (\n renderPriorityLevel = root.onRecoverableError, finishedWork = 0;\n finishedWork < recoverableErrors.length;\n finishedWork++\n )\n (remainingLanes = recoverableErrors[finishedWork]),\n renderPriorityLevel(remainingLanes.value, {\n componentStack: remainingLanes.stack\n });\n 0 !== (pendingPassiveEffectsLanes & 3) && flushPassiveEffects();\n remainingLanes = root.pendingLanes;\n 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n return null;\n }\n function releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n }\n function flushPassiveEffects() {\n if (null !== rootWithPendingPassiveEffects) {\n var root = rootWithPendingPassiveEffects,\n remainingLanes = pendingPassiveEffectsRemainingLanes;\n pendingPassiveEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),\n priority = 32 > renderPriority ? 32 : renderPriority;\n renderPriority = ReactSharedInternals.T;\n var previousPriority = getCurrentUpdatePriority();\n try {\n setCurrentUpdatePriority(priority);\n ReactSharedInternals.T = null;\n if (null === rootWithPendingPassiveEffects)\n var JSCompiler_inline_result = !1;\n else {\n priority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = rootWithPendingPassiveEffects,\n lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null;\n pendingPassiveEffectsLanes = 0;\n if (0 !== (executionContext & 6))\n throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n priority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n JSCompiler_inline_result = !0;\n }\n return JSCompiler_inline_result;\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = renderPriority),\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n return !1;\n }\n function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n }\n function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n }\n function attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n }\n function pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n }\n function retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n }\n function retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function scheduleCallback(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n }\n function FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n }\n function shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n }\n function createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiber(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 31457280;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : {\n lanes: pendingProps.lanes,\n firstContext: pendingProps.firstContext\n };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n }\n function resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 31457282;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n }\n function createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n ) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag =\n supportsResources && supportsSingletons\n ? isHostHoistableType(type, pendingProps, contextStackCursor.current)\n ? 26\n : isHostSingletonType(type)\n ? 27\n : 5\n : supportsResources\n ? isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : 5\n : supportsSingletons\n ? isHostSingletonType(type)\n ? 27\n : 5\n : 5;\n else\n a: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(\n pendingProps.children,\n mode,\n lanes,\n key\n );\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiber(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiber(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiber(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(\n 130,\n null === type ? \"null\" : typeof type,\n \"\"\n )\n );\n owner = null;\n }\n key = createFiber(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n }\n function createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiber(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n }\n function createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n pendingProps = createFiber(22, pendingProps, key, mode);\n pendingProps.elementType = REACT_OFFSCREEN_TYPE;\n pendingProps.lanes = lanes;\n var primaryChildInstance = {\n _visibility: 1,\n _pendingVisibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null,\n _current: null,\n detach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber) throw Error(formatProdErrorMessage(456));\n if (0 === (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility |= 2),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n },\n attach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber) throw Error(formatProdErrorMessage(456));\n if (0 !== (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility &= -3),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n }\n };\n pendingProps.stateNode = primaryChildInstance;\n return pendingProps;\n }\n function createFiberFromText(content, mode, lanes) {\n content = createFiber(6, content, null, mode);\n content.lanes = lanes;\n return content;\n }\n function createFiberFromPortal(portal, mode, lanes) {\n mode = createFiber(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n }\n function FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n ) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.finishedWork =\n this.pingCache =\n this.current =\n this.pendingChildren =\n null;\n this.timeoutHandle = noTimeout;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.finishedLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n }\n function createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n ) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiber(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n }\n function getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n }\n function findHostInstance(component) {\n var fiber = component._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof component.render)\n throw Error(formatProdErrorMessage(188));\n component = Object.keys(component).join(\",\");\n throw Error(formatProdErrorMessage(268, component));\n }\n component = findCurrentFiberUsingSlowPath(fiber);\n component = null !== component ? findCurrentHostFiberImpl(component) : null;\n return null === component ? null : getPublicInstance(component.stateNode);\n }\n function updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n ) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n }\n function markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n }\n function markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n }\n var exports = {};\n (\"use strict\");\n var React = require(\"react\"),\n Scheduler = require(\"scheduler\"),\n assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\n Symbol.for(\"react.scope\");\n Symbol.for(\"react.debug_trace_mode\");\n var REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\");\n Symbol.for(\"react.legacy_hidden\");\n Symbol.for(\"react.tracing_marker\");\n var REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n prefix,\n suffix,\n reentry = !1,\n isArrayImpl = Array.isArray,\n rendererVersion = $$$config.rendererVersion,\n rendererPackageName = $$$config.rendererPackageName,\n extraDevToolsConfig = $$$config.extraDevToolsConfig,\n getPublicInstance = $$$config.getPublicInstance,\n getRootHostContext = $$$config.getRootHostContext,\n getChildHostContext = $$$config.getChildHostContext,\n prepareForCommit = $$$config.prepareForCommit,\n resetAfterCommit = $$$config.resetAfterCommit,\n createInstance = $$$config.createInstance,\n appendInitialChild = $$$config.appendInitialChild,\n finalizeInitialChildren = $$$config.finalizeInitialChildren,\n shouldSetTextContent = $$$config.shouldSetTextContent,\n createTextInstance = $$$config.createTextInstance,\n scheduleTimeout = $$$config.scheduleTimeout,\n cancelTimeout = $$$config.cancelTimeout,\n noTimeout = $$$config.noTimeout,\n isPrimaryRenderer = $$$config.isPrimaryRenderer;\n $$$config.warnsIfNotActing;\n var supportsMutation = $$$config.supportsMutation,\n supportsPersistence = $$$config.supportsPersistence,\n supportsHydration = $$$config.supportsHydration,\n getInstanceFromNode = $$$config.getInstanceFromNode;\n $$$config.beforeActiveInstanceBlur;\n $$$config.afterActiveInstanceBlur;\n var preparePortalMount = $$$config.preparePortalMount;\n $$$config.prepareScopeUpdate;\n $$$config.getInstanceFromScope;\n var setCurrentUpdatePriority = $$$config.setCurrentUpdatePriority,\n getCurrentUpdatePriority = $$$config.getCurrentUpdatePriority,\n resolveUpdatePriority = $$$config.resolveUpdatePriority;\n $$$config.resolveEventType;\n $$$config.resolveEventTimeStamp;\n var shouldAttemptEagerTransition = $$$config.shouldAttemptEagerTransition,\n detachDeletedInstance = $$$config.detachDeletedInstance;\n $$$config.requestPostPaintCallback;\n var maySuspendCommit = $$$config.maySuspendCommit,\n preloadInstance = $$$config.preloadInstance,\n startSuspendingCommit = $$$config.startSuspendingCommit,\n suspendInstance = $$$config.suspendInstance,\n waitForCommitToBeReady = $$$config.waitForCommitToBeReady,\n NotPendingTransition = $$$config.NotPendingTransition,\n HostTransitionContext = $$$config.HostTransitionContext,\n resetFormInstance = $$$config.resetFormInstance;\n $$$config.bindToConsole;\n var supportsMicrotasks = $$$config.supportsMicrotasks,\n scheduleMicrotask = $$$config.scheduleMicrotask,\n supportsTestSelectors = $$$config.supportsTestSelectors,\n findFiberRoot = $$$config.findFiberRoot,\n getBoundingRect = $$$config.getBoundingRect,\n getTextContent = $$$config.getTextContent,\n isHiddenSubtree = $$$config.isHiddenSubtree,\n matchAccessibilityRole = $$$config.matchAccessibilityRole,\n setFocusIfFocusable = $$$config.setFocusIfFocusable,\n setupIntersectionObserver = $$$config.setupIntersectionObserver,\n appendChild = $$$config.appendChild,\n appendChildToContainer = $$$config.appendChildToContainer,\n commitTextUpdate = $$$config.commitTextUpdate,\n commitMount = $$$config.commitMount,\n commitUpdate = $$$config.commitUpdate,\n insertBefore = $$$config.insertBefore,\n insertInContainerBefore = $$$config.insertInContainerBefore,\n removeChild = $$$config.removeChild,\n removeChildFromContainer = $$$config.removeChildFromContainer,\n resetTextContent = $$$config.resetTextContent,\n hideInstance = $$$config.hideInstance,\n hideTextInstance = $$$config.hideTextInstance,\n unhideInstance = $$$config.unhideInstance,\n unhideTextInstance = $$$config.unhideTextInstance,\n clearContainer = $$$config.clearContainer,\n cloneInstance = $$$config.cloneInstance,\n createContainerChildSet = $$$config.createContainerChildSet,\n appendChildToContainerChildSet = $$$config.appendChildToContainerChildSet,\n finalizeContainerChildren = $$$config.finalizeContainerChildren,\n replaceContainerChildren = $$$config.replaceContainerChildren,\n cloneHiddenInstance = $$$config.cloneHiddenInstance,\n cloneHiddenTextInstance = $$$config.cloneHiddenTextInstance,\n isSuspenseInstancePending = $$$config.isSuspenseInstancePending,\n isSuspenseInstanceFallback = $$$config.isSuspenseInstanceFallback,\n getSuspenseInstanceFallbackErrorDetails =\n $$$config.getSuspenseInstanceFallbackErrorDetails,\n registerSuspenseInstanceRetry = $$$config.registerSuspenseInstanceRetry,\n canHydrateFormStateMarker = $$$config.canHydrateFormStateMarker,\n isFormStateMarkerMatching = $$$config.isFormStateMarkerMatching,\n getNextHydratableSibling = $$$config.getNextHydratableSibling,\n getFirstHydratableChild = $$$config.getFirstHydratableChild,\n getFirstHydratableChildWithinContainer =\n $$$config.getFirstHydratableChildWithinContainer,\n getFirstHydratableChildWithinSuspenseInstance =\n $$$config.getFirstHydratableChildWithinSuspenseInstance,\n canHydrateInstance = $$$config.canHydrateInstance,\n canHydrateTextInstance = $$$config.canHydrateTextInstance,\n canHydrateSuspenseInstance = $$$config.canHydrateSuspenseInstance,\n hydrateInstance = $$$config.hydrateInstance,\n hydrateTextInstance = $$$config.hydrateTextInstance,\n hydrateSuspenseInstance = $$$config.hydrateSuspenseInstance,\n getNextHydratableInstanceAfterSuspenseInstance =\n $$$config.getNextHydratableInstanceAfterSuspenseInstance,\n commitHydratedContainer = $$$config.commitHydratedContainer,\n commitHydratedSuspenseInstance = $$$config.commitHydratedSuspenseInstance,\n clearSuspenseBoundary = $$$config.clearSuspenseBoundary,\n clearSuspenseBoundaryFromContainer =\n $$$config.clearSuspenseBoundaryFromContainer,\n shouldDeleteUnhydratedTailInstances =\n $$$config.shouldDeleteUnhydratedTailInstances;\n $$$config.diffHydratedPropsForDevWarnings;\n $$$config.diffHydratedTextForDevWarnings;\n $$$config.describeHydratableInstanceForDevWarnings;\n var validateHydratableInstance = $$$config.validateHydratableInstance,\n validateHydratableTextInstance = $$$config.validateHydratableTextInstance,\n supportsResources = $$$config.supportsResources,\n isHostHoistableType = $$$config.isHostHoistableType,\n getHoistableRoot = $$$config.getHoistableRoot,\n getResource = $$$config.getResource,\n acquireResource = $$$config.acquireResource,\n releaseResource = $$$config.releaseResource,\n hydrateHoistable = $$$config.hydrateHoistable,\n mountHoistable = $$$config.mountHoistable,\n unmountHoistable = $$$config.unmountHoistable,\n createHoistableInstance = $$$config.createHoistableInstance,\n prepareToCommitHoistables = $$$config.prepareToCommitHoistables,\n mayResourceSuspendCommit = $$$config.mayResourceSuspendCommit,\n preloadResource = $$$config.preloadResource,\n suspendResource = $$$config.suspendResource,\n supportsSingletons = $$$config.supportsSingletons,\n resolveSingletonInstance = $$$config.resolveSingletonInstance,\n clearSingleton = $$$config.clearSingleton,\n acquireSingletonInstance = $$$config.acquireSingletonInstance,\n releaseSingletonInstance = $$$config.releaseSingletonInstance,\n isHostSingletonType = $$$config.isHostSingletonType,\n valueStack = [],\n index$jscomp$0 = -1,\n emptyContextObject = {},\n clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log$1 = Math.log,\n LN2 = Math.LN2,\n nextTransitionLane = 128,\n nextRetryLane = 4194304,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null,\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n CapturedStacks = new WeakMap(),\n forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\",\n contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null),\n hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519)),\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0,\n firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0,\n currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null,\n hasForceUpdate = !1,\n didReadFromEntangledAsyncAction = !1,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n noopSuspenseyCommitThenable = { then: function () {} },\n suspendedThenable = null,\n thenableState$1 = null,\n thenableIndexCounter$1 = 0,\n reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null,\n suspenseStackCursor = createCursor(0),\n renderLanes = 0,\n currentlyRenderingFiber$1 = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\n var createFunctionComponentUpdateQueue = function () {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n };\n var ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError\n };\n ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;\n ContextOnlyDispatcher.useMemoCache = throwInvalidHookError;\n ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;\n ContextOnlyDispatcher.useFormState = throwInvalidHookError;\n ContextOnlyDispatcher.useActionState = throwInvalidHookError;\n ContextOnlyDispatcher.useOptimistic = throwInvalidHookError;\n var HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber$1,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n queue\n );\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber$1,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n { destroy: void 0 },\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \":\" + identifierPrefix + \"R\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \":\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \":\" +\n identifierPrefix +\n \"r\" +\n JSCompiler_inline_result.toString(32) +\n \":\");\n return (hook.memoizedState = identifierPrefix);\n },\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber$1\n ));\n }\n };\n HooksDispatcherOnMount.useMemoCache = useMemoCache;\n HooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnMount.useFormState = mountActionState;\n HooksDispatcherOnMount.useActionState = mountActionState;\n HooksDispatcherOnMount.useOptimistic = function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n };\n var HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n };\n HooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;\n HooksDispatcherOnUpdate.useMemoCache = useMemoCache;\n HooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnUpdate.useFormState = updateActionState;\n HooksDispatcherOnUpdate.useActionState = updateActionState;\n HooksDispatcherOnUpdate.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n };\n var HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n };\n HooksDispatcherOnRerender.useCacheRefresh = updateRefresh;\n HooksDispatcherOnRerender.useMemoCache = useMemoCache;\n HooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;\n HooksDispatcherOnRerender.useFormState = rerenderActionState;\n HooksDispatcherOnRerender.useActionState = rerenderActionState;\n HooksDispatcherOnRerender.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n };\n var classComponentUpdater = {\n isMounted: function (component) {\n return (component = component._reactInternals)\n ? getNearestMountedFiber(component) === component\n : !1;\n },\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback &&\n null !== callback &&\n (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n },\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1,\n SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0 },\n valueCursor = createCursor(null),\n currentlyRenderingFiber = null,\n lastContextDependency = null,\n AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$1 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n },\n prevOnStartTransitionFinish = ReactSharedInternals.S;\n ReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n };\n var resumedCache = createCursor(null),\n offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n shouldFireAfterActiveInstanceBlur = !1,\n hostParent = null,\n hostParentIsContainer = !1,\n currentHoistableRoot = null,\n suspenseyCommitFlag = 8192,\n DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n }\n },\n COMPONENT_TYPE = 0,\n HAS_PSEUDO_CLASS_TYPE = 1,\n ROLE_TYPE = 2,\n TEST_NAME_TYPE = 3,\n TEXT_TYPE = 4;\n if (\"function\" === typeof Symbol && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor(\"selector.component\");\n HAS_PSEUDO_CLASS_TYPE = symbolFor(\"selector.has_pseudo_class\");\n ROLE_TYPE = symbolFor(\"selector.role\");\n TEST_NAME_TYPE = symbolFor(\"selector.test_id\");\n TEXT_TYPE = symbolFor(\"selector.text\");\n }\n var PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n rootDoesHavePassiveEffects = !1,\n rootWithPendingPassiveEffects = null,\n pendingPassiveEffectsLanes = 0,\n pendingPassiveEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\n exports.attemptContinuousHydration = function (fiber) {\n if (13 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n };\n exports.attemptHydrationAtCurrentPriority = function (fiber) {\n if (13 === fiber.tag) {\n var lane = requestUpdateLane(),\n root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n };\n exports.attemptSynchronousHydration = function (fiber) {\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n fiber.pendingLanes |= 2;\n for (fiber.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n fiber.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 13:\n (lanes = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== lanes && scheduleUpdateOnFiber(lanes, fiber, 2),\n flushSyncWork(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n };\n exports.batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.createComponentSelector = function (component) {\n return { $$typeof: COMPONENT_TYPE, value: component };\n };\n exports.createContainer = function (\n containerInfo,\n tag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks\n ) {\n return createFiberRoot(\n containerInfo,\n tag,\n !1,\n null,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n null\n );\n };\n exports.createHasPseudoClassSelector = function (selectors) {\n return { $$typeof: HAS_PSEUDO_CLASS_TYPE, value: selectors };\n };\n exports.createHydrationContainer = function (\n initialChildren,\n callback,\n containerInfo,\n tag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n ) {\n initialChildren = createFiberRoot(\n containerInfo,\n tag,\n !0,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n );\n initialChildren.context = getContextForSubtree(null);\n containerInfo = initialChildren.current;\n tag = requestUpdateLane();\n hydrationCallbacks = createUpdate(tag);\n hydrationCallbacks.callback =\n void 0 !== callback && null !== callback ? callback : null;\n enqueueUpdate(containerInfo, hydrationCallbacks, tag);\n initialChildren.current.lanes = tag;\n markRootUpdated$1(initialChildren, tag);\n ensureRootIsScheduled(initialChildren);\n return initialChildren;\n };\n exports.createPortal = function (children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n };\n exports.createRoleSelector = function (role) {\n return { $$typeof: ROLE_TYPE, value: role };\n };\n exports.createTestNameSelector = function (id) {\n return { $$typeof: TEST_NAME_TYPE, value: id };\n };\n exports.createTextSelector = function (text) {\n return { $$typeof: TEXT_TYPE, value: text };\n };\n exports.defaultOnCaughtError = function (error) {\n console.error(error);\n };\n exports.defaultOnRecoverableError = function (error) {\n reportGlobalError(error);\n };\n exports.defaultOnUncaughtError = function (error) {\n reportGlobalError(error);\n };\n exports.deferredUpdates = function (fn) {\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n return (\n setCurrentUpdatePriority(32), (ReactSharedInternals.T = null), fn()\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.discreteUpdates = function (fn, a, b, c, d) {\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n return (\n setCurrentUpdatePriority(2),\n (ReactSharedInternals.T = null),\n fn(a, b, c, d)\n );\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition),\n 0 === executionContext &&\n (workInProgressRootRenderTargetTime = now() + 500);\n }\n };\n exports.findAllNodes = findAllNodes;\n exports.findBoundingRects = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n selectors = findAllNodes(hostRoot, selectors);\n hostRoot = [];\n for (var i = 0; i < selectors.length; i++)\n hostRoot.push(getBoundingRect(selectors[i]));\n for (selectors = hostRoot.length - 1; 0 < selectors; selectors--) {\n i = hostRoot[selectors];\n for (\n var targetLeft = i.x,\n targetRight = targetLeft + i.width,\n targetTop = i.y,\n targetBottom = targetTop + i.height,\n j = selectors - 1;\n 0 <= j;\n j--\n )\n if (selectors !== j) {\n var otherRect = hostRoot[j],\n otherLeft = otherRect.x,\n otherRight = otherLeft + otherRect.width,\n otherTop = otherRect.y,\n otherBottom = otherTop + otherRect.height;\n if (\n targetLeft >= otherLeft &&\n targetTop >= otherTop &&\n targetRight <= otherRight &&\n targetBottom <= otherBottom\n ) {\n hostRoot.splice(selectors, 1);\n break;\n } else if (\n !(\n targetLeft !== otherLeft ||\n i.width !== otherRect.width ||\n otherBottom < targetTop ||\n otherTop > targetBottom\n )\n ) {\n otherTop > targetTop &&\n ((otherRect.height += otherTop - targetTop),\n (otherRect.y = targetTop));\n otherBottom < targetBottom &&\n (otherRect.height = targetBottom - otherTop);\n hostRoot.splice(selectors, 1);\n break;\n } else if (\n !(\n targetTop !== otherTop ||\n i.height !== otherRect.height ||\n otherRight < targetLeft ||\n otherLeft > targetRight\n )\n ) {\n otherLeft > targetLeft &&\n ((otherRect.width += otherLeft - targetLeft),\n (otherRect.x = targetLeft));\n otherRight < targetRight &&\n (otherRect.width = targetRight - otherLeft);\n hostRoot.splice(selectors, 1);\n break;\n }\n }\n }\n return hostRoot;\n };\n exports.findHostInstance = findHostInstance;\n exports.findHostInstanceWithNoPortals = function (fiber) {\n fiber = findCurrentFiberUsingSlowPath(fiber);\n fiber =\n null !== fiber ? findCurrentHostFiberWithNoPortalsImpl(fiber) : null;\n return null === fiber ? null : getPublicInstance(fiber.stateNode);\n };\n exports.findHostInstanceWithWarning = function (component) {\n return findHostInstance(component);\n };\n exports.flushPassiveEffects = flushPassiveEffects;\n exports.flushSyncFromReconciler = function (fn) {\n var prevExecutionContext = executionContext;\n executionContext |= 1;\n var prevTransition = ReactSharedInternals.T,\n previousPriority = getCurrentUpdatePriority();\n try {\n if ((setCurrentUpdatePriority(2), (ReactSharedInternals.T = null), fn))\n return fn();\n } finally {\n setCurrentUpdatePriority(previousPriority),\n (ReactSharedInternals.T = prevTransition),\n (executionContext = prevExecutionContext),\n 0 === (executionContext & 6) && flushSyncWorkAcrossRoots_impl(0, !1);\n }\n };\n exports.flushSyncWork = flushSyncWork;\n exports.focusWithin = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findFiberRootForHostRoot(hostRoot);\n selectors = findPaths(hostRoot, selectors);\n selectors = Array.from(selectors);\n for (hostRoot = 0; hostRoot < selectors.length; ) {\n var fiber = selectors[hostRoot++],\n tag = fiber.tag;\n if (!isHiddenSubtree(fiber)) {\n if (\n (5 === tag || 26 === tag || 27 === tag) &&\n setFocusIfFocusable(fiber.stateNode)\n )\n return !0;\n for (fiber = fiber.child; null !== fiber; )\n selectors.push(fiber), (fiber = fiber.sibling);\n }\n }\n return !1;\n };\n exports.getFindAllNodesFailureDescription = function (hostRoot, selectors) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n var maxSelectorIndex = 0,\n matchedNames = [];\n hostRoot = [findFiberRootForHostRoot(hostRoot), 0];\n for (var index = 0; index < hostRoot.length; ) {\n var fiber = hostRoot[index++],\n tag = fiber.tag,\n selectorIndex = hostRoot[index++],\n selector = selectors[selectorIndex];\n if ((5 !== tag && 26 !== tag && 27 !== tag) || !isHiddenSubtree(fiber))\n if (\n (matchSelector(fiber, selector) &&\n (matchedNames.push(selectorToString(selector)),\n selectorIndex++,\n selectorIndex > maxSelectorIndex &&\n (maxSelectorIndex = selectorIndex)),\n selectorIndex < selectors.length)\n )\n for (fiber = fiber.child; null !== fiber; )\n hostRoot.push(fiber, selectorIndex), (fiber = fiber.sibling);\n }\n if (maxSelectorIndex < selectors.length) {\n for (\n hostRoot = [];\n maxSelectorIndex < selectors.length;\n maxSelectorIndex++\n )\n hostRoot.push(selectorToString(selectors[maxSelectorIndex]));\n return (\n \"findAllNodes was able to match part of the selector:\\n \" +\n (matchedNames.join(\" > \") +\n \"\\n\\nNo matching component was found for:\\n \") +\n hostRoot.join(\" > \")\n );\n }\n return null;\n };\n exports.getPublicRootInstance = function (container) {\n container = container.current;\n if (!container.child) return null;\n switch (container.child.tag) {\n case 27:\n case 5:\n return getPublicInstance(container.child.stateNode);\n default:\n return container.child.stateNode;\n }\n };\n exports.injectIntoDevTools = function () {\n var internals = {\n bundleType: 0,\n version: rendererVersion,\n rendererPackageName: rendererPackageName,\n currentDispatcherRef: ReactSharedInternals,\n findFiberByHostInstance: getInstanceFromNode,\n reconcilerVersion: \"19.0.0\"\n };\n null !== extraDevToolsConfig &&\n (internals.rendererConfig = extraDevToolsConfig);\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) internals = !1;\n else {\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook.isDisabled || !hook.supportsFiber) internals = !0;\n else {\n try {\n (rendererID = hook.inject(internals)), (injectedHook = hook);\n } catch (err) {}\n internals = hook.checkDCE ? !0 : !1;\n }\n }\n return internals;\n };\n exports.isAlreadyRendering = function () {\n return !1;\n };\n exports.observeVisibleRects = function (\n hostRoot,\n selectors,\n callback,\n options\n ) {\n if (!supportsTestSelectors) throw Error(formatProdErrorMessage(363));\n hostRoot = findAllNodes(hostRoot, selectors);\n var disconnect = setupIntersectionObserver(\n hostRoot,\n callback,\n options\n ).disconnect;\n return {\n disconnect: function () {\n disconnect();\n }\n };\n };\n exports.shouldError = function () {\n return null;\n };\n exports.shouldSuspend = function () {\n return !1;\n };\n exports.startHostTransition = function (\n formFiber,\n pendingState,\n action,\n formData\n ) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n NotPendingTransition,\n null === action\n ? noop\n : function () {\n var resetStateQueue =\n ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(\n formFiber,\n resetStateQueue,\n {},\n requestUpdateLane()\n );\n return action(formData);\n }\n );\n };\n exports.updateContainer = function (\n element,\n container,\n parentComponent,\n callback\n ) {\n var current = container.current,\n lane = requestUpdateLane();\n updateContainerImpl(\n current,\n lane,\n element,\n container,\n parentComponent,\n callback\n );\n return lane;\n };\n exports.updateContainerSync = function (\n element,\n container,\n parentComponent,\n callback\n ) {\n 0 === container.tag && flushPassiveEffects();\n updateContainerImpl(\n container.current,\n 2,\n element,\n container,\n parentComponent,\n callback\n );\n return 2;\n };\n return exports;\n};\nmodule.exports.default = module.exports;\nObject.defineProperty(module.exports, \"__esModule\", { value: !0 });\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler.production.js');\n} else {\n module.exports = require('./cjs/react-reconciler.development.js');\n}\n","/**\n * @license React\n * react-reconciler-constants.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nexports.ConcurrentRoot = 1;\nexports.ContinuousEventPriority = 8;\nexports.DefaultEventPriority = 32;\nexports.DiscreteEventPriority = 2;\nexports.IdleEventPriority = 268435456;\nexports.LegacyRoot = 0;\nexports.NoEventPriority = 0;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-reconciler-constants.production.js');\n} else {\n module.exports = require('./cjs/react-reconciler-constants.development.js');\n}\n","import { Konva } from 'konva/lib/Global.js';\nconst propsToSkip = {\n children: true,\n ref: true,\n key: true,\n style: true,\n forwardedRef: true,\n unstable_applyCache: true,\n unstable_applyDrawHitFromCache: true,\n};\nlet zIndexWarningShowed = false;\nlet dragWarningShowed = false;\nexport const EVENTS_NAMESPACE = '.react-konva-event';\nlet useStrictMode = false;\nexport function toggleStrictMode(value) {\n useStrictMode = value;\n}\nconst DRAGGABLE_WARNING = `ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.\nPosition of a node will be changed during drag&drop, so you should update state of the react app as well.\nConsider to add onDragMove or onDragEnd events.\nFor more info see: https://github.com/konvajs/react-konva/issues/256\n`;\nconst Z_INDEX_WARNING = `ReactKonva: You are using \"zIndex\" attribute for a Konva node.\nreact-konva may get confused with ordering. Just define correct order of elements in your render function of a component.\nFor more info see: https://github.com/konvajs/react-konva/issues/194\n`;\nconst EMPTY_PROPS = {};\nexport function applyNodeProps(instance, props, oldProps = EMPTY_PROPS) {\n // don't use zIndex in react-konva\n if (!zIndexWarningShowed && 'zIndex' in props) {\n console.warn(Z_INDEX_WARNING);\n zIndexWarningShowed = true;\n }\n // check correct draggable usage\n if (!dragWarningShowed && props.draggable) {\n var hasPosition = props.x !== undefined || props.y !== undefined;\n var hasEvents = props.onDragEnd || props.onDragMove;\n if (hasPosition && !hasEvents) {\n console.warn(DRAGGABLE_WARNING);\n dragWarningShowed = true;\n }\n }\n // check old props\n // we need to unset properties that are not in new props\n // and remove all events\n for (var key in oldProps) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var propChanged = oldProps[key] !== props[key];\n // if that is a changed event, we need to remove it\n if (isEvent && propChanged) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n instance.off(eventName, oldProps[key]);\n }\n var toRemove = !props.hasOwnProperty(key);\n if (toRemove) {\n instance.setAttr(key, undefined);\n }\n }\n var strictUpdate = useStrictMode || props._useStrictMode;\n var updatedProps = {};\n var hasUpdates = false;\n const newEvents = {};\n for (var key in props) {\n if (propsToSkip[key]) {\n continue;\n }\n var isEvent = key.slice(0, 2) === 'on';\n var toAdd = oldProps[key] !== props[key];\n if (isEvent && toAdd) {\n var eventName = key.substr(2).toLowerCase();\n if (eventName.substr(0, 7) === 'content') {\n eventName =\n 'content' +\n eventName.substr(7, 1).toUpperCase() +\n eventName.substr(8);\n }\n // check that event is not undefined\n if (props[key]) {\n newEvents[eventName] = props[key];\n }\n }\n if (!isEvent &&\n (props[key] !== oldProps[key] ||\n (strictUpdate && props[key] !== instance.getAttr(key)))) {\n hasUpdates = true;\n updatedProps[key] = props[key];\n }\n }\n if (hasUpdates) {\n instance.setAttrs(updatedProps);\n updatePicture(instance);\n }\n // subscribe to events AFTER we set attrs\n // we need it to fix https://github.com/konvajs/react-konva/issues/471\n // settings attrs may add events. Like \"draggable: true\" will add \"mousedown\" listener\n for (var eventName in newEvents) {\n instance.on(eventName + EVENTS_NAMESPACE, newEvents[eventName]);\n }\n}\nexport function updatePicture(node) {\n if (!Konva.autoDrawEnabled) {\n var drawingNode = node.getLayer() || node.getStage();\n drawingNode && drawingNode.batchDraw();\n }\n}\n","import Konva from 'konva/lib/Core.js';\nimport { applyNodeProps, updatePicture, EVENTS_NAMESPACE, } from './makeUpdates.js';\nexport { unstable_now as now, unstable_IdlePriority as idlePriority, unstable_runWithPriority as run, } from 'scheduler';\nimport { \n// NoEventPriority,\nDefaultEventPriority, } from 'react-reconciler/constants.js';\nconst NO_CONTEXT = {};\nconst UPDATE_SIGNAL = {};\n// for react-spring capability\nKonva.Node.prototype._applyProps = applyNodeProps;\n// let currentUpdatePriority: number = NoEventPriority;\nlet currentUpdatePriority = DefaultEventPriority;\nexport function appendInitialChild(parentInstance, child) {\n if (typeof child === 'string') {\n // Noop for string children of Text (eg foo)\n console.error(`Do not use plain text as child of Konva.Node. You are using text: ${child}`);\n return;\n }\n parentInstance.add(child);\n updatePicture(parentInstance);\n}\nexport function createInstance(type, props, internalInstanceHandle) {\n let NodeClass = Konva[type];\n if (!NodeClass) {\n console.error(`Konva has no node with the type ${type}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: \"import \"konva/lib/shapes/${type}\" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`);\n NodeClass = Konva.Group;\n }\n // we need to split props into events and non events\n // we we can pass non events into constructor directly\n // that way the performance should be better\n // we we apply change \"applyNodeProps\"\n // then it will trigger change events on first run\n // but we don't need them!\n const propsWithoutEvents = {};\n const propsWithOnlyEvents = {};\n for (var key in props) {\n var isEvent = key.slice(0, 2) === 'on';\n if (isEvent) {\n propsWithOnlyEvents[key] = props[key];\n }\n else {\n propsWithoutEvents[key] = props[key];\n }\n }\n const instance = new NodeClass(propsWithoutEvents);\n applyNodeProps(instance, propsWithOnlyEvents);\n return instance;\n}\nexport function createTextInstance(text, rootContainerInstance, internalInstanceHandle) {\n console.error(`Text components are not supported for now in ReactKonva. Your text is: \"${text}\"`);\n}\nexport function finalizeInitialChildren(domElement, type, props) {\n return false;\n}\nexport function getPublicInstance(instance) {\n return instance;\n}\nexport function prepareForCommit() {\n return null;\n}\nexport function preparePortalMount() {\n return null;\n}\nexport function prepareUpdate(domElement, type, oldProps, newProps) {\n return UPDATE_SIGNAL;\n}\nexport function resetAfterCommit() {\n // Noop\n}\nexport function resetTextContent(domElement) {\n // Noop\n}\nexport function shouldDeprioritizeSubtree(type, props) {\n return false;\n}\nexport function getRootHostContext() {\n return NO_CONTEXT;\n}\nexport function getChildHostContext() {\n return NO_CONTEXT;\n}\nexport const scheduleTimeout = setTimeout;\nexport const cancelTimeout = clearTimeout;\nexport const noTimeout = -1;\n// export const schedulePassiveEffects = scheduleDeferredCallback;\n// export const cancelPassiveEffects = cancelDeferredCallback;\nexport function shouldSetTextContent(type, props) {\n return false;\n}\n// The Konva renderer is secondary to the React DOM renderer.\nexport const isPrimaryRenderer = false;\nexport const warnsIfNotActing = true;\nexport const supportsMutation = true;\nexport const supportsPersistence = false;\nexport const supportsHydration = false;\nexport function appendChild(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function appendChildToContainer(parentInstance, child) {\n if (child.parent === parentInstance) {\n child.moveToTop();\n }\n else {\n parentInstance.add(child);\n }\n updatePicture(parentInstance);\n}\nexport function insertBefore(parentInstance, child, beforeChild) {\n // child._remove() will not stop dragging\n // but child.remove() will stop it, but we don't need it\n // removing will reset zIndexes\n child._remove();\n parentInstance.add(child);\n child.setZIndex(beforeChild.getZIndex());\n updatePicture(parentInstance);\n}\nexport function insertInContainerBefore(parentInstance, child, beforeChild) {\n insertBefore(parentInstance, child, beforeChild);\n}\nexport function removeChild(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function removeChildFromContainer(parentInstance, child) {\n child.destroy();\n child.off(EVENTS_NAMESPACE);\n updatePicture(parentInstance);\n}\nexport function commitTextUpdate(textInstance, oldText, newText) {\n console.error(`Text components are not yet supported in ReactKonva. You text is: \"${newText}\"`);\n}\nexport function commitMount(instance, type, newProps) {\n // Noop\n}\nexport function commitUpdate(instance, type, oldProps, newProps) {\n applyNodeProps(instance, newProps, oldProps);\n}\nexport function hideInstance(instance) {\n instance.hide();\n updatePicture(instance);\n}\nexport function hideTextInstance(textInstance) {\n // Noop\n}\nexport function unhideInstance(instance, props) {\n if (props.visible == null || props.visible) {\n instance.show();\n }\n}\nexport function unhideTextInstance(textInstance, text) {\n // Noop\n}\nexport function clearContainer(container) {\n // Noop\n}\nexport function detachDeletedInstance() { }\nexport function getCurrentEventPriority() {\n return currentUpdatePriority;\n}\nexport function prepareScopeUpdate() { }\nexport function getInstanceFromScope() {\n return null;\n}\nexport function setCurrentUpdatePriority(newPriority) {\n currentUpdatePriority = newPriority;\n}\nexport function getCurrentUpdatePriority() {\n return currentUpdatePriority;\n}\nexport function resolveUpdatePriority() {\n return currentUpdatePriority || DefaultEventPriority;\n}\nexport function shouldAttemptEagerTransition() {\n return false;\n}\nexport function requestPostPaintCallback() { }\nexport function maySuspendCommit() {\n return false;\n}\nexport function preloadInstance() {\n return true;\n}\nexport function startSuspendingCommit() { }\nexport function suspendInstance() { }\nexport function waitForCommitToBeReady() {\n return null;\n}\nexport const NotPendingTransition = null;\nexport function resetFormInstance() { }\n","import * as React from \"react\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar _a, _b;\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" && (((_a = window.document) == null ? void 0 : _a.createElement) || ((_b = window.navigator) == null ? void 0 : _b.product) === \"ReactNative\") ? React.useLayoutEffect : React.useEffect;\nfunction traverseFiber(fiber, ascending, selector) {\n if (!fiber)\n return;\n if (selector(fiber) === true)\n return fiber;\n let child = ascending ? fiber.return : fiber.child;\n while (child) {\n const match = traverseFiber(child, ascending, selector);\n if (match)\n return match;\n child = ascending ? null : child.sibling;\n }\n}\nfunction wrapContext(context) {\n try {\n return Object.defineProperties(context, {\n _currentRenderer: {\n get() {\n return null;\n },\n set() {\n }\n },\n _currentRenderer2: {\n get() {\n return null;\n },\n set() {\n }\n }\n });\n } catch (_) {\n return context;\n }\n}\nconst error = console.error;\nconsole.error = function() {\n const message = [...arguments].join(\"\");\n if ((message == null ? void 0 : message.startsWith(\"Warning:\")) && message.includes(\"useContext\")) {\n console.error = error;\n return;\n }\n return error.apply(this, arguments);\n};\nconst FiberContext = wrapContext(React.createContext(null));\nclass FiberProvider extends React.Component {\n render() {\n return /* @__PURE__ */ React.createElement(FiberContext.Provider, {\n value: this._reactInternals\n }, this.props.children);\n }\n}\nfunction useFiber() {\n const root = React.useContext(FiberContext);\n if (root === null)\n throw new Error(\"its-fine: useFiber must be called within a !\");\n const id = React.useId();\n const fiber = React.useMemo(() => {\n for (const maybeFiber of [root, root == null ? void 0 : root.alternate]) {\n if (!maybeFiber)\n continue;\n const fiber2 = traverseFiber(maybeFiber, false, (node) => {\n let state = node.memoizedState;\n while (state) {\n if (state.memoizedState === id)\n return true;\n state = state.next;\n }\n });\n if (fiber2)\n return fiber2;\n }\n }, [root, id]);\n return fiber;\n}\nfunction useContainer() {\n const fiber = useFiber();\n const root = React.useMemo(\n () => traverseFiber(fiber, true, (node) => {\n var _a2;\n return ((_a2 = node.stateNode) == null ? void 0 : _a2.containerInfo) != null;\n }),\n [fiber]\n );\n return root == null ? void 0 : root.stateNode.containerInfo;\n}\nfunction useNearestChild(type) {\n const fiber = useFiber();\n const childRef = React.useRef();\n useIsomorphicLayoutEffect(() => {\n var _a2;\n childRef.current = (_a2 = traverseFiber(\n fiber,\n false,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a2.stateNode;\n }, [fiber]);\n return childRef;\n}\nfunction useNearestParent(type) {\n const fiber = useFiber();\n const parentRef = React.useRef();\n useIsomorphicLayoutEffect(() => {\n var _a2;\n parentRef.current = (_a2 = traverseFiber(\n fiber,\n true,\n (node) => typeof node.type === \"string\" && (type === void 0 || node.type === type)\n )) == null ? void 0 : _a2.stateNode;\n }, [fiber]);\n return parentRef;\n}\nfunction useContextMap() {\n const fiber = useFiber();\n const [contextMap] = React.useState(() => /* @__PURE__ */ new Map());\n contextMap.clear();\n let node = fiber;\n while (node) {\n if (node.type && typeof node.type === \"object\") {\n const enableRenderableContext = node.type._context === void 0 && node.type.Provider === node.type;\n const context = enableRenderableContext ? node.type : node.type._context;\n if (context && context !== FiberContext && !contextMap.has(context)) {\n contextMap.set(context, React.useContext(wrapContext(context)));\n }\n }\n node = node.return;\n }\n return contextMap;\n}\nfunction useContextBridge() {\n const contextMap = useContextMap();\n return React.useMemo(\n () => Array.from(contextMap.keys()).reduce(\n (Prev, context) => (props) => /* @__PURE__ */ React.createElement(Prev, null, /* @__PURE__ */ React.createElement(context.Provider, __spreadProps(__spreadValues({}, props), {\n value: contextMap.get(context)\n }))),\n (props) => /* @__PURE__ */ React.createElement(FiberProvider, __spreadValues({}, props))\n ),\n [contextMap]\n );\n}\nexport {\n FiberProvider,\n traverseFiber,\n useContainer,\n useContextBridge,\n useContextMap,\n useFiber,\n useNearestChild,\n useNearestParent\n};\n//# sourceMappingURL=index.js.map\n","/**\n * Based on ReactArt.js\n * Copyright (c) 2017-present Lavrenov Anton.\n * All rights reserved.\n *\n * MIT\n */\n'use strict';\nimport React from 'react';\nimport Konva from 'konva/lib/Core.js';\nimport ReactFiberReconciler from 'react-reconciler';\nimport { ConcurrentRoot } from 'react-reconciler/constants.js';\nimport * as HostConfig from './ReactKonvaHostConfig.js';\nimport { applyNodeProps, toggleStrictMode } from './makeUpdates.js';\nimport { useContextBridge, FiberProvider } from 'its-fine';\nfunction usePrevious(value) {\n const ref = React.useRef({});\n React.useLayoutEffect(() => {\n ref.current = value;\n });\n React.useLayoutEffect(() => {\n return () => {\n // when using suspense it is possible that stage is unmounted\n // but React still keep component ref\n // in that case we need to manually flush props\n // we have a special test for that\n ref.current = {};\n };\n }, []);\n return ref.current;\n}\nconst StageWrap = (props) => {\n const container = React.useRef(null);\n const stage = React.useRef(null);\n const fiberRef = React.useRef(null);\n const oldProps = usePrevious(props);\n const Bridge = useContextBridge();\n const _setRef = (stage) => {\n const { forwardedRef } = props;\n if (!forwardedRef) {\n return;\n }\n if (typeof forwardedRef === 'function') {\n forwardedRef(stage);\n }\n else {\n forwardedRef.current = stage;\n }\n };\n React.useLayoutEffect(() => {\n stage.current = new Konva.Stage({\n width: props.width,\n height: props.height,\n container: container.current,\n });\n _setRef(stage.current);\n // @ts-ignore\n fiberRef.current = KonvaRenderer.createContainer(stage.current, ConcurrentRoot, null, false, null, '', console.error, console.error, console.error, null);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current, null, () => { });\n return () => {\n if (!Konva.isBrowser) {\n return;\n }\n _setRef(null);\n KonvaRenderer.updateContainer(null, fiberRef.current, null);\n stage.current.destroy();\n };\n }, []);\n React.useLayoutEffect(() => {\n _setRef(stage.current);\n applyNodeProps(stage.current, props, oldProps);\n KonvaRenderer.updateContainer(React.createElement(Bridge, {}, props.children), fiberRef.current, null);\n });\n return React.createElement('div', {\n ref: container,\n id: props.id,\n accessKey: props.accessKey,\n className: props.className,\n role: props.role,\n style: props.style,\n tabIndex: props.tabIndex,\n title: props.title,\n });\n};\nexport const Layer = 'Layer';\nexport const FastLayer = 'FastLayer';\nexport const Group = 'Group';\nexport const Label = 'Label';\nexport const Rect = 'Rect';\nexport const Circle = 'Circle';\nexport const Ellipse = 'Ellipse';\nexport const Wedge = 'Wedge';\nexport const Line = 'Line';\nexport const Sprite = 'Sprite';\nexport const Image = 'Image';\nexport const Text = 'Text';\nexport const TextPath = 'TextPath';\nexport const Star = 'Star';\nexport const Ring = 'Ring';\nexport const Arc = 'Arc';\nexport const Tag = 'Tag';\nexport const Path = 'Path';\nexport const RegularPolygon = 'RegularPolygon';\nexport const Arrow = 'Arrow';\nexport const Shape = 'Shape';\nexport const Transformer = 'Transformer';\n// @ts-ignore\nexport const KonvaRenderer = ReactFiberReconciler(HostConfig);\nKonvaRenderer.injectIntoDevTools({\n // @ts-ignore\n findHostInstanceByFiber: () => null,\n bundleType: process.env.NODE_ENV !== 'production' ? 1 : 0,\n version: React.version,\n rendererPackageName: 'react-konva',\n});\n// Update Stage component declaration\nexport const Stage = React.forwardRef((props, ref) => {\n return React.createElement(FiberProvider, {}, React.createElement(StageWrap, { ...props, forwardedRef: ref }));\n});\nexport const useStrictMode = toggleStrictMode;\n","var getDimensionsMinimalRatio=function(a,b,c,d){return Math.min(a/c,b/d)||1};export default getDimensionsMinimalRatio;","export var ROOT_CONTAINER_CLASS_NAME=\"FIE_root\";export var DESIGN_LAYER_ID=\"FIE_design-layer\";export var TRANSFORMERS_LAYER_ID=\"FIE_transformers-layer\";export var IMAGE_NODE_ID=\"FIE_original-image\";export var NODES_TRANSFORMER_ID=\"FIE_nodes-transformer\";export var WATERMARK_ANNOTATION_ID=\"watermark\";export var TRANSLATIONS_GRID_UUID=\"353297d2-40b4-4684-a875-45a2178a8157\";export var DEFAULT_SAVE_QUALITY=.92;export var TABS_IDS={FINETUNE:\"Finetune\",FILTERS:\"Filters\",ADJUST:\"Adjust\",WATERMARK:\"Watermark\",ANNOTATE:\"Annotate\",RESIZE:\"Resize\"};export var TOOLS_IDS={CROP:\"Crop\",ROTATE:\"Rotate\",FLIP_X:\"Flip_X\",FLIP_Y:\"Flip_Y\",BRIGHTNESS:\"Brightness\",CONTRAST:\"Contrast\",HSV:\"HueSaturationValue\",WARMTH:\"Warmth\",BLUR:\"Blur\",THRESHOLD:\"Threshold\",POSTERIZE:\"Posterize\",PIXELATE:\"Pixelate\",NOISE:\"Noise\",FILTERS:\"Filters\",RECT:\"Rect\",ELLIPSE:\"Ellipse\",POLYGON:\"Polygon\",TEXT:\"Text\",LINE:\"Line\",IMAGE:\"Image\",ARROW:\"Arrow\",WATERMARK:\"Watermark\",PEN:\"Pen\",RESIZE:\"Resize\"};export var FLIP_DIRECTIONS={X:\"X\",Y:\"Y\"};export var DEFAULT_ZOOM_FACTOR=1;export var SUPPORTED_IMAGE_TYPES=[\"png\",\"jpeg\",\"jpg\",\"webp\"];export var POSSIBLE_IMAGE_TYPES=[].concat(SUPPORTED_IMAGE_TYPES,[\"svg\",\"gif\",\"avif\",\"apng\"]);export var DEFAULT_IMAGE_TYPE=SUPPORTED_IMAGE_TYPES[0];export var POINTER_ICONS={DEFAULT:\"default\",DRAW:\"crosshair\",SELECT:\"pointer\",MOVE:\"move\",DRAG:\"GRAB\"};export var DEFAULT_ENABLED_ANCHORS=[\"top-left\",\"top-center\",\"top-right\",\"middle-right\",\"middle-left\",\"bottom-left\",\"bottom-center\",\"bottom-right\"];export var ORIGINAL_CROP=\"Crop\";export var CUSTOM_CROP=\"custom\";export var ELLIPSE_CROP=\"ellipse\";export var POSITIONS={TOP_LEFT:\"top-left\",TOP_CENTER:\"top-center\",TOP_RIGHT:\"top-right\",MIDDLE_LEFT:\"middle-left\",MIDDLE_CENTER:\"middle-center\",MIDDLE_RIGHT:\"middle-right\",BOTTOM_LEFT:\"bottom-left\",BOTTOM_CENTER:\"bottom-center\",BOTTOM_RIGHT:\"bottom-right\"};export var MIN_CROP={WIDTH:14,HEIGHT:14};export var CLOSING_REASONS={AFTER_SAVE:\"after-saving\",CLOSE_BUTTON:\"close-button-clicked\",BACK_BUTTON:\"back-button-clicked\"};export var FEEDBACK_STATUSES={WARNING:\"warning\",ERROR:\"error\"};export var EDITOR_TO_CLOUDIMG_POSITIONS={top:\"north\",bottom:\"south\",left:\"west\",center:\"center\",right:\"east\"};export var CLOUDIMG_TO_EDITOR_POSITIONS={northwest:\"top-left\",northcenter:\"top-center\",northeast:\"top-right\",centerwest:\"center-left\",centercenter:\"center-center\",centereast:\"center-right\",southwest:\"bottom-left\",southcenter:\"bottom-center\",southeast:\"bottom-right\"};","import{ELLIPSE_CROP}from\"./constants\";var cropImage=function(a,b){var c=!!(2 {\n exports.Konva[NodeClass.prototype.getClassName()] = NodeClass;\n};\nexports._registerNode = _registerNode;\nexports.Konva._injectGlobal(exports.Konva);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Transform = void 0;\nconst Global_1 = require(\"./Global\");\nclass Transform {\n constructor(m = [1, 0, 0, 1, 0, 0]) {\n this.dirty = false;\n this.m = (m && m.slice()) || [1, 0, 0, 1, 0, 0];\n }\n reset() {\n this.m[0] = 1;\n this.m[1] = 0;\n this.m[2] = 0;\n this.m[3] = 1;\n this.m[4] = 0;\n this.m[5] = 0;\n }\n copy() {\n return new Transform(this.m);\n }\n copyInto(tr) {\n tr.m[0] = this.m[0];\n tr.m[1] = this.m[1];\n tr.m[2] = this.m[2];\n tr.m[3] = this.m[3];\n tr.m[4] = this.m[4];\n tr.m[5] = this.m[5];\n }\n point(point) {\n var m = this.m;\n return {\n x: m[0] * point.x + m[2] * point.y + m[4],\n y: m[1] * point.x + m[3] * point.y + m[5],\n };\n }\n translate(x, y) {\n this.m[4] += this.m[0] * x + this.m[2] * y;\n this.m[5] += this.m[1] * x + this.m[3] * y;\n return this;\n }\n scale(sx, sy) {\n this.m[0] *= sx;\n this.m[1] *= sx;\n this.m[2] *= sy;\n this.m[3] *= sy;\n return this;\n }\n rotate(rad) {\n var c = Math.cos(rad);\n var s = Math.sin(rad);\n var m11 = this.m[0] * c + this.m[2] * s;\n var m12 = this.m[1] * c + this.m[3] * s;\n var m21 = this.m[0] * -s + this.m[2] * c;\n var m22 = this.m[1] * -s + this.m[3] * c;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n getTranslation() {\n return {\n x: this.m[4],\n y: this.m[5],\n };\n }\n skew(sx, sy) {\n var m11 = this.m[0] + this.m[2] * sy;\n var m12 = this.m[1] + this.m[3] * sy;\n var m21 = this.m[2] + this.m[0] * sx;\n var m22 = this.m[3] + this.m[1] * sx;\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n return this;\n }\n multiply(matrix) {\n var m11 = this.m[0] * matrix.m[0] + this.m[2] * matrix.m[1];\n var m12 = this.m[1] * matrix.m[0] + this.m[3] * matrix.m[1];\n var m21 = this.m[0] * matrix.m[2] + this.m[2] * matrix.m[3];\n var m22 = this.m[1] * matrix.m[2] + this.m[3] * matrix.m[3];\n var dx = this.m[0] * matrix.m[4] + this.m[2] * matrix.m[5] + this.m[4];\n var dy = this.m[1] * matrix.m[4] + this.m[3] * matrix.m[5] + this.m[5];\n this.m[0] = m11;\n this.m[1] = m12;\n this.m[2] = m21;\n this.m[3] = m22;\n this.m[4] = dx;\n this.m[5] = dy;\n return this;\n }\n invert() {\n var d = 1 / (this.m[0] * this.m[3] - this.m[1] * this.m[2]);\n var m0 = this.m[3] * d;\n var m1 = -this.m[1] * d;\n var m2 = -this.m[2] * d;\n var m3 = this.m[0] * d;\n var m4 = d * (this.m[2] * this.m[5] - this.m[3] * this.m[4]);\n var m5 = d * (this.m[1] * this.m[4] - this.m[0] * this.m[5]);\n this.m[0] = m0;\n this.m[1] = m1;\n this.m[2] = m2;\n this.m[3] = m3;\n this.m[4] = m4;\n this.m[5] = m5;\n return this;\n }\n getMatrix() {\n return this.m;\n }\n decompose() {\n var a = this.m[0];\n var b = this.m[1];\n var c = this.m[2];\n var d = this.m[3];\n var e = this.m[4];\n var f = this.m[5];\n var delta = a * d - b * c;\n let result = {\n x: e,\n y: f,\n rotation: 0,\n scaleX: 0,\n scaleY: 0,\n skewX: 0,\n skewY: 0,\n };\n if (a != 0 || b != 0) {\n var r = Math.sqrt(a * a + b * b);\n result.rotation = b > 0 ? Math.acos(a / r) : -Math.acos(a / r);\n result.scaleX = r;\n result.scaleY = delta / r;\n result.skewX = (a * c + b * d) / delta;\n result.skewY = 0;\n }\n else if (c != 0 || d != 0) {\n var s = Math.sqrt(c * c + d * d);\n result.rotation =\n Math.PI / 2 - (d > 0 ? Math.acos(-c / s) : -Math.acos(c / s));\n result.scaleX = delta / s;\n result.scaleY = s;\n result.skewX = 0;\n result.skewY = (a * c + b * d) / delta;\n }\n else {\n }\n result.rotation = exports.Util._getRotation(result.rotation);\n return result;\n }\n}\nexports.Transform = Transform;\nvar OBJECT_ARRAY = '[object Array]', OBJECT_NUMBER = '[object Number]', OBJECT_STRING = '[object String]', OBJECT_BOOLEAN = '[object Boolean]', PI_OVER_DEG180 = Math.PI / 180, DEG180_OVER_PI = 180 / Math.PI, HASH = '#', EMPTY_STRING = '', ZERO = '0', KONVA_WARNING = 'Konva warning: ', KONVA_ERROR = 'Konva error: ', RGB_PAREN = 'rgb(', COLORS = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 132, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 255, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 203],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [119, 128, 144],\n slategrey: [119, 128, 144],\n snow: [255, 255, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n transparent: [255, 255, 255, 0],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 5],\n}, RGB_REGEX = /rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)/, animQueue = [];\nconst req = (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame) ||\n function (f) {\n setTimeout(f, 60);\n };\nexports.Util = {\n _isElement(obj) {\n return !!(obj && obj.nodeType == 1);\n },\n _isFunction(obj) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n },\n _isPlainObject(obj) {\n return !!obj && obj.constructor === Object;\n },\n _isArray(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_ARRAY;\n },\n _isNumber(obj) {\n return (Object.prototype.toString.call(obj) === OBJECT_NUMBER &&\n !isNaN(obj) &&\n isFinite(obj));\n },\n _isString(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_STRING;\n },\n _isBoolean(obj) {\n return Object.prototype.toString.call(obj) === OBJECT_BOOLEAN;\n },\n isObject(val) {\n return val instanceof Object;\n },\n isValidSelector(selector) {\n if (typeof selector !== 'string') {\n return false;\n }\n var firstChar = selector[0];\n return (firstChar === '#' ||\n firstChar === '.' ||\n firstChar === firstChar.toUpperCase());\n },\n _sign(number) {\n if (number === 0) {\n return 1;\n }\n if (number > 0) {\n return 1;\n }\n else {\n return -1;\n }\n },\n requestAnimFrame(callback) {\n animQueue.push(callback);\n if (animQueue.length === 1) {\n req(function () {\n const queue = animQueue;\n animQueue = [];\n queue.forEach(function (cb) {\n cb();\n });\n });\n }\n },\n createCanvasElement() {\n var canvas = document.createElement('canvas');\n try {\n canvas.style = canvas.style || {};\n }\n catch (e) { }\n return canvas;\n },\n createImageElement() {\n return document.createElement('img');\n },\n _isInDocument(el) {\n while ((el = el.parentNode)) {\n if (el == document) {\n return true;\n }\n }\n return false;\n },\n _urlToImage(url, callback) {\n var imageObj = exports.Util.createImageElement();\n imageObj.onload = function () {\n callback(imageObj);\n };\n imageObj.src = url;\n },\n _rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n },\n _hexToRgb(hex) {\n hex = hex.replace(HASH, EMPTY_STRING);\n var bigint = parseInt(hex, 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n },\n getRandomColor() {\n var randColor = ((Math.random() * 0xffffff) << 0).toString(16);\n while (randColor.length < 6) {\n randColor = ZERO + randColor;\n }\n return HASH + randColor;\n },\n getRGB(color) {\n var rgb;\n if (color in COLORS) {\n rgb = COLORS[color];\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n };\n }\n else if (color[0] === HASH) {\n return this._hexToRgb(color.substring(1));\n }\n else if (color.substr(0, 4) === RGB_PAREN) {\n rgb = RGB_REGEX.exec(color.replace(/ /g, ''));\n return {\n r: parseInt(rgb[1], 10),\n g: parseInt(rgb[2], 10),\n b: parseInt(rgb[3], 10),\n };\n }\n else {\n return {\n r: 0,\n g: 0,\n b: 0,\n };\n }\n },\n colorToRGBA(str) {\n str = str || 'black';\n return (exports.Util._namedColorToRBA(str) ||\n exports.Util._hex3ColorToRGBA(str) ||\n exports.Util._hex4ColorToRGBA(str) ||\n exports.Util._hex6ColorToRGBA(str) ||\n exports.Util._hex8ColorToRGBA(str) ||\n exports.Util._rgbColorToRGBA(str) ||\n exports.Util._rgbaColorToRGBA(str) ||\n exports.Util._hslColorToRGBA(str));\n },\n _namedColorToRBA(str) {\n var c = COLORS[str.toLowerCase()];\n if (!c) {\n return null;\n }\n return {\n r: c[0],\n g: c[1],\n b: c[2],\n a: 1,\n };\n },\n _rgbColorToRGBA(str) {\n if (str.indexOf('rgb(') === 0) {\n str = str.match(/rgb\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map(Number);\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: 1,\n };\n }\n },\n _rgbaColorToRGBA(str) {\n if (str.indexOf('rgba(') === 0) {\n str = str.match(/rgba\\(([^)]+)\\)/)[1];\n var parts = str.split(/ *, */).map((n, index) => {\n if (n.slice(-1) === '%') {\n return index === 3 ? parseInt(n) / 100 : (parseInt(n) / 100) * 255;\n }\n return Number(n);\n });\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: parts[3],\n };\n }\n },\n _hex8ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 9) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: parseInt(str.slice(7, 9), 16) / 0xff,\n };\n }\n },\n _hex6ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 7) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: 1,\n };\n }\n },\n _hex4ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 5) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: parseInt(str[4] + str[4], 16) / 0xff,\n };\n }\n },\n _hex3ColorToRGBA(str) {\n if (str[0] === '#' && str.length === 4) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: 1,\n };\n }\n },\n _hslColorToRGBA(str) {\n if (/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.test(str)) {\n const [_, ...hsl] = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(str);\n const h = Number(hsl[0]) / 360;\n const s = Number(hsl[1]) / 100;\n const l = Number(hsl[2]) / 100;\n let t2;\n let t3;\n let val;\n if (s === 0) {\n val = l * 255;\n return {\n r: Math.round(val),\n g: Math.round(val),\n b: Math.round(val),\n a: 1,\n };\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n }\n else {\n t2 = l + s - l * s;\n }\n const t1 = 2 * l - t2;\n const rgb = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n t3 = h + (1 / 3) * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n }\n else if (2 * t3 < 1) {\n val = t2;\n }\n else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n }\n else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return {\n r: Math.round(rgb[0]),\n g: Math.round(rgb[1]),\n b: Math.round(rgb[2]),\n a: 1,\n };\n }\n },\n haveIntersection(r1, r2) {\n return !(r2.x > r1.x + r1.width ||\n r2.x + r2.width < r1.x ||\n r2.y > r1.y + r1.height ||\n r2.y + r2.height < r1.y);\n },\n cloneObject(obj) {\n var retObj = {};\n for (var key in obj) {\n if (this._isPlainObject(obj[key])) {\n retObj[key] = this.cloneObject(obj[key]);\n }\n else if (this._isArray(obj[key])) {\n retObj[key] = this.cloneArray(obj[key]);\n }\n else {\n retObj[key] = obj[key];\n }\n }\n return retObj;\n },\n cloneArray(arr) {\n return arr.slice(0);\n },\n degToRad(deg) {\n return deg * PI_OVER_DEG180;\n },\n radToDeg(rad) {\n return rad * DEG180_OVER_PI;\n },\n _degToRad(deg) {\n exports.Util.warn('Util._degToRad is removed. Please use public Util.degToRad instead.');\n return exports.Util.degToRad(deg);\n },\n _radToDeg(rad) {\n exports.Util.warn('Util._radToDeg is removed. Please use public Util.radToDeg instead.');\n return exports.Util.radToDeg(rad);\n },\n _getRotation(radians) {\n return Global_1.Konva.angleDeg ? exports.Util.radToDeg(radians) : radians;\n },\n _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n throw(str) {\n throw new Error(KONVA_ERROR + str);\n },\n error(str) {\n console.error(KONVA_ERROR + str);\n },\n warn(str) {\n if (!Global_1.Konva.showWarnings) {\n return;\n }\n console.warn(KONVA_WARNING + str);\n },\n each(obj, func) {\n for (var key in obj) {\n func(key, obj[key]);\n }\n },\n _inRange(val, left, right) {\n return left <= val && val < right;\n },\n _getProjectionToSegment(x1, y1, x2, y2, x3, y3) {\n var x, y, dist;\n var pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);\n if (pd2 == 0) {\n x = x1;\n y = y1;\n dist = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);\n }\n else {\n var u = ((x3 - x1) * (x2 - x1) + (y3 - y1) * (y2 - y1)) / pd2;\n if (u < 0) {\n x = x1;\n y = y1;\n dist = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);\n }\n else if (u > 1.0) {\n x = x2;\n y = y2;\n dist = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);\n }\n else {\n x = x1 + u * (x2 - x1);\n y = y1 + u * (y2 - y1);\n dist = (x - x3) * (x - x3) + (y - y3) * (y - y3);\n }\n }\n return [x, y, dist];\n },\n _getProjectionToLine(pt, line, isClosed) {\n var pc = exports.Util.cloneObject(pt);\n var dist = Number.MAX_VALUE;\n line.forEach(function (p1, i) {\n if (!isClosed && i === line.length - 1) {\n return;\n }\n var p2 = line[(i + 1) % line.length];\n var proj = exports.Util._getProjectionToSegment(p1.x, p1.y, p2.x, p2.y, pt.x, pt.y);\n var px = proj[0], py = proj[1], pdist = proj[2];\n if (pdist < dist) {\n pc.x = px;\n pc.y = py;\n dist = pdist;\n }\n });\n return pc;\n },\n _prepareArrayForTween(startArray, endArray, isClosed) {\n var n, start = [], end = [];\n if (startArray.length > endArray.length) {\n var temp = endArray;\n endArray = startArray;\n startArray = temp;\n }\n for (n = 0; n < startArray.length; n += 2) {\n start.push({\n x: startArray[n],\n y: startArray[n + 1],\n });\n }\n for (n = 0; n < endArray.length; n += 2) {\n end.push({\n x: endArray[n],\n y: endArray[n + 1],\n });\n }\n var newStart = [];\n end.forEach(function (point) {\n var pr = exports.Util._getProjectionToLine(point, start, isClosed);\n newStart.push(pr.x);\n newStart.push(pr.y);\n });\n return newStart;\n },\n _prepareToStringify(obj) {\n var desc;\n obj.visitedByCircularReferenceRemoval = true;\n for (var key in obj) {\n if (!(obj.hasOwnProperty(key) && obj[key] && typeof obj[key] == 'object')) {\n continue;\n }\n desc = Object.getOwnPropertyDescriptor(obj, key);\n if (obj[key].visitedByCircularReferenceRemoval ||\n exports.Util._isElement(obj[key])) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n else if (exports.Util._prepareToStringify(obj[key]) === null) {\n if (desc.configurable) {\n delete obj[key];\n }\n else {\n return null;\n }\n }\n }\n delete obj.visitedByCircularReferenceRemoval;\n return obj;\n },\n _assign(target, source) {\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n },\n _getFirstPointerId(evt) {\n if (!evt.touches) {\n return evt.pointerId || 999;\n }\n else {\n return evt.changedTouches[0].identifier;\n }\n },\n releaseCanvas(...canvases) {\n if (!Global_1.Konva.releaseCanvasOnDestroy)\n return;\n canvases.forEach((c) => {\n c.width = 0;\n c.height = 0;\n });\n },\n drawRoundedRectPath(context, width, height, cornerRadius) {\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.moveTo(topLeft, 0);\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getComponentValidator = exports.getBooleanValidator = exports.getNumberArrayValidator = exports.getFunctionValidator = exports.getStringOrGradientValidator = exports.getStringValidator = exports.getNumberOrAutoValidator = exports.getNumberOrArrayOfNumbersValidator = exports.getNumberValidator = exports.alphaComponent = exports.RGBComponent = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nfunction _formatValue(val) {\n if (Util_1.Util._isString(val)) {\n return '\"' + val + '\"';\n }\n if (Object.prototype.toString.call(val) === '[object Number]') {\n return val;\n }\n if (Util_1.Util._isBoolean(val)) {\n return val;\n }\n return Object.prototype.toString.call(val);\n}\nfunction RGBComponent(val) {\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n return Math.round(val);\n}\nexports.RGBComponent = RGBComponent;\nfunction alphaComponent(val) {\n if (val > 1) {\n return 1;\n }\n else if (val < 0.0001) {\n return 0.0001;\n }\n return val;\n}\nexports.alphaComponent = alphaComponent;\nfunction getNumberValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isNumber(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number.');\n }\n return val;\n };\n }\n}\nexports.getNumberValidator = getNumberValidator;\nfunction getNumberOrArrayOfNumbersValidator(noOfElements) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n let isNumber = Util_1.Util._isNumber(val);\n let isValidArray = Util_1.Util._isArray(val) && val.length == noOfElements;\n if (!isNumber && !isValidArray) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or Array(' +\n noOfElements +\n ')');\n }\n return val;\n };\n }\n}\nexports.getNumberOrArrayOfNumbersValidator = getNumberOrArrayOfNumbersValidator;\nfunction getNumberOrAutoValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isNumber = Util_1.Util._isNumber(val);\n var isAuto = val === 'auto';\n if (!(isNumber || isAuto)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a number or \"auto\".');\n }\n return val;\n };\n }\n}\nexports.getNumberOrAutoValidator = getNumberOrAutoValidator;\nfunction getStringValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isString(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string.');\n }\n return val;\n };\n }\n}\nexports.getStringValidator = getStringValidator;\nfunction getStringOrGradientValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const isString = Util_1.Util._isString(val);\n const isGradient = Object.prototype.toString.call(val) === '[object CanvasGradient]' ||\n (val && val.addColorStop);\n if (!(isString || isGradient)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a string or a native gradient.');\n }\n return val;\n };\n }\n}\nexports.getStringOrGradientValidator = getStringOrGradientValidator;\nfunction getFunctionValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (!Util_1.Util._isFunction(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a function.');\n }\n return val;\n };\n }\n}\nexports.getFunctionValidator = getFunctionValidator;\nfunction getNumberArrayValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n const TypedArray = Int8Array ? Object.getPrototypeOf(Int8Array) : null;\n if (TypedArray && val instanceof TypedArray) {\n return val;\n }\n if (!Util_1.Util._isArray(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a array of numbers.');\n }\n else {\n val.forEach(function (item) {\n if (!Util_1.Util._isNumber(item)) {\n Util_1.Util.warn('\"' +\n attr +\n '\" attribute has non numeric element ' +\n item +\n '. Make sure that all elements are numbers.');\n }\n });\n }\n return val;\n };\n }\n}\nexports.getNumberArrayValidator = getNumberArrayValidator;\nfunction getBooleanValidator() {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n var isBool = val === true || val === false;\n if (!isBool) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be a boolean.');\n }\n return val;\n };\n }\n}\nexports.getBooleanValidator = getBooleanValidator;\nfunction getComponentValidator(components) {\n if (Global_1.Konva.isUnminified) {\n return function (val, attr) {\n if (val === undefined || val === null) {\n return val;\n }\n if (!Util_1.Util.isObject(val)) {\n Util_1.Util.warn(_formatValue(val) +\n ' is a not valid value for \"' +\n attr +\n '\" attribute. The value should be an object with properties ' +\n components);\n }\n return val;\n };\n }\n}\nexports.getComponentValidator = getComponentValidator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Factory = void 0;\nconst Util_1 = require(\"./Util\");\nconst Validators_1 = require(\"./Validators\");\nvar GET = 'get', SET = 'set';\nexports.Factory = {\n addGetterSetter(constructor, attr, def, validator, after) {\n exports.Factory.addGetter(constructor, attr, def);\n exports.Factory.addSetter(constructor, attr, validator, after);\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addGetter(constructor, attr, def) {\n var method = GET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] =\n constructor.prototype[method] ||\n function () {\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n },\n addSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n if (!constructor.prototype[method]) {\n exports.Factory.overWriteSetter(constructor, attr, validator, after);\n }\n },\n overWriteSetter(constructor, attr, validator, after) {\n var method = SET + Util_1.Util._capitalize(attr);\n constructor.prototype[method] = function (val) {\n if (validator && val !== undefined && val !== null) {\n val = validator.call(this, val, attr);\n }\n this._setAttr(attr, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n },\n addComponentsGetterSetter(constructor, attr, components, validator, after) {\n var len = components.length, capitalize = Util_1.Util._capitalize, getter = GET + capitalize(attr), setter = SET + capitalize(attr), n, component;\n constructor.prototype[getter] = function () {\n var ret = {};\n for (n = 0; n < len; n++) {\n component = components[n];\n ret[component] = this.getAttr(attr + capitalize(component));\n }\n return ret;\n };\n var basicValidator = (0, Validators_1.getComponentValidator)(components);\n constructor.prototype[setter] = function (val) {\n var oldVal = this.attrs[attr], key;\n if (validator) {\n val = validator.call(this, val);\n }\n if (basicValidator) {\n basicValidator.call(this, val, attr);\n }\n for (key in val) {\n if (!val.hasOwnProperty(key)) {\n continue;\n }\n this._setAttr(attr + capitalize(key), val[key]);\n }\n if (!val) {\n components.forEach((component) => {\n this._setAttr(attr + capitalize(component), undefined);\n });\n }\n this._fireChangeEvent(attr, oldVal, val);\n if (after) {\n after.call(this);\n }\n return this;\n };\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n addOverloadedGetterSetter(constructor, attr) {\n var capitalizedAttr = Util_1.Util._capitalize(attr), setter = SET + capitalizedAttr, getter = GET + capitalizedAttr;\n constructor.prototype[attr] = function () {\n if (arguments.length) {\n this[setter](arguments[0]);\n return this;\n }\n return this[getter]();\n };\n },\n addDeprecatedGetterSetter(constructor, attr, def, validator) {\n Util_1.Util.error('Adding deprecated ' + attr);\n var method = GET + Util_1.Util._capitalize(attr);\n var message = attr +\n ' property is deprecated and will be removed soon. Look at Konva change log for more information.';\n constructor.prototype[method] = function () {\n Util_1.Util.error(message);\n var val = this.attrs[attr];\n return val === undefined ? def : val;\n };\n exports.Factory.addSetter(constructor, attr, validator, function () {\n Util_1.Util.error(message);\n });\n exports.Factory.addOverloadedGetterSetter(constructor, attr);\n },\n backCompat(constructor, methods) {\n Util_1.Util.each(methods, function (oldMethodName, newMethodName) {\n var method = constructor.prototype[newMethodName];\n var oldGetter = GET + Util_1.Util._capitalize(oldMethodName);\n var oldSetter = SET + Util_1.Util._capitalize(oldMethodName);\n function deprecated() {\n method.apply(this, arguments);\n Util_1.Util.error('\"' +\n oldMethodName +\n '\" method is deprecated and will be removed soon. Use \"\"' +\n newMethodName +\n '\" instead.');\n }\n constructor.prototype[oldMethodName] = deprecated;\n constructor.prototype[oldGetter] = deprecated;\n constructor.prototype[oldSetter] = deprecated;\n });\n },\n afterSetFilter() {\n this._filterUpToDate = false;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitContext = exports.SceneContext = exports.Context = void 0;\nconst Util_1 = require(\"./Util\");\nconst Global_1 = require(\"./Global\");\nfunction simplifyArray(arr) {\n var retArr = [], len = arr.length, util = Util_1.Util, n, val;\n for (n = 0; n < len; n++) {\n val = arr[n];\n if (util._isNumber(val)) {\n val = Math.round(val * 1000) / 1000;\n }\n else if (!util._isString(val)) {\n val = val + '';\n }\n retArr.push(val);\n }\n return retArr;\n}\nvar COMMA = ',', OPEN_PAREN = '(', CLOSE_PAREN = ')', OPEN_PAREN_BRACKET = '([', CLOSE_BRACKET_PAREN = '])', SEMICOLON = ';', DOUBLE_PAREN = '()', EQUALS = '=', CONTEXT_METHODS = [\n 'arc',\n 'arcTo',\n 'beginPath',\n 'bezierCurveTo',\n 'clearRect',\n 'clip',\n 'closePath',\n 'createLinearGradient',\n 'createPattern',\n 'createRadialGradient',\n 'drawImage',\n 'ellipse',\n 'fill',\n 'fillText',\n 'getImageData',\n 'createImageData',\n 'lineTo',\n 'moveTo',\n 'putImageData',\n 'quadraticCurveTo',\n 'rect',\n 'roundRect',\n 'restore',\n 'rotate',\n 'save',\n 'scale',\n 'setLineDash',\n 'setTransform',\n 'stroke',\n 'strokeText',\n 'transform',\n 'translate',\n];\nvar CONTEXT_PROPERTIES = [\n 'fillStyle',\n 'strokeStyle',\n 'shadowColor',\n 'shadowBlur',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'letterSpacing',\n 'lineCap',\n 'lineDashOffset',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit',\n 'direction',\n 'font',\n 'textAlign',\n 'textBaseline',\n 'globalAlpha',\n 'globalCompositeOperation',\n 'imageSmoothingEnabled',\n];\nconst traceArrMax = 100;\nclass Context {\n constructor(canvas) {\n this.canvas = canvas;\n if (Global_1.Konva.enableTrace) {\n this.traceArr = [];\n this._enableTrace();\n }\n }\n fillShape(shape) {\n if (shape.fillEnabled()) {\n this._fill(shape);\n }\n }\n _fill(shape) {\n }\n strokeShape(shape) {\n if (shape.hasStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n }\n fillStrokeShape(shape) {\n if (shape.attrs.fillAfterStrokeEnabled) {\n this.strokeShape(shape);\n this.fillShape(shape);\n }\n else {\n this.fillShape(shape);\n this.strokeShape(shape);\n }\n }\n getTrace(relaxed, rounded) {\n var traceArr = this.traceArr, len = traceArr.length, str = '', n, trace, method, args;\n for (n = 0; n < len; n++) {\n trace = traceArr[n];\n method = trace.method;\n if (method) {\n args = trace.args;\n str += method;\n if (relaxed) {\n str += DOUBLE_PAREN;\n }\n else {\n if (Util_1.Util._isArray(args[0])) {\n str += OPEN_PAREN_BRACKET + args.join(COMMA) + CLOSE_BRACKET_PAREN;\n }\n else {\n if (rounded) {\n args = args.map((a) => typeof a === 'number' ? Math.floor(a) : a);\n }\n str += OPEN_PAREN + args.join(COMMA) + CLOSE_PAREN;\n }\n }\n }\n else {\n str += trace.property;\n if (!relaxed) {\n str += EQUALS + trace.val;\n }\n }\n str += SEMICOLON;\n }\n return str;\n }\n clearTrace() {\n this.traceArr = [];\n }\n _trace(str) {\n var traceArr = this.traceArr, len;\n traceArr.push(str);\n len = traceArr.length;\n if (len >= traceArrMax) {\n traceArr.shift();\n }\n }\n reset() {\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(1 * pixelRatio, 0, 0, 1 * pixelRatio, 0, 0);\n }\n getCanvas() {\n return this.canvas;\n }\n clear(bounds) {\n var canvas = this.getCanvas();\n if (bounds) {\n this.clearRect(bounds.x || 0, bounds.y || 0, bounds.width || 0, bounds.height || 0);\n }\n else {\n this.clearRect(0, 0, canvas.getWidth() / canvas.pixelRatio, canvas.getHeight() / canvas.pixelRatio);\n }\n }\n _applyLineCap(shape) {\n const lineCap = shape.attrs.lineCap;\n if (lineCap) {\n this.setAttr('lineCap', lineCap);\n }\n }\n _applyOpacity(shape) {\n var absOpacity = shape.getAbsoluteOpacity();\n if (absOpacity !== 1) {\n this.setAttr('globalAlpha', absOpacity);\n }\n }\n _applyLineJoin(shape) {\n const lineJoin = shape.attrs.lineJoin;\n if (lineJoin) {\n this.setAttr('lineJoin', lineJoin);\n }\n }\n setAttr(attr, val) {\n this._context[attr] = val;\n }\n arc(x, y, radius, startAngle, endAngle, counterClockwise) {\n this._context.arc(x, y, radius, startAngle, endAngle, counterClockwise);\n }\n arcTo(x1, y1, x2, y2, radius) {\n this._context.arcTo(x1, y1, x2, y2, radius);\n }\n beginPath() {\n this._context.beginPath();\n }\n bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\n this._context.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n clearRect(x, y, width, height) {\n this._context.clearRect(x, y, width, height);\n }\n clip(...args) {\n this._context.clip.apply(this._context, args);\n }\n closePath() {\n this._context.closePath();\n }\n createImageData(width, height) {\n var a = arguments;\n if (a.length === 2) {\n return this._context.createImageData(width, height);\n }\n else if (a.length === 1) {\n return this._context.createImageData(width);\n }\n }\n createLinearGradient(x0, y0, x1, y1) {\n return this._context.createLinearGradient(x0, y0, x1, y1);\n }\n createPattern(image, repetition) {\n return this._context.createPattern(image, repetition);\n }\n createRadialGradient(x0, y0, r0, x1, y1, r1) {\n return this._context.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) {\n var a = arguments, _context = this._context;\n if (a.length === 3) {\n _context.drawImage(image, sx, sy);\n }\n else if (a.length === 5) {\n _context.drawImage(image, sx, sy, sWidth, sHeight);\n }\n else if (a.length === 9) {\n _context.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);\n }\n }\n ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise) {\n this._context.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise);\n }\n isPointInPath(x, y, path, fillRule) {\n if (path) {\n return this._context.isPointInPath(path, x, y, fillRule);\n }\n return this._context.isPointInPath(x, y, fillRule);\n }\n fill(...args) {\n this._context.fill.apply(this._context, args);\n }\n fillRect(x, y, width, height) {\n this._context.fillRect(x, y, width, height);\n }\n strokeRect(x, y, width, height) {\n this._context.strokeRect(x, y, width, height);\n }\n fillText(text, x, y, maxWidth) {\n if (maxWidth) {\n this._context.fillText(text, x, y, maxWidth);\n }\n else {\n this._context.fillText(text, x, y);\n }\n }\n measureText(text) {\n return this._context.measureText(text);\n }\n getImageData(sx, sy, sw, sh) {\n return this._context.getImageData(sx, sy, sw, sh);\n }\n lineTo(x, y) {\n this._context.lineTo(x, y);\n }\n moveTo(x, y) {\n this._context.moveTo(x, y);\n }\n rect(x, y, width, height) {\n this._context.rect(x, y, width, height);\n }\n roundRect(x, y, width, height, radii) {\n this._context.roundRect(x, y, width, height, radii);\n }\n putImageData(imageData, dx, dy) {\n this._context.putImageData(imageData, dx, dy);\n }\n quadraticCurveTo(cpx, cpy, x, y) {\n this._context.quadraticCurveTo(cpx, cpy, x, y);\n }\n restore() {\n this._context.restore();\n }\n rotate(angle) {\n this._context.rotate(angle);\n }\n save() {\n this._context.save();\n }\n scale(x, y) {\n this._context.scale(x, y);\n }\n setLineDash(segments) {\n if (this._context.setLineDash) {\n this._context.setLineDash(segments);\n }\n else if ('mozDash' in this._context) {\n this._context['mozDash'] = segments;\n }\n else if ('webkitLineDash' in this._context) {\n this._context['webkitLineDash'] = segments;\n }\n }\n getLineDash() {\n return this._context.getLineDash();\n }\n setTransform(a, b, c, d, e, f) {\n this._context.setTransform(a, b, c, d, e, f);\n }\n stroke(path2d) {\n if (path2d) {\n this._context.stroke(path2d);\n }\n else {\n this._context.stroke();\n }\n }\n strokeText(text, x, y, maxWidth) {\n this._context.strokeText(text, x, y, maxWidth);\n }\n transform(a, b, c, d, e, f) {\n this._context.transform(a, b, c, d, e, f);\n }\n translate(x, y) {\n this._context.translate(x, y);\n }\n _enableTrace() {\n var that = this, len = CONTEXT_METHODS.length, origSetter = this.setAttr, n, args;\n var func = function (methodName) {\n var origMethod = that[methodName], ret;\n that[methodName] = function () {\n args = simplifyArray(Array.prototype.slice.call(arguments, 0));\n ret = origMethod.apply(that, arguments);\n that._trace({\n method: methodName,\n args: args,\n });\n return ret;\n };\n };\n for (n = 0; n < len; n++) {\n func(CONTEXT_METHODS[n]);\n }\n that.setAttr = function () {\n origSetter.apply(that, arguments);\n var prop = arguments[0];\n var val = arguments[1];\n if (prop === 'shadowOffsetX' ||\n prop === 'shadowOffsetY' ||\n prop === 'shadowBlur') {\n val = val / this.canvas.getPixelRatio();\n }\n that._trace({\n property: prop,\n val: val,\n });\n };\n }\n _applyGlobalCompositeOperation(node) {\n const op = node.attrs.globalCompositeOperation;\n var def = !op || op === 'source-over';\n if (!def) {\n this.setAttr('globalCompositeOperation', op);\n }\n }\n}\nexports.Context = Context;\nCONTEXT_PROPERTIES.forEach(function (prop) {\n Object.defineProperty(Context.prototype, prop, {\n get() {\n return this._context[prop];\n },\n set(val) {\n this._context[prop] = val;\n },\n });\n});\nclass SceneContext extends Context {\n constructor(canvas, { willReadFrequently = false } = {}) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently,\n });\n }\n _fillColor(shape) {\n var fill = shape.fill();\n this.setAttr('fillStyle', fill);\n shape._fillFunc(this);\n }\n _fillPattern(shape) {\n this.setAttr('fillStyle', shape._getFillPattern());\n shape._fillFunc(this);\n }\n _fillLinearGradient(shape) {\n var grd = shape._getLinearGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fillRadialGradient(shape) {\n const grd = shape._getRadialGradient();\n if (grd) {\n this.setAttr('fillStyle', grd);\n shape._fillFunc(this);\n }\n }\n _fill(shape) {\n const hasColor = shape.fill(), fillPriority = shape.getFillPriority();\n if (hasColor && fillPriority === 'color') {\n this._fillColor(shape);\n return;\n }\n const hasPattern = shape.getFillPatternImage();\n if (hasPattern && fillPriority === 'pattern') {\n this._fillPattern(shape);\n return;\n }\n const hasLinearGradient = shape.getFillLinearGradientColorStops();\n if (hasLinearGradient && fillPriority === 'linear-gradient') {\n this._fillLinearGradient(shape);\n return;\n }\n const hasRadialGradient = shape.getFillRadialGradientColorStops();\n if (hasRadialGradient && fillPriority === 'radial-gradient') {\n this._fillRadialGradient(shape);\n return;\n }\n if (hasColor) {\n this._fillColor(shape);\n }\n else if (hasPattern) {\n this._fillPattern(shape);\n }\n else if (hasLinearGradient) {\n this._fillLinearGradient(shape);\n }\n else if (hasRadialGradient) {\n this._fillRadialGradient(shape);\n }\n }\n _strokeLinearGradient(shape) {\n const start = shape.getStrokeLinearGradientStartPoint(), end = shape.getStrokeLinearGradientEndPoint(), colorStops = shape.getStrokeLinearGradientColorStops(), grd = this.createLinearGradient(start.x, start.y, end.x, end.y);\n if (colorStops) {\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n this.setAttr('strokeStyle', grd);\n }\n }\n _stroke(shape) {\n var dash = shape.dash(), strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (shape.hasStroke()) {\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n if (dash && shape.dashEnabled()) {\n this.setLineDash(dash);\n this.setAttr('lineDashOffset', shape.dashOffset());\n }\n this.setAttr('lineWidth', shape.strokeWidth());\n if (!shape.getShadowForStrokeEnabled()) {\n this.setAttr('shadowColor', 'rgba(0,0,0,0)');\n }\n var hasLinearGradient = shape.getStrokeLinearGradientColorStops();\n if (hasLinearGradient) {\n this._strokeLinearGradient(shape);\n }\n else {\n this.setAttr('strokeStyle', shape.stroke());\n }\n shape._strokeFunc(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n _applyShadow(shape) {\n var _a, _b, _c;\n var color = (_a = shape.getShadowRGBA()) !== null && _a !== void 0 ? _a : 'black', blur = (_b = shape.getShadowBlur()) !== null && _b !== void 0 ? _b : 5, offset = (_c = shape.getShadowOffset()) !== null && _c !== void 0 ? _c : {\n x: 0,\n y: 0,\n }, scale = shape.getAbsoluteScale(), ratio = this.canvas.getPixelRatio(), scaleX = scale.x * ratio, scaleY = scale.y * ratio;\n this.setAttr('shadowColor', color);\n this.setAttr('shadowBlur', blur * Math.min(Math.abs(scaleX), Math.abs(scaleY)));\n this.setAttr('shadowOffsetX', offset.x * scaleX);\n this.setAttr('shadowOffsetY', offset.y * scaleY);\n }\n}\nexports.SceneContext = SceneContext;\nclass HitContext extends Context {\n constructor(canvas) {\n super(canvas);\n this._context = canvas._canvas.getContext('2d', {\n willReadFrequently: true,\n });\n }\n _fill(shape) {\n this.save();\n this.setAttr('fillStyle', shape.colorKey);\n shape._fillFuncHit(this);\n this.restore();\n }\n strokeShape(shape) {\n if (shape.hasHitStroke()) {\n this._stroke(shape);\n }\n }\n _stroke(shape) {\n if (shape.hasHitStroke()) {\n const strokeScaleEnabled = shape.getStrokeScaleEnabled();\n if (!strokeScaleEnabled) {\n this.save();\n var pixelRatio = this.getCanvas().getPixelRatio();\n this.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n }\n this._applyLineCap(shape);\n var hitStrokeWidth = shape.hitStrokeWidth();\n var strokeWidth = hitStrokeWidth === 'auto' ? shape.strokeWidth() : hitStrokeWidth;\n this.setAttr('lineWidth', strokeWidth);\n this.setAttr('strokeStyle', shape.colorKey);\n shape._strokeFuncHit(this);\n if (!strokeScaleEnabled) {\n this.restore();\n }\n }\n }\n}\nexports.HitContext = HitContext;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HitCanvas = exports.SceneCanvas = exports.Canvas = void 0;\nconst Util_1 = require(\"./Util\");\nconst Context_1 = require(\"./Context\");\nconst Global_1 = require(\"./Global\");\nconst Factory_1 = require(\"./Factory\");\nconst Validators_1 = require(\"./Validators\");\nvar _pixelRatio;\nfunction getDevicePixelRatio() {\n if (_pixelRatio) {\n return _pixelRatio;\n }\n var canvas = Util_1.Util.createCanvasElement();\n var context = canvas.getContext('2d');\n _pixelRatio = (function () {\n var devicePixelRatio = Global_1.Konva._global.devicePixelRatio || 1, backingStoreRatio = context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n return devicePixelRatio / backingStoreRatio;\n })();\n Util_1.Util.releaseCanvas(canvas);\n return _pixelRatio;\n}\nclass Canvas {\n constructor(config) {\n this.pixelRatio = 1;\n this.width = 0;\n this.height = 0;\n this.isCache = false;\n var conf = config || {};\n var pixelRatio = conf.pixelRatio || Global_1.Konva.pixelRatio || getDevicePixelRatio();\n this.pixelRatio = pixelRatio;\n this._canvas = Util_1.Util.createCanvasElement();\n this._canvas.style.padding = '0';\n this._canvas.style.margin = '0';\n this._canvas.style.border = '0';\n this._canvas.style.background = 'transparent';\n this._canvas.style.position = 'absolute';\n this._canvas.style.top = '0';\n this._canvas.style.left = '0';\n }\n getContext() {\n return this.context;\n }\n getPixelRatio() {\n return this.pixelRatio;\n }\n setPixelRatio(pixelRatio) {\n var previousRatio = this.pixelRatio;\n this.pixelRatio = pixelRatio;\n this.setSize(this.getWidth() / previousRatio, this.getHeight() / previousRatio);\n }\n setWidth(width) {\n this.width = this._canvas.width = width * this.pixelRatio;\n this._canvas.style.width = width + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n setHeight(height) {\n this.height = this._canvas.height = height * this.pixelRatio;\n this._canvas.style.height = height + 'px';\n var pixelRatio = this.pixelRatio, _context = this.getContext()._context;\n _context.scale(pixelRatio, pixelRatio);\n }\n getWidth() {\n return this.width;\n }\n getHeight() {\n return this.height;\n }\n setSize(width, height) {\n this.setWidth(width || 0);\n this.setHeight(height || 0);\n }\n toDataURL(mimeType, quality) {\n try {\n return this._canvas.toDataURL(mimeType, quality);\n }\n catch (e) {\n try {\n return this._canvas.toDataURL();\n }\n catch (err) {\n Util_1.Util.error('Unable to get data URL. ' +\n err.message +\n ' For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n return '';\n }\n }\n }\n}\nexports.Canvas = Canvas;\nFactory_1.Factory.addGetterSetter(Canvas, 'pixelRatio', undefined, (0, Validators_1.getNumberValidator)());\nclass SceneCanvas extends Canvas {\n constructor(config = { width: 0, height: 0, willReadFrequently: false }) {\n super(config);\n this.context = new Context_1.SceneContext(this, {\n willReadFrequently: config.willReadFrequently,\n });\n this.setSize(config.width, config.height);\n }\n}\nexports.SceneCanvas = SceneCanvas;\nclass HitCanvas extends Canvas {\n constructor(config = { width: 0, height: 0 }) {\n super(config);\n this.hitCanvas = true;\n this.context = new Context_1.HitContext(this);\n this.setSize(config.width, config.height);\n }\n}\nexports.HitCanvas = HitCanvas;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DD = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nexports.DD = {\n get isDragging() {\n var flag = false;\n exports.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus === 'dragging') {\n flag = true;\n }\n });\n return flag;\n },\n justDragged: false,\n get node() {\n var node;\n exports.DD._dragElements.forEach((elem) => {\n node = elem.node;\n });\n return node;\n },\n _dragElements: new Map(),\n _drag(evt) {\n const nodesToFireEvents = [];\n exports.DD._dragElements.forEach((elem, key) => {\n const { node } = elem;\n const stage = node.getStage();\n stage.setPointersPositions(evt);\n if (elem.pointerId === undefined) {\n elem.pointerId = Util_1.Util._getFirstPointerId(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus !== 'dragging') {\n var dragDistance = node.dragDistance();\n var distance = Math.max(Math.abs(pos.x - elem.startPointerPos.x), Math.abs(pos.y - elem.startPointerPos.y));\n if (distance < dragDistance) {\n return;\n }\n node.startDrag({ evt });\n if (!node.isDragging()) {\n return;\n }\n }\n node._setDragPosition(evt, elem);\n nodesToFireEvents.push(node);\n });\n nodesToFireEvents.forEach((node) => {\n node.fire('dragmove', {\n type: 'dragmove',\n target: node,\n evt: evt,\n }, true);\n });\n },\n _endDragBefore(evt) {\n const drawNodes = [];\n exports.DD._dragElements.forEach((elem) => {\n const { node } = elem;\n const stage = node.getStage();\n if (evt) {\n stage.setPointersPositions(evt);\n }\n const pos = stage._changedPointerPositions.find((pos) => pos.id === elem.pointerId);\n if (!pos) {\n return;\n }\n if (elem.dragStatus === 'dragging' || elem.dragStatus === 'stopped') {\n exports.DD.justDragged = true;\n Global_1.Konva._mouseListenClick = false;\n Global_1.Konva._touchListenClick = false;\n Global_1.Konva._pointerListenClick = false;\n elem.dragStatus = 'stopped';\n }\n const drawNode = elem.node.getLayer() ||\n (elem.node instanceof Global_1.Konva['Stage'] && elem.node);\n if (drawNode && drawNodes.indexOf(drawNode) === -1) {\n drawNodes.push(drawNode);\n }\n });\n drawNodes.forEach((drawNode) => {\n drawNode.draw();\n });\n },\n _endDragAfter(evt) {\n exports.DD._dragElements.forEach((elem, key) => {\n if (elem.dragStatus === 'stopped') {\n elem.node.fire('dragend', {\n type: 'dragend',\n target: elem.node,\n evt: evt,\n }, true);\n }\n if (elem.dragStatus !== 'dragging') {\n exports.DD._dragElements.delete(key);\n }\n });\n },\n};\nif (Global_1.Konva.isBrowser) {\n window.addEventListener('mouseup', exports.DD._endDragBefore, true);\n window.addEventListener('touchend', exports.DD._endDragBefore, true);\n window.addEventListener('mousemove', exports.DD._drag);\n window.addEventListener('touchmove', exports.DD._drag);\n window.addEventListener('mouseup', exports.DD._endDragAfter, false);\n window.addEventListener('touchend', exports.DD._endDragAfter, false);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Global_1 = require(\"./Global\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Validators_1 = require(\"./Validators\");\nvar ABSOLUTE_OPACITY = 'absoluteOpacity', ALL_LISTENERS = 'allEventListeners', ABSOLUTE_TRANSFORM = 'absoluteTransform', ABSOLUTE_SCALE = 'absoluteScale', CANVAS = 'canvas', CHANGE = 'Change', CHILDREN = 'children', KONVA = 'konva', LISTENING = 'listening', MOUSEENTER = 'mouseenter', MOUSELEAVE = 'mouseleave', NAME = 'name', SET = 'set', SHAPE = 'Shape', SPACE = ' ', STAGE = 'stage', TRANSFORM = 'transform', UPPER_STAGE = 'Stage', VISIBLE = 'visible', TRANSFORM_CHANGE_STR = [\n 'xChange.konva',\n 'yChange.konva',\n 'scaleXChange.konva',\n 'scaleYChange.konva',\n 'skewXChange.konva',\n 'skewYChange.konva',\n 'rotationChange.konva',\n 'offsetXChange.konva',\n 'offsetYChange.konva',\n 'transformsEnabledChange.konva',\n].join(SPACE);\nlet idCounter = 1;\nclass Node {\n constructor(config) {\n this._id = idCounter++;\n this.eventListeners = {};\n this.attrs = {};\n this.index = 0;\n this._allEventListeners = null;\n this.parent = null;\n this._cache = new Map();\n this._attachedDepsListeners = new Map();\n this._lastPos = null;\n this._batchingTransformChange = false;\n this._needClearTransformCache = false;\n this._filterUpToDate = false;\n this._isUnderCache = false;\n this._dragEventId = null;\n this._shouldFireChangeEvents = false;\n this.setAttrs(config);\n this._shouldFireChangeEvents = true;\n }\n hasChildren() {\n return false;\n }\n _clearCache(attr) {\n if ((attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM) &&\n this._cache.get(attr)) {\n this._cache.get(attr).dirty = true;\n }\n else if (attr) {\n this._cache.delete(attr);\n }\n else {\n this._cache.clear();\n }\n }\n _getCache(attr, privateGetter) {\n var cache = this._cache.get(attr);\n var isTransform = attr === TRANSFORM || attr === ABSOLUTE_TRANSFORM;\n var invalid = cache === undefined || (isTransform && cache.dirty === true);\n if (invalid) {\n cache = privateGetter.call(this);\n this._cache.set(attr, cache);\n }\n return cache;\n }\n _calculate(name, deps, getter) {\n if (!this._attachedDepsListeners.get(name)) {\n const depsString = deps.map((dep) => dep + 'Change.konva').join(SPACE);\n this.on(depsString, () => {\n this._clearCache(name);\n });\n this._attachedDepsListeners.set(name, true);\n }\n return this._getCache(name, getter);\n }\n _getCanvasCache() {\n return this._cache.get(CANVAS);\n }\n _clearSelfAndDescendantCache(attr) {\n this._clearCache(attr);\n if (attr === ABSOLUTE_TRANSFORM) {\n this.fire('absoluteTransformChange');\n }\n }\n clearCache() {\n if (this._cache.has(CANVAS)) {\n const { scene, filter, hit } = this._cache.get(CANVAS);\n Util_1.Util.releaseCanvas(scene, filter, hit);\n this._cache.delete(CANVAS);\n }\n this._clearSelfAndDescendantCache();\n this._requestDraw();\n return this;\n }\n cache(config) {\n var conf = config || {};\n var rect = {};\n if (conf.x === undefined ||\n conf.y === undefined ||\n conf.width === undefined ||\n conf.height === undefined) {\n rect = this.getClientRect({\n skipTransform: true,\n relativeTo: this.getParent() || undefined,\n });\n }\n var width = Math.ceil(conf.width || rect.width), height = Math.ceil(conf.height || rect.height), pixelRatio = conf.pixelRatio, x = conf.x === undefined ? Math.floor(rect.x) : conf.x, y = conf.y === undefined ? Math.floor(rect.y) : conf.y, offset = conf.offset || 0, drawBorder = conf.drawBorder || false, hitCanvasPixelRatio = conf.hitCanvasPixelRatio || 1;\n if (!width || !height) {\n Util_1.Util.error('Can not cache the node. Width or height of the node equals 0. Caching is skipped.');\n return;\n }\n const extraPaddingX = Math.abs(Math.round(rect.x) - x) > 0.5 ? 1 : 0;\n const extraPaddingY = Math.abs(Math.round(rect.y) - y) > 0.5 ? 1 : 0;\n width += offset * 2 + extraPaddingX;\n height += offset * 2 + extraPaddingY;\n x -= offset;\n y -= offset;\n var cachedSceneCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: width,\n height: height,\n }), cachedFilterCanvas = new Canvas_1.SceneCanvas({\n pixelRatio: pixelRatio,\n width: 0,\n height: 0,\n willReadFrequently: true,\n }), cachedHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: hitCanvasPixelRatio,\n width: width,\n height: height,\n }), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();\n cachedHitCanvas.isCache = true;\n cachedSceneCanvas.isCache = true;\n this._cache.delete(CANVAS);\n this._filterUpToDate = false;\n if (conf.imageSmoothingEnabled === false) {\n cachedSceneCanvas.getContext()._context.imageSmoothingEnabled = false;\n cachedFilterCanvas.getContext()._context.imageSmoothingEnabled = false;\n }\n sceneContext.save();\n hitContext.save();\n sceneContext.translate(-x, -y);\n hitContext.translate(-x, -y);\n this._isUnderCache = true;\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this.drawScene(cachedSceneCanvas, this);\n this.drawHit(cachedHitCanvas, this);\n this._isUnderCache = false;\n sceneContext.restore();\n hitContext.restore();\n if (drawBorder) {\n sceneContext.save();\n sceneContext.beginPath();\n sceneContext.rect(0, 0, width, height);\n sceneContext.closePath();\n sceneContext.setAttr('strokeStyle', 'red');\n sceneContext.setAttr('lineWidth', 5);\n sceneContext.stroke();\n sceneContext.restore();\n }\n this._cache.set(CANVAS, {\n scene: cachedSceneCanvas,\n filter: cachedFilterCanvas,\n hit: cachedHitCanvas,\n x: x,\n y: y,\n });\n this._requestDraw();\n return this;\n }\n isCached() {\n return this._cache.has(CANVAS);\n }\n getClientRect(config) {\n throw new Error('abstract \"getClientRect\" method call');\n }\n _transformedRect(rect, top) {\n var points = [\n { x: rect.x, y: rect.y },\n { x: rect.x + rect.width, y: rect.y },\n { x: rect.x + rect.width, y: rect.y + rect.height },\n { x: rect.x, y: rect.y + rect.height },\n ];\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n var trans = this.getAbsoluteTransform(top);\n points.forEach(function (point) {\n var transformed = trans.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n _drawCachedSceneCanvas(context) {\n context.save();\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n const canvasCache = this._getCanvasCache();\n context.translate(canvasCache.x, canvasCache.y);\n var cacheCanvas = this._getCachedSceneCanvas();\n var ratio = cacheCanvas.pixelRatio;\n context.drawImage(cacheCanvas._canvas, 0, 0, cacheCanvas.width / ratio, cacheCanvas.height / ratio);\n context.restore();\n }\n _drawCachedHitCanvas(context) {\n var canvasCache = this._getCanvasCache(), hitCanvas = canvasCache.hit;\n context.save();\n context.translate(canvasCache.x, canvasCache.y);\n context.drawImage(hitCanvas._canvas, 0, 0, hitCanvas.width / hitCanvas.pixelRatio, hitCanvas.height / hitCanvas.pixelRatio);\n context.restore();\n }\n _getCachedSceneCanvas() {\n var filters = this.filters(), cachedCanvas = this._getCanvasCache(), sceneCanvas = cachedCanvas.scene, filterCanvas = cachedCanvas.filter, filterContext = filterCanvas.getContext(), len, imageData, n, filter;\n if (filters) {\n if (!this._filterUpToDate) {\n var ratio = sceneCanvas.pixelRatio;\n filterCanvas.setSize(sceneCanvas.width / sceneCanvas.pixelRatio, sceneCanvas.height / sceneCanvas.pixelRatio);\n try {\n len = filters.length;\n filterContext.clear();\n filterContext.drawImage(sceneCanvas._canvas, 0, 0, sceneCanvas.getWidth() / ratio, sceneCanvas.getHeight() / ratio);\n imageData = filterContext.getImageData(0, 0, filterCanvas.getWidth(), filterCanvas.getHeight());\n for (n = 0; n < len; n++) {\n filter = filters[n];\n if (typeof filter !== 'function') {\n Util_1.Util.error('Filter should be type of function, but got ' +\n typeof filter +\n ' instead. Please check correct filters');\n continue;\n }\n filter.call(this, imageData);\n filterContext.putImageData(imageData, 0, 0);\n }\n }\n catch (e) {\n Util_1.Util.error('Unable to apply filter. ' +\n e.message +\n ' This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.');\n }\n this._filterUpToDate = true;\n }\n return filterCanvas;\n }\n return sceneCanvas;\n }\n on(evtStr, handler) {\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (arguments.length === 3) {\n return this._delegate.apply(this, arguments);\n }\n var events = evtStr.split(SPACE), len = events.length, n, event, parts, baseEvent, name;\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1] || '';\n if (!this.eventListeners[baseEvent]) {\n this.eventListeners[baseEvent] = [];\n }\n this.eventListeners[baseEvent].push({\n name: name,\n handler: handler,\n });\n }\n return this;\n }\n off(evtStr, callback) {\n var events = (evtStr || '').split(SPACE), len = events.length, n, t, event, parts, baseEvent, name;\n this._cache && this._cache.delete(ALL_LISTENERS);\n if (!evtStr) {\n for (t in this.eventListeners) {\n this._off(t);\n }\n }\n for (n = 0; n < len; n++) {\n event = events[n];\n parts = event.split('.');\n baseEvent = parts[0];\n name = parts[1];\n if (baseEvent) {\n if (this.eventListeners[baseEvent]) {\n this._off(baseEvent, name, callback);\n }\n }\n else {\n for (t in this.eventListeners) {\n this._off(t, name, callback);\n }\n }\n }\n return this;\n }\n dispatchEvent(evt) {\n var e = {\n target: this,\n type: evt.type,\n evt: evt,\n };\n this.fire(evt.type, e);\n return this;\n }\n addEventListener(type, handler) {\n this.on(type, function (evt) {\n handler.call(this, evt.evt);\n });\n return this;\n }\n removeEventListener(type) {\n this.off(type);\n return this;\n }\n _delegate(event, selector, handler) {\n var stopNode = this;\n this.on(event, function (evt) {\n var targets = evt.target.findAncestors(selector, true, stopNode);\n for (var i = 0; i < targets.length; i++) {\n evt = Util_1.Util.cloneObject(evt);\n evt.currentTarget = targets[i];\n handler.call(targets[i], evt);\n }\n });\n }\n remove() {\n if (this.isDragging()) {\n this.stopDrag();\n }\n DragAndDrop_1.DD._dragElements.delete(this._id);\n this._remove();\n return this;\n }\n _clearCaches() {\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n this._clearSelfAndDescendantCache(ABSOLUTE_SCALE);\n this._clearSelfAndDescendantCache(STAGE);\n this._clearSelfAndDescendantCache(VISIBLE);\n this._clearSelfAndDescendantCache(LISTENING);\n }\n _remove() {\n this._clearCaches();\n var parent = this.getParent();\n if (parent && parent.children) {\n parent.children.splice(this.index, 1);\n parent._setChildrenIndices();\n this.parent = null;\n }\n }\n destroy() {\n this.remove();\n this.clearCache();\n return this;\n }\n getAttr(attr) {\n var method = 'get' + Util_1.Util._capitalize(attr);\n if (Util_1.Util._isFunction(this[method])) {\n return this[method]();\n }\n return this.attrs[attr];\n }\n getAncestors() {\n var parent = this.getParent(), ancestors = [];\n while (parent) {\n ancestors.push(parent);\n parent = parent.getParent();\n }\n return ancestors;\n }\n getAttrs() {\n return (this.attrs || {});\n }\n setAttrs(config) {\n this._batchTransformChanges(() => {\n var key, method;\n if (!config) {\n return this;\n }\n for (key in config) {\n if (key === CHILDREN) {\n continue;\n }\n method = SET + Util_1.Util._capitalize(key);\n if (Util_1.Util._isFunction(this[method])) {\n this[method](config[key]);\n }\n else {\n this._setAttr(key, config[key]);\n }\n }\n });\n return this;\n }\n isListening() {\n return this._getCache(LISTENING, this._isListening);\n }\n _isListening(relativeTo) {\n const listening = this.listening();\n if (!listening) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isListening(relativeTo);\n }\n else {\n return true;\n }\n }\n isVisible() {\n return this._getCache(VISIBLE, this._isVisible);\n }\n _isVisible(relativeTo) {\n const visible = this.visible();\n if (!visible) {\n return false;\n }\n const parent = this.getParent();\n if (parent && parent !== relativeTo && this !== relativeTo) {\n return parent._isVisible(relativeTo);\n }\n else {\n return true;\n }\n }\n shouldDrawHit(top, skipDragCheck = false) {\n if (top) {\n return this._isVisible(top) && this._isListening(top);\n }\n var layer = this.getLayer();\n var layerUnderDrag = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (elem.dragStatus !== 'dragging') {\n return;\n }\n else if (elem.node.nodeType === 'Stage') {\n layerUnderDrag = true;\n }\n else if (elem.node.getLayer() === layer) {\n layerUnderDrag = true;\n }\n });\n var dragSkip = !skipDragCheck &&\n !Global_1.Konva.hitOnDragEnabled &&\n (layerUnderDrag || Global_1.Konva.isTransforming());\n return this.isListening() && this.isVisible() && !dragSkip;\n }\n show() {\n this.visible(true);\n return this;\n }\n hide() {\n this.visible(false);\n return this;\n }\n getZIndex() {\n return this.index || 0;\n }\n getAbsoluteZIndex() {\n var depth = this.getDepth(), that = this, index = 0, nodes, len, n, child;\n function addChildren(children) {\n nodes = [];\n len = children.length;\n for (n = 0; n < len; n++) {\n child = children[n];\n index++;\n if (child.nodeType !== SHAPE) {\n nodes = nodes.concat(child.getChildren().slice());\n }\n if (child._id === that._id) {\n n = len;\n }\n }\n if (nodes.length > 0 && nodes[0].getDepth() <= depth) {\n addChildren(nodes);\n }\n }\n const stage = this.getStage();\n if (that.nodeType !== UPPER_STAGE && stage) {\n addChildren(stage.getChildren());\n }\n return index;\n }\n getDepth() {\n var depth = 0, parent = this.parent;\n while (parent) {\n depth++;\n parent = parent.parent;\n }\n return depth;\n }\n _batchTransformChanges(func) {\n this._batchingTransformChange = true;\n func();\n this._batchingTransformChange = false;\n if (this._needClearTransformCache) {\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n }\n this._needClearTransformCache = false;\n }\n setPosition(pos) {\n this._batchTransformChanges(() => {\n this.x(pos.x);\n this.y(pos.y);\n });\n return this;\n }\n getPosition() {\n return {\n x: this.x(),\n y: this.y(),\n };\n }\n getRelativePointerPosition() {\n const stage = this.getStage();\n if (!stage) {\n return null;\n }\n var pos = stage.getPointerPosition();\n if (!pos) {\n return null;\n }\n var transform = this.getAbsoluteTransform().copy();\n transform.invert();\n return transform.point(pos);\n }\n getAbsolutePosition(top) {\n let haveCachedParent = false;\n let parent = this.parent;\n while (parent) {\n if (parent.isCached()) {\n haveCachedParent = true;\n break;\n }\n parent = parent.parent;\n }\n if (haveCachedParent && !top) {\n top = true;\n }\n var absoluteMatrix = this.getAbsoluteTransform(top).getMatrix(), absoluteTransform = new Util_1.Transform(), offset = this.offset();\n absoluteTransform.m = absoluteMatrix.slice();\n absoluteTransform.translate(offset.x, offset.y);\n return absoluteTransform.getTranslation();\n }\n setAbsolutePosition(pos) {\n const { x, y, ...origTrans } = this._clearTransform();\n this.attrs.x = x;\n this.attrs.y = y;\n this._clearCache(TRANSFORM);\n var it = this._getAbsoluteTransform().copy();\n it.invert();\n it.translate(pos.x, pos.y);\n pos = {\n x: this.attrs.x + it.getTranslation().x,\n y: this.attrs.y + it.getTranslation().y,\n };\n this._setTransform(origTrans);\n this.setPosition({ x: pos.x, y: pos.y });\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n return this;\n }\n _setTransform(trans) {\n var key;\n for (key in trans) {\n this.attrs[key] = trans[key];\n }\n }\n _clearTransform() {\n var trans = {\n x: this.x(),\n y: this.y(),\n rotation: this.rotation(),\n scaleX: this.scaleX(),\n scaleY: this.scaleY(),\n offsetX: this.offsetX(),\n offsetY: this.offsetY(),\n skewX: this.skewX(),\n skewY: this.skewY(),\n };\n this.attrs.x = 0;\n this.attrs.y = 0;\n this.attrs.rotation = 0;\n this.attrs.scaleX = 1;\n this.attrs.scaleY = 1;\n this.attrs.offsetX = 0;\n this.attrs.offsetY = 0;\n this.attrs.skewX = 0;\n this.attrs.skewY = 0;\n return trans;\n }\n move(change) {\n var changeX = change.x, changeY = change.y, x = this.x(), y = this.y();\n if (changeX !== undefined) {\n x += changeX;\n }\n if (changeY !== undefined) {\n y += changeY;\n }\n this.setPosition({ x: x, y: y });\n return this;\n }\n _eachAncestorReverse(func, top) {\n var family = [], parent = this.getParent(), len, n;\n if (top && top._id === this._id) {\n return;\n }\n family.unshift(this);\n while (parent && (!top || parent._id !== top._id)) {\n family.unshift(parent);\n parent = parent.parent;\n }\n len = family.length;\n for (n = 0; n < len; n++) {\n func(family[n]);\n }\n }\n rotate(theta) {\n this.rotation(this.rotation() + theta);\n return this;\n }\n moveToTop() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToTop function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.push(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveUp() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveUp function is ignored.');\n return false;\n }\n var index = this.index, len = this.parent.getChildren().length;\n if (index < len - 1) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index + 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveDown() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveDown function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.splice(index - 1, 0, this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. moveToBottom function is ignored.');\n return false;\n }\n var index = this.index;\n if (index > 0) {\n this.parent.children.splice(index, 1);\n this.parent.children.unshift(this);\n this.parent._setChildrenIndices();\n return true;\n }\n return false;\n }\n setZIndex(zIndex) {\n if (!this.parent) {\n Util_1.Util.warn('Node has no parent. zIndex parameter is ignored.');\n return this;\n }\n if (zIndex < 0 || zIndex >= this.parent.children.length) {\n Util_1.Util.warn('Unexpected value ' +\n zIndex +\n ' for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to ' +\n (this.parent.children.length - 1) +\n '.');\n }\n var index = this.index;\n this.parent.children.splice(index, 1);\n this.parent.children.splice(zIndex, 0, this);\n this.parent._setChildrenIndices();\n return this;\n }\n getAbsoluteOpacity() {\n return this._getCache(ABSOLUTE_OPACITY, this._getAbsoluteOpacity);\n }\n _getAbsoluteOpacity() {\n var absOpacity = this.opacity();\n var parent = this.getParent();\n if (parent && !parent._isUnderCache) {\n absOpacity *= parent.getAbsoluteOpacity();\n }\n return absOpacity;\n }\n moveTo(newContainer) {\n if (this.getParent() !== newContainer) {\n this._remove();\n newContainer.add(this);\n }\n return this;\n }\n toObject() {\n var attrs = this.getAttrs(), key, val, getter, defaultValue, nonPlainObject;\n const obj = {\n attrs: {},\n className: this.getClassName(),\n };\n for (key in attrs) {\n val = attrs[key];\n nonPlainObject =\n Util_1.Util.isObject(val) && !Util_1.Util._isPlainObject(val) && !Util_1.Util._isArray(val);\n if (nonPlainObject) {\n continue;\n }\n getter = typeof this[key] === 'function' && this[key];\n delete attrs[key];\n defaultValue = getter ? getter.call(this) : null;\n attrs[key] = val;\n if (defaultValue !== val) {\n obj.attrs[key] = val;\n }\n }\n return Util_1.Util._prepareToStringify(obj);\n }\n toJSON() {\n return JSON.stringify(this.toObject());\n }\n getParent() {\n return this.parent;\n }\n findAncestors(selector, includeSelf, stopNode) {\n var res = [];\n if (includeSelf && this._isMatch(selector)) {\n res.push(this);\n }\n var ancestor = this.parent;\n while (ancestor) {\n if (ancestor === stopNode) {\n return res;\n }\n if (ancestor._isMatch(selector)) {\n res.push(ancestor);\n }\n ancestor = ancestor.parent;\n }\n return res;\n }\n isAncestorOf(node) {\n return false;\n }\n findAncestor(selector, includeSelf, stopNode) {\n return this.findAncestors(selector, includeSelf, stopNode)[0];\n }\n _isMatch(selector) {\n if (!selector) {\n return false;\n }\n if (typeof selector === 'function') {\n return selector(this);\n }\n var selectorArr = selector.replace(/ /g, '').split(','), len = selectorArr.length, n, sel;\n for (n = 0; n < len; n++) {\n sel = selectorArr[n];\n if (!Util_1.Util.isValidSelector(sel)) {\n Util_1.Util.warn('Selector \"' +\n sel +\n '\" is invalid. Allowed selectors examples are \"#foo\", \".bar\" or \"Group\".');\n Util_1.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like \"Triangle\".');\n Util_1.Util.warn('Konva is awesome, right?');\n }\n if (sel.charAt(0) === '#') {\n if (this.id() === sel.slice(1)) {\n return true;\n }\n }\n else if (sel.charAt(0) === '.') {\n if (this.hasName(sel.slice(1))) {\n return true;\n }\n }\n else if (this.className === sel || this.nodeType === sel) {\n return true;\n }\n }\n return false;\n }\n getLayer() {\n var parent = this.getParent();\n return parent ? parent.getLayer() : null;\n }\n getStage() {\n return this._getCache(STAGE, this._getStage);\n }\n _getStage() {\n var parent = this.getParent();\n if (parent) {\n return parent.getStage();\n }\n else {\n return null;\n }\n }\n fire(eventType, evt = {}, bubble) {\n evt.target = evt.target || this;\n if (bubble) {\n this._fireAndBubble(eventType, evt);\n }\n else {\n this._fire(eventType, evt);\n }\n return this;\n }\n getAbsoluteTransform(top) {\n if (top) {\n return this._getAbsoluteTransform(top);\n }\n else {\n return this._getCache(ABSOLUTE_TRANSFORM, this._getAbsoluteTransform);\n }\n }\n _getAbsoluteTransform(top) {\n var at;\n if (top) {\n at = new Util_1.Transform();\n this._eachAncestorReverse(function (node) {\n var transformsEnabled = node.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(node.getTransform());\n }\n else if (transformsEnabled === 'position') {\n at.translate(node.x() - node.offsetX(), node.y() - node.offsetY());\n }\n }, top);\n return at;\n }\n else {\n at = this._cache.get(ABSOLUTE_TRANSFORM) || new Util_1.Transform();\n if (this.parent) {\n this.parent.getAbsoluteTransform().copyInto(at);\n }\n else {\n at.reset();\n }\n var transformsEnabled = this.transformsEnabled();\n if (transformsEnabled === 'all') {\n at.multiply(this.getTransform());\n }\n else if (transformsEnabled === 'position') {\n const x = this.attrs.x || 0;\n const y = this.attrs.y || 0;\n const offsetX = this.attrs.offsetX || 0;\n const offsetY = this.attrs.offsetY || 0;\n at.translate(x - offsetX, y - offsetY);\n }\n at.dirty = false;\n return at;\n }\n }\n getAbsoluteScale(top) {\n var parent = this;\n while (parent) {\n if (parent._isUnderCache) {\n top = parent;\n }\n parent = parent.getParent();\n }\n const transform = this.getAbsoluteTransform(top);\n const attrs = transform.decompose();\n return {\n x: attrs.scaleX,\n y: attrs.scaleY,\n };\n }\n getAbsoluteRotation() {\n return this.getAbsoluteTransform().decompose().rotation;\n }\n getTransform() {\n return this._getCache(TRANSFORM, this._getTransform);\n }\n _getTransform() {\n var _a, _b;\n var m = this._cache.get(TRANSFORM) || new Util_1.Transform();\n m.reset();\n var x = this.x(), y = this.y(), rotation = Global_1.Konva.getAngle(this.rotation()), scaleX = (_a = this.attrs.scaleX) !== null && _a !== void 0 ? _a : 1, scaleY = (_b = this.attrs.scaleY) !== null && _b !== void 0 ? _b : 1, skewX = this.attrs.skewX || 0, skewY = this.attrs.skewY || 0, offsetX = this.attrs.offsetX || 0, offsetY = this.attrs.offsetY || 0;\n if (x !== 0 || y !== 0) {\n m.translate(x, y);\n }\n if (rotation !== 0) {\n m.rotate(rotation);\n }\n if (skewX !== 0 || skewY !== 0) {\n m.skew(skewX, skewY);\n }\n if (scaleX !== 1 || scaleY !== 1) {\n m.scale(scaleX, scaleY);\n }\n if (offsetX !== 0 || offsetY !== 0) {\n m.translate(-1 * offsetX, -1 * offsetY);\n }\n m.dirty = false;\n return m;\n }\n clone(obj) {\n var attrs = Util_1.Util.cloneObject(this.attrs), key, allListeners, len, n, listener;\n for (key in obj) {\n attrs[key] = obj[key];\n }\n var node = new this.constructor(attrs);\n for (key in this.eventListeners) {\n allListeners = this.eventListeners[key];\n len = allListeners.length;\n for (n = 0; n < len; n++) {\n listener = allListeners[n];\n if (listener.name.indexOf(KONVA) < 0) {\n if (!node.eventListeners[key]) {\n node.eventListeners[key] = [];\n }\n node.eventListeners[key].push(listener);\n }\n }\n }\n return node;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n var box = this.getClientRect();\n var stage = this.getStage(), x = config.x !== undefined ? config.x : Math.floor(box.x), y = config.y !== undefined ? config.y : Math.floor(box.y), pixelRatio = config.pixelRatio || 1, canvas = new Canvas_1.SceneCanvas({\n width: config.width || Math.ceil(box.width) || (stage ? stage.width() : 0),\n height: config.height ||\n Math.ceil(box.height) ||\n (stage ? stage.height() : 0),\n pixelRatio: pixelRatio,\n }), context = canvas.getContext();\n const bufferCanvas = new Canvas_1.SceneCanvas({\n width: canvas.width / canvas.pixelRatio + Math.abs(x),\n height: canvas.height / canvas.pixelRatio + Math.abs(y),\n pixelRatio: canvas.pixelRatio,\n });\n if (config.imageSmoothingEnabled === false) {\n context._context.imageSmoothingEnabled = false;\n }\n context.save();\n if (x || y) {\n context.translate(-1 * x, -1 * y);\n }\n this.drawScene(canvas, undefined, bufferCanvas);\n context.restore();\n return canvas;\n }\n toCanvas(config) {\n return this._toKonvaCanvas(config)._canvas;\n }\n toDataURL(config) {\n config = config || {};\n var mimeType = config.mimeType || null, quality = config.quality || null;\n var url = this._toKonvaCanvas(config).toDataURL(mimeType, quality);\n if (config.callback) {\n config.callback(url);\n }\n return url;\n }\n toImage(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n Util_1.Util._urlToImage(this.toDataURL(config), function (img) {\n resolve(img);\n callback === null || callback === void 0 ? void 0 : callback(img);\n });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n toBlob(config) {\n return new Promise((resolve, reject) => {\n try {\n const callback = config === null || config === void 0 ? void 0 : config.callback;\n if (callback)\n delete config.callback;\n this.toCanvas(config).toBlob((blob) => {\n resolve(blob);\n callback === null || callback === void 0 ? void 0 : callback(blob);\n }, config === null || config === void 0 ? void 0 : config.mimeType, config === null || config === void 0 ? void 0 : config.quality);\n }\n catch (err) {\n reject(err);\n }\n });\n }\n setSize(size) {\n this.width(size.width);\n this.height(size.height);\n return this;\n }\n getSize() {\n return {\n width: this.width(),\n height: this.height(),\n };\n }\n getClassName() {\n return this.className || this.nodeType;\n }\n getType() {\n return this.nodeType;\n }\n getDragDistance() {\n if (this.attrs.dragDistance !== undefined) {\n return this.attrs.dragDistance;\n }\n else if (this.parent) {\n return this.parent.getDragDistance();\n }\n else {\n return Global_1.Konva.dragDistance;\n }\n }\n _off(type, name, callback) {\n var evtListeners = this.eventListeners[type], i, evtName, handler;\n for (i = 0; i < evtListeners.length; i++) {\n evtName = evtListeners[i].name;\n handler = evtListeners[i].handler;\n if ((evtName !== 'konva' || name === 'konva') &&\n (!name || evtName === name) &&\n (!callback || callback === handler)) {\n evtListeners.splice(i, 1);\n if (evtListeners.length === 0) {\n delete this.eventListeners[type];\n break;\n }\n i--;\n }\n }\n }\n _fireChangeEvent(attr, oldVal, newVal) {\n this._fire(attr + CHANGE, {\n oldVal: oldVal,\n newVal: newVal,\n });\n }\n addName(name) {\n if (!this.hasName(name)) {\n var oldName = this.name();\n var newName = oldName ? oldName + ' ' + name : name;\n this.name(newName);\n }\n return this;\n }\n hasName(name) {\n if (!name) {\n return false;\n }\n const fullName = this.name();\n if (!fullName) {\n return false;\n }\n var names = (fullName || '').split(/\\s/g);\n return names.indexOf(name) !== -1;\n }\n removeName(name) {\n var names = (this.name() || '').split(/\\s/g);\n var index = names.indexOf(name);\n if (index !== -1) {\n names.splice(index, 1);\n this.name(names.join(' '));\n }\n return this;\n }\n setAttr(attr, val) {\n var func = this[SET + Util_1.Util._capitalize(attr)];\n if (Util_1.Util._isFunction(func)) {\n func.call(this, val);\n }\n else {\n this._setAttr(attr, val);\n }\n return this;\n }\n _requestDraw() {\n if (Global_1.Konva.autoDrawEnabled) {\n const drawNode = this.getLayer() || this.getStage();\n drawNode === null || drawNode === void 0 ? void 0 : drawNode.batchDraw();\n }\n }\n _setAttr(key, val) {\n var oldVal = this.attrs[key];\n if (oldVal === val && !Util_1.Util.isObject(val)) {\n return;\n }\n if (val === undefined || val === null) {\n delete this.attrs[key];\n }\n else {\n this.attrs[key] = val;\n }\n if (this._shouldFireChangeEvents) {\n this._fireChangeEvent(key, oldVal, val);\n }\n this._requestDraw();\n }\n _setComponentAttr(key, component, val) {\n var oldVal;\n if (val !== undefined) {\n oldVal = this.attrs[key];\n if (!oldVal) {\n this.attrs[key] = this.getAttr(key);\n }\n this.attrs[key][component] = val;\n this._fireChangeEvent(key, oldVal, val);\n }\n }\n _fireAndBubble(eventType, evt, compareShape) {\n if (evt && this.nodeType === SHAPE) {\n evt.target = this;\n }\n var shouldStop = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n ((compareShape &&\n (this === compareShape ||\n (this.isAncestorOf && this.isAncestorOf(compareShape)))) ||\n (this.nodeType === 'Stage' && !compareShape));\n if (!shouldStop) {\n this._fire(eventType, evt);\n var stopBubble = (eventType === MOUSEENTER || eventType === MOUSELEAVE) &&\n compareShape &&\n compareShape.isAncestorOf &&\n compareShape.isAncestorOf(this) &&\n !compareShape.isAncestorOf(this.parent);\n if (((evt && !evt.cancelBubble) || !evt) &&\n this.parent &&\n this.parent.isListening() &&\n !stopBubble) {\n if (compareShape && compareShape.parent) {\n this._fireAndBubble.call(this.parent, eventType, evt, compareShape);\n }\n else {\n this._fireAndBubble.call(this.parent, eventType, evt);\n }\n }\n }\n }\n _getProtoListeners(eventType) {\n var _a, _b, _c;\n const allListeners = (_a = this._cache.get(ALL_LISTENERS)) !== null && _a !== void 0 ? _a : {};\n let events = allListeners === null || allListeners === void 0 ? void 0 : allListeners[eventType];\n if (events === undefined) {\n events = [];\n let obj = Object.getPrototypeOf(this);\n while (obj) {\n const hierarchyEvents = (_c = (_b = obj.eventListeners) === null || _b === void 0 ? void 0 : _b[eventType]) !== null && _c !== void 0 ? _c : [];\n events.push(...hierarchyEvents);\n obj = Object.getPrototypeOf(obj);\n }\n allListeners[eventType] = events;\n this._cache.set(ALL_LISTENERS, allListeners);\n }\n return events;\n }\n _fire(eventType, evt) {\n evt = evt || {};\n evt.currentTarget = this;\n evt.type = eventType;\n const topListeners = this._getProtoListeners(eventType);\n if (topListeners) {\n for (var i = 0; i < topListeners.length; i++) {\n topListeners[i].handler.call(this, evt);\n }\n }\n const selfListeners = this.eventListeners[eventType];\n if (selfListeners) {\n for (var i = 0; i < selfListeners.length; i++) {\n selfListeners[i].handler.call(this, evt);\n }\n }\n }\n draw() {\n this.drawScene();\n this.drawHit();\n return this;\n }\n _createDragElement(evt) {\n var pointerId = evt ? evt.pointerId : undefined;\n var stage = this.getStage();\n var ap = this.getAbsolutePosition();\n if (!stage) {\n return;\n }\n var pos = stage._getPointerById(pointerId) ||\n stage._changedPointerPositions[0] ||\n ap;\n DragAndDrop_1.DD._dragElements.set(this._id, {\n node: this,\n startPointerPos: pos,\n offset: {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n },\n dragStatus: 'ready',\n pointerId,\n });\n }\n startDrag(evt, bubbleEvent = true) {\n if (!DragAndDrop_1.DD._dragElements.has(this._id)) {\n this._createDragElement(evt);\n }\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n elem.dragStatus = 'dragging';\n this.fire('dragstart', {\n type: 'dragstart',\n target: this,\n evt: evt && evt.evt,\n }, bubbleEvent);\n }\n _setDragPosition(evt, elem) {\n const pos = this.getStage()._getPointerById(elem.pointerId);\n if (!pos) {\n return;\n }\n var newNodePos = {\n x: pos.x - elem.offset.x,\n y: pos.y - elem.offset.y,\n };\n var dbf = this.dragBoundFunc();\n if (dbf !== undefined) {\n const bounded = dbf.call(this, newNodePos, evt);\n if (!bounded) {\n Util_1.Util.warn('dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.');\n }\n else {\n newNodePos = bounded;\n }\n }\n if (!this._lastPos ||\n this._lastPos.x !== newNodePos.x ||\n this._lastPos.y !== newNodePos.y) {\n this.setAbsolutePosition(newNodePos);\n this._requestDraw();\n }\n this._lastPos = newNodePos;\n }\n stopDrag(evt) {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n if (elem) {\n elem.dragStatus = 'stopped';\n }\n DragAndDrop_1.DD._endDragBefore(evt);\n DragAndDrop_1.DD._endDragAfter(evt);\n }\n setDraggable(draggable) {\n this._setAttr('draggable', draggable);\n this._dragChange();\n }\n isDragging() {\n const elem = DragAndDrop_1.DD._dragElements.get(this._id);\n return elem ? elem.dragStatus === 'dragging' : false;\n }\n _listenDrag() {\n this._dragCleanup();\n this.on('mousedown.konva touchstart.konva', function (evt) {\n var shouldCheckButton = evt.evt['button'] !== undefined;\n var canDrag = !shouldCheckButton || Global_1.Konva.dragButtons.indexOf(evt.evt['button']) >= 0;\n if (!canDrag) {\n return;\n }\n if (this.isDragging()) {\n return;\n }\n var hasDraggingChild = false;\n DragAndDrop_1.DD._dragElements.forEach((elem) => {\n if (this.isAncestorOf(elem.node)) {\n hasDraggingChild = true;\n }\n });\n if (!hasDraggingChild) {\n this._createDragElement(evt);\n }\n });\n }\n _dragChange() {\n if (this.attrs.draggable) {\n this._listenDrag();\n }\n else {\n this._dragCleanup();\n var stage = this.getStage();\n if (!stage) {\n return;\n }\n const dragElement = DragAndDrop_1.DD._dragElements.get(this._id);\n const isDragging = dragElement && dragElement.dragStatus === 'dragging';\n const isReady = dragElement && dragElement.dragStatus === 'ready';\n if (isDragging) {\n this.stopDrag();\n }\n else if (isReady) {\n DragAndDrop_1.DD._dragElements.delete(this._id);\n }\n }\n }\n _dragCleanup() {\n this.off('mousedown.konva');\n this.off('touchstart.konva');\n }\n isClientRectOnScreen(margin = { x: 0, y: 0 }) {\n const stage = this.getStage();\n if (!stage) {\n return false;\n }\n const screenRect = {\n x: -margin.x,\n y: -margin.y,\n width: stage.width() + 2 * margin.x,\n height: stage.height() + 2 * margin.y,\n };\n return Util_1.Util.haveIntersection(screenRect, this.getClientRect());\n }\n static create(data, container) {\n if (Util_1.Util._isString(data)) {\n data = JSON.parse(data);\n }\n return this._createNode(data, container);\n }\n static _createNode(obj, container) {\n var className = Node.prototype.getClassName.call(obj), children = obj.children, no, len, n;\n if (container) {\n obj.attrs.container = container;\n }\n if (!Global_1.Konva[className]) {\n Util_1.Util.warn('Can not find a node with class name \"' +\n className +\n '\". Fallback to \"Shape\".');\n className = 'Shape';\n }\n const Class = Global_1.Konva[className];\n no = new Class(obj.attrs);\n if (children) {\n len = children.length;\n for (n = 0; n < len; n++) {\n no.add(Node._createNode(children[n]));\n }\n }\n return no;\n }\n}\nexports.Node = Node;\nNode.prototype.nodeType = 'Node';\nNode.prototype._attrsAffectingSize = [];\nNode.prototype.eventListeners = {};\nNode.prototype.on.call(Node.prototype, TRANSFORM_CHANGE_STR, function () {\n if (this._batchingTransformChange) {\n this._needClearTransformCache = true;\n return;\n }\n this._clearCache(TRANSFORM);\n this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);\n});\nNode.prototype.on.call(Node.prototype, 'visibleChange.konva', function () {\n this._clearSelfAndDescendantCache(VISIBLE);\n});\nNode.prototype.on.call(Node.prototype, 'listeningChange.konva', function () {\n this._clearSelfAndDescendantCache(LISTENING);\n});\nNode.prototype.on.call(Node.prototype, 'opacityChange.konva', function () {\n this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);\n});\nconst addGetterSetter = Factory_1.Factory.addGetterSetter;\naddGetterSetter(Node, 'zIndex');\naddGetterSetter(Node, 'absolutePosition');\naddGetterSetter(Node, 'position');\naddGetterSetter(Node, 'x', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'y', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'globalCompositeOperation', 'source-over', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'opacity', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'name', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'id', '', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'rotation', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'scale', ['x', 'y']);\naddGetterSetter(Node, 'scaleX', 1, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'scaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'skew', ['x', 'y']);\naddGetterSetter(Node, 'skewX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'skewY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Node, 'offset', ['x', 'y']);\naddGetterSetter(Node, 'offsetX', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'offsetY', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'dragDistance', null, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'width', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'height', 0, (0, Validators_1.getNumberValidator)());\naddGetterSetter(Node, 'listening', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'preventDefault', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'filters', null, function (val) {\n this._filterUpToDate = false;\n return val;\n});\naddGetterSetter(Node, 'visible', true, (0, Validators_1.getBooleanValidator)());\naddGetterSetter(Node, 'transformsEnabled', 'all', (0, Validators_1.getStringValidator)());\naddGetterSetter(Node, 'size');\naddGetterSetter(Node, 'dragBoundFunc');\naddGetterSetter(Node, 'draggable', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.backCompat(Node, {\n rotateDeg: 'rotate',\n setRotationDeg: 'setRotation',\n getRotationDeg: 'getRotation',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Container = void 0;\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nclass Container extends Node_1.Node {\n constructor() {\n super(...arguments);\n this.children = [];\n }\n getChildren(filterFunc) {\n if (!filterFunc) {\n return this.children || [];\n }\n const children = this.children || [];\n var results = [];\n children.forEach(function (child) {\n if (filterFunc(child)) {\n results.push(child);\n }\n });\n return results;\n }\n hasChildren() {\n return this.getChildren().length > 0;\n }\n removeChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.remove();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n destroyChildren() {\n this.getChildren().forEach((child) => {\n child.parent = null;\n child.index = 0;\n child.destroy();\n });\n this.children = [];\n this._requestDraw();\n return this;\n }\n add(...children) {\n if (children.length === 0) {\n return this;\n }\n if (children.length > 1) {\n for (var i = 0; i < children.length; i++) {\n this.add(children[i]);\n }\n return this;\n }\n const child = children[0];\n if (child.getParent()) {\n child.moveTo(this);\n return this;\n }\n this._validateAdd(child);\n child.index = this.getChildren().length;\n child.parent = this;\n child._clearCaches();\n this.getChildren().push(child);\n this._fire('add', {\n child: child,\n });\n this._requestDraw();\n return this;\n }\n destroy() {\n if (this.hasChildren()) {\n this.destroyChildren();\n }\n super.destroy();\n return this;\n }\n find(selector) {\n return this._generalFind(selector, false);\n }\n findOne(selector) {\n var result = this._generalFind(selector, true);\n return result.length > 0 ? result[0] : undefined;\n }\n _generalFind(selector, findOne) {\n var retArr = [];\n this._descendants((node) => {\n const valid = node._isMatch(selector);\n if (valid) {\n retArr.push(node);\n }\n if (valid && findOne) {\n return true;\n }\n return false;\n });\n return retArr;\n }\n _descendants(fn) {\n let shouldStop = false;\n const children = this.getChildren();\n for (const child of children) {\n shouldStop = fn(child);\n if (shouldStop) {\n return true;\n }\n if (!child.hasChildren()) {\n continue;\n }\n shouldStop = child._descendants(fn);\n if (shouldStop) {\n return true;\n }\n }\n return false;\n }\n toObject() {\n var obj = Node_1.Node.prototype.toObject.call(this);\n obj.children = [];\n this.getChildren().forEach((child) => {\n obj.children.push(child.toObject());\n });\n return obj;\n }\n isAncestorOf(node) {\n var parent = node.getParent();\n while (parent) {\n if (parent._id === this._id) {\n return true;\n }\n parent = parent.getParent();\n }\n return false;\n }\n clone(obj) {\n var node = Node_1.Node.prototype.clone.call(this, obj);\n this.getChildren().forEach(function (no) {\n node.add(no.clone());\n });\n return node;\n }\n getAllIntersections(pos) {\n var arr = [];\n this.find('Shape').forEach((shape) => {\n if (shape.isVisible() && shape.intersects(pos)) {\n arr.push(shape);\n }\n });\n return arr;\n }\n _clearSelfAndDescendantCache(attr) {\n var _a;\n super._clearSelfAndDescendantCache(attr);\n if (this.isCached()) {\n return;\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {\n node._clearSelfAndDescendantCache(attr);\n });\n }\n _setChildrenIndices() {\n var _a;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child, n) {\n child.index = n;\n });\n this._requestDraw();\n }\n drawScene(can, top, bufferCanvas) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas()), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedSceneCanvas = cachedCanvas && cachedCanvas.scene;\n var caching = canvas && canvas.isCache;\n if (!this.isVisible() && !caching) {\n return this;\n }\n if (cachedSceneCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawScene', canvas, top, bufferCanvas);\n }\n return this;\n }\n drawHit(can, top) {\n if (!this.shouldDrawHit(top)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas), context = canvas && canvas.getContext(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n }\n else {\n this._drawChildren('drawHit', canvas, top);\n }\n return this;\n }\n _drawChildren(drawMethod, canvas, top, bufferCanvas) {\n var _a;\n var context = canvas && canvas.getContext(), clipWidth = this.clipWidth(), clipHeight = this.clipHeight(), clipFunc = this.clipFunc(), hasClip = (typeof clipWidth === 'number' && typeof clipHeight === 'number') ||\n clipFunc;\n const selfCache = top === this;\n if (hasClip) {\n context.save();\n var transform = this.getAbsoluteTransform(top);\n var m = transform.getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n context.beginPath();\n let clipArgs;\n if (clipFunc) {\n clipArgs = clipFunc.call(this, context, this);\n }\n else {\n var clipX = this.clipX();\n var clipY = this.clipY();\n context.rect(clipX || 0, clipY || 0, clipWidth, clipHeight);\n }\n context.clip.apply(context, clipArgs);\n m = transform.copy().invert().getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n var hasComposition = !selfCache &&\n this.globalCompositeOperation() !== 'source-over' &&\n drawMethod === 'drawScene';\n if (hasComposition) {\n context.save();\n context._applyGlobalCompositeOperation(this);\n }\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n child[drawMethod](canvas, top, bufferCanvas);\n });\n if (hasComposition) {\n context.restore();\n }\n if (hasClip) {\n context.restore();\n }\n }\n getClientRect(config = {}) {\n var _a;\n var skipTransform = config.skipTransform;\n var relativeTo = config.relativeTo;\n var minX, minY, maxX, maxY;\n var selfRect = {\n x: Infinity,\n y: Infinity,\n width: 0,\n height: 0,\n };\n var that = this;\n (_a = this.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n if (!child.visible()) {\n return;\n }\n var rect = child.getClientRect({\n relativeTo: that,\n skipShadow: config.skipShadow,\n skipStroke: config.skipStroke,\n });\n if (rect.width === 0 && rect.height === 0) {\n return;\n }\n if (minX === undefined) {\n minX = rect.x;\n minY = rect.y;\n maxX = rect.x + rect.width;\n maxY = rect.y + rect.height;\n }\n else {\n minX = Math.min(minX, rect.x);\n minY = Math.min(minY, rect.y);\n maxX = Math.max(maxX, rect.x + rect.width);\n maxY = Math.max(maxY, rect.y + rect.height);\n }\n });\n var shapes = this.find('Shape');\n var hasVisible = false;\n for (var i = 0; i < shapes.length; i++) {\n var shape = shapes[i];\n if (shape._isVisible(this)) {\n hasVisible = true;\n break;\n }\n }\n if (hasVisible && minX !== undefined) {\n selfRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n else {\n selfRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (!skipTransform) {\n return this._transformedRect(selfRect, relativeTo);\n }\n return selfRect;\n }\n}\nexports.Container = Container;\nFactory_1.Factory.addComponentsGetterSetter(Container, 'clip', [\n 'x',\n 'y',\n 'width',\n 'height',\n]);\nFactory_1.Factory.addGetterSetter(Container, 'clipX', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipY', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipWidth', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipHeight', undefined, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Container, 'clipFunc');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseCapture = exports.setPointerCapture = exports.hasPointerCapture = exports.createEvent = exports.getCapturedShape = void 0;\nconst Global_1 = require(\"./Global\");\nconst Captures = new Map();\nconst SUPPORT_POINTER_EVENTS = Global_1.Konva._global['PointerEvent'] !== undefined;\nfunction getCapturedShape(pointerId) {\n return Captures.get(pointerId);\n}\nexports.getCapturedShape = getCapturedShape;\nfunction createEvent(evt) {\n return {\n evt,\n pointerId: evt.pointerId,\n };\n}\nexports.createEvent = createEvent;\nfunction hasPointerCapture(pointerId, shape) {\n return Captures.get(pointerId) === shape;\n}\nexports.hasPointerCapture = hasPointerCapture;\nfunction setPointerCapture(pointerId, shape) {\n releaseCapture(pointerId);\n const stage = shape.getStage();\n if (!stage)\n return;\n Captures.set(pointerId, shape);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('gotpointercapture', createEvent(new PointerEvent('gotpointercapture')));\n }\n}\nexports.setPointerCapture = setPointerCapture;\nfunction releaseCapture(pointerId, target) {\n const shape = Captures.get(pointerId);\n if (!shape)\n return;\n const stage = shape.getStage();\n if (stage && stage.content) {\n }\n Captures.delete(pointerId);\n if (SUPPORT_POINTER_EVENTS) {\n shape._fire('lostpointercapture', createEvent(new PointerEvent('lostpointercapture')));\n }\n}\nexports.releaseCapture = releaseCapture;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stage = exports.stages = void 0;\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nconst Canvas_1 = require(\"./Canvas\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nvar STAGE = 'Stage', STRING = 'string', PX = 'px', MOUSEOUT = 'mouseout', MOUSELEAVE = 'mouseleave', MOUSEOVER = 'mouseover', MOUSEENTER = 'mouseenter', MOUSEMOVE = 'mousemove', MOUSEDOWN = 'mousedown', MOUSEUP = 'mouseup', POINTERMOVE = 'pointermove', POINTERDOWN = 'pointerdown', POINTERUP = 'pointerup', POINTERCANCEL = 'pointercancel', LOSTPOINTERCAPTURE = 'lostpointercapture', POINTEROUT = 'pointerout', POINTERLEAVE = 'pointerleave', POINTEROVER = 'pointerover', POINTERENTER = 'pointerenter', CONTEXTMENU = 'contextmenu', TOUCHSTART = 'touchstart', TOUCHEND = 'touchend', TOUCHMOVE = 'touchmove', TOUCHCANCEL = 'touchcancel', WHEEL = 'wheel', MAX_LAYERS_NUMBER = 5, EVENTS = [\n [MOUSEENTER, '_pointerenter'],\n [MOUSEDOWN, '_pointerdown'],\n [MOUSEMOVE, '_pointermove'],\n [MOUSEUP, '_pointerup'],\n [MOUSELEAVE, '_pointerleave'],\n [TOUCHSTART, '_pointerdown'],\n [TOUCHMOVE, '_pointermove'],\n [TOUCHEND, '_pointerup'],\n [TOUCHCANCEL, '_pointercancel'],\n [MOUSEOVER, '_pointerover'],\n [WHEEL, '_wheel'],\n [CONTEXTMENU, '_contextmenu'],\n [POINTERDOWN, '_pointerdown'],\n [POINTERMOVE, '_pointermove'],\n [POINTERUP, '_pointerup'],\n [POINTERCANCEL, '_pointercancel'],\n [LOSTPOINTERCAPTURE, '_lostpointercapture'],\n];\nconst EVENTS_MAP = {\n mouse: {\n [POINTEROUT]: MOUSEOUT,\n [POINTERLEAVE]: MOUSELEAVE,\n [POINTEROVER]: MOUSEOVER,\n [POINTERENTER]: MOUSEENTER,\n [POINTERMOVE]: MOUSEMOVE,\n [POINTERDOWN]: MOUSEDOWN,\n [POINTERUP]: MOUSEUP,\n [POINTERCANCEL]: 'mousecancel',\n pointerclick: 'click',\n pointerdblclick: 'dblclick',\n },\n touch: {\n [POINTEROUT]: 'touchout',\n [POINTERLEAVE]: 'touchleave',\n [POINTEROVER]: 'touchover',\n [POINTERENTER]: 'touchenter',\n [POINTERMOVE]: TOUCHMOVE,\n [POINTERDOWN]: TOUCHSTART,\n [POINTERUP]: TOUCHEND,\n [POINTERCANCEL]: TOUCHCANCEL,\n pointerclick: 'tap',\n pointerdblclick: 'dbltap',\n },\n pointer: {\n [POINTEROUT]: POINTEROUT,\n [POINTERLEAVE]: POINTERLEAVE,\n [POINTEROVER]: POINTEROVER,\n [POINTERENTER]: POINTERENTER,\n [POINTERMOVE]: POINTERMOVE,\n [POINTERDOWN]: POINTERDOWN,\n [POINTERUP]: POINTERUP,\n [POINTERCANCEL]: POINTERCANCEL,\n pointerclick: 'pointerclick',\n pointerdblclick: 'pointerdblclick',\n },\n};\nconst getEventType = (type) => {\n if (type.indexOf('pointer') >= 0) {\n return 'pointer';\n }\n if (type.indexOf('touch') >= 0) {\n return 'touch';\n }\n return 'mouse';\n};\nconst getEventsMap = (eventType) => {\n const type = getEventType(eventType);\n if (type === 'pointer') {\n return Global_1.Konva.pointerEventsEnabled && EVENTS_MAP.pointer;\n }\n if (type === 'touch') {\n return EVENTS_MAP.touch;\n }\n if (type === 'mouse') {\n return EVENTS_MAP.mouse;\n }\n};\nfunction checkNoClip(attrs = {}) {\n if (attrs.clipFunc || attrs.clipWidth || attrs.clipHeight) {\n Util_1.Util.warn('Stage does not support clipping. Please use clip for Layers or Groups.');\n }\n return attrs;\n}\nconst NO_POINTERS_MESSAGE = `Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);`;\nexports.stages = [];\nclass Stage extends Container_1.Container {\n constructor(config) {\n super(checkNoClip(config));\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n this._buildDOM();\n this._bindContentEvents();\n exports.stages.push(this);\n this.on('widthChange.konva heightChange.konva', this._resizeDOM);\n this.on('visibleChange.konva', this._checkVisibility);\n this.on('clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva', () => {\n checkNoClip(this.attrs);\n });\n this._checkVisibility();\n }\n _validateAdd(child) {\n const isLayer = child.getType() === 'Layer';\n const isFastLayer = child.getType() === 'FastLayer';\n const valid = isLayer || isFastLayer;\n if (!valid) {\n Util_1.Util.throw('You may only add layers to the stage.');\n }\n }\n _checkVisibility() {\n if (!this.content) {\n return;\n }\n const style = this.visible() ? '' : 'none';\n this.content.style.display = style;\n }\n setContainer(container) {\n if (typeof container === STRING) {\n if (container.charAt(0) === '.') {\n var className = container.slice(1);\n container = document.getElementsByClassName(className)[0];\n }\n else {\n var id;\n if (container.charAt(0) !== '#') {\n id = container;\n }\n else {\n id = container.slice(1);\n }\n container = document.getElementById(id);\n }\n if (!container) {\n throw 'Can not find container in document with id ' + id;\n }\n }\n this._setAttr('container', container);\n if (this.content) {\n if (this.content.parentElement) {\n this.content.parentElement.removeChild(this.content);\n }\n container.appendChild(this.content);\n }\n return this;\n }\n shouldDrawHit() {\n return true;\n }\n clear() {\n var layers = this.children, len = layers.length, n;\n for (n = 0; n < len; n++) {\n layers[n].clear();\n }\n return this;\n }\n clone(obj) {\n if (!obj) {\n obj = {};\n }\n obj.container =\n typeof document !== 'undefined' && document.createElement('div');\n return Container_1.Container.prototype.clone.call(this, obj);\n }\n destroy() {\n super.destroy();\n var content = this.content;\n if (content && Util_1.Util._isInDocument(content)) {\n this.container().removeChild(content);\n }\n var index = exports.stages.indexOf(this);\n if (index > -1) {\n exports.stages.splice(index, 1);\n }\n Util_1.Util.releaseCanvas(this.bufferCanvas._canvas, this.bufferHitCanvas._canvas);\n return this;\n }\n getPointerPosition() {\n const pos = this._pointerPositions[0] || this._changedPointerPositions[0];\n if (!pos) {\n Util_1.Util.warn(NO_POINTERS_MESSAGE);\n return null;\n }\n return {\n x: pos.x,\n y: pos.y,\n };\n }\n _getPointerById(id) {\n return this._pointerPositions.find((p) => p.id === id);\n }\n getPointersPositions() {\n return this._pointerPositions;\n }\n getStage() {\n return this;\n }\n getContent() {\n return this.content;\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.x = config.x || 0;\n config.y = config.y || 0;\n config.width = config.width || this.width();\n config.height = config.height || this.height();\n var canvas = new Canvas_1.SceneCanvas({\n width: config.width,\n height: config.height,\n pixelRatio: config.pixelRatio || 1,\n });\n var _context = canvas.getContext()._context;\n var layers = this.children;\n if (config.x || config.y) {\n _context.translate(-1 * config.x, -1 * config.y);\n }\n layers.forEach(function (layer) {\n if (!layer.isVisible()) {\n return;\n }\n var layerCanvas = layer._toKonvaCanvas(config);\n _context.drawImage(layerCanvas._canvas, config.x, config.y, layerCanvas.getWidth() / layerCanvas.getPixelRatio(), layerCanvas.getHeight() / layerCanvas.getPixelRatio());\n });\n return canvas;\n }\n getIntersection(pos) {\n if (!pos) {\n return null;\n }\n var layers = this.children, len = layers.length, end = len - 1, n;\n for (n = end; n >= 0; n--) {\n const shape = layers[n].getIntersection(pos);\n if (shape) {\n return shape;\n }\n }\n return null;\n }\n _resizeDOM() {\n var width = this.width();\n var height = this.height();\n if (this.content) {\n this.content.style.width = width + PX;\n this.content.style.height = height + PX;\n }\n this.bufferCanvas.setSize(width, height);\n this.bufferHitCanvas.setSize(width, height);\n this.children.forEach((layer) => {\n layer.setSize({ width, height });\n layer.draw();\n });\n }\n add(layer, ...rest) {\n if (arguments.length > 1) {\n for (var i = 0; i < arguments.length; i++) {\n this.add(arguments[i]);\n }\n return this;\n }\n super.add(layer);\n var length = this.children.length;\n if (length > MAX_LAYERS_NUMBER) {\n Util_1.Util.warn('The stage has ' +\n length +\n ' layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.');\n }\n layer.setSize({ width: this.width(), height: this.height() });\n layer.draw();\n if (Global_1.Konva.isBrowser) {\n this.content.appendChild(layer.canvas._canvas);\n }\n return this;\n }\n getParent() {\n return null;\n }\n getLayer() {\n return null;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n getLayers() {\n return this.children;\n }\n _bindContentEvents() {\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n EVENTS.forEach(([event, methodName]) => {\n this.content.addEventListener(event, (evt) => {\n this[methodName](evt);\n }, { passive: false });\n });\n }\n _pointerenter(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerenter, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointerover(evt) {\n this.setPointersPositions(evt);\n const events = getEventsMap(evt.type);\n if (events) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _getTargetShape(evenType) {\n let shape = this[evenType + 'targetShape'];\n if (shape && !shape.getStage()) {\n shape = null;\n }\n return shape;\n }\n _pointerleave(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var targetShape = this._getTargetShape(eventType);\n var eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (targetShape && eventsEnabled) {\n targetShape._fireAndBubble(events.pointerout, { evt: evt });\n targetShape._fireAndBubble(events.pointerleave, { evt: evt });\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this[eventType + 'targetShape'] = null;\n }\n else if (eventsEnabled) {\n this._fire(events.pointerleave, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n this._fire(events.pointerout, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n this.pointerPos = null;\n this._pointerPositions = [];\n }\n _pointerdown(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n var triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n var shape = this.getIntersection(pos);\n DragAndDrop_1.DD.justDragged = false;\n Global_1.Konva['_' + eventType + 'ListenClick'] = true;\n if (!shape || !shape.isListening()) {\n return;\n }\n if (Global_1.Konva.capturePointerEventsEnabled) {\n shape.setPointerCapture(pos.id);\n }\n this[eventType + 'ClickStartShape'] = shape;\n shape._fireAndBubble(events.pointerdown, {\n evt: evt,\n pointerId: pos.id,\n });\n triggeredOnShape = true;\n const isTouch = evt.type.indexOf('touch') >= 0;\n if (shape.preventDefault() && evt.cancelable && isTouch) {\n evt.preventDefault();\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerdown, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._pointerPositions[0].id,\n });\n }\n }\n _pointermove(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n if (Global_1.Konva.isDragging() && DragAndDrop_1.DD.node.preventDefault() && evt.cancelable) {\n evt.preventDefault();\n }\n this.setPointersPositions(evt);\n var eventsEnabled = !(Global_1.Konva.isDragging() || Global_1.Konva.isTransforming()) || Global_1.Konva.hitOnDragEnabled;\n if (!eventsEnabled) {\n return;\n }\n var processedShapesIds = {};\n let triggeredOnShape = false;\n var targetShape = this._getTargetShape(eventType);\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n var differentTarget = targetShape !== shape;\n if (differentTarget && targetShape) {\n targetShape._fireAndBubble(events.pointerout, { ...event }, shape);\n targetShape._fireAndBubble(events.pointerleave, { ...event }, shape);\n }\n if (shape) {\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n if (differentTarget) {\n shape._fireAndBubble(events.pointerover, { ...event }, targetShape);\n shape._fireAndBubble(events.pointerenter, { ...event }, targetShape);\n this[eventType + 'targetShape'] = shape;\n }\n shape._fireAndBubble(events.pointermove, { ...event });\n }\n else {\n if (targetShape) {\n this._fire(events.pointerover, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n this[eventType + 'targetShape'] = null;\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointermove, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n }\n _pointerup(evt) {\n const events = getEventsMap(evt.type);\n const eventType = getEventType(evt.type);\n if (!events) {\n return;\n }\n this.setPointersPositions(evt);\n const clickStartShape = this[eventType + 'ClickStartShape'];\n const clickEndShape = this[eventType + 'ClickEndShape'];\n var processedShapesIds = {};\n let triggeredOnShape = false;\n this._changedPointerPositions.forEach((pos) => {\n const shape = (PointerEvents.getCapturedShape(pos.id) ||\n this.getIntersection(pos));\n if (shape) {\n shape.releaseCapture(pos.id);\n if (processedShapesIds[shape._id]) {\n return;\n }\n processedShapesIds[shape._id] = true;\n }\n const pointerId = pos.id;\n const event = { evt: evt, pointerId };\n let fireDblClick = false;\n if (Global_1.Konva['_' + eventType + 'InDblClickWindow']) {\n fireDblClick = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n else if (!DragAndDrop_1.DD.justDragged) {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = true;\n clearTimeout(this[eventType + 'DblTimeout']);\n }\n this[eventType + 'DblTimeout'] = setTimeout(function () {\n Global_1.Konva['_' + eventType + 'InDblClickWindow'] = false;\n }, Global_1.Konva.dblClickWindow);\n if (shape && shape.isListening()) {\n triggeredOnShape = true;\n this[eventType + 'ClickEndShape'] = shape;\n shape._fireAndBubble(events.pointerup, { ...event });\n if (Global_1.Konva['_' + eventType + 'ListenClick'] &&\n clickStartShape &&\n clickStartShape === shape) {\n shape._fireAndBubble(events.pointerclick, { ...event });\n if (fireDblClick && clickEndShape && clickEndShape === shape) {\n shape._fireAndBubble(events.pointerdblclick, { ...event });\n }\n }\n }\n else {\n this[eventType + 'ClickEndShape'] = null;\n if (Global_1.Konva['_' + eventType + 'ListenClick']) {\n this._fire(events.pointerclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n if (fireDblClick) {\n this._fire(events.pointerdblclick, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId,\n });\n }\n }\n });\n if (!triggeredOnShape) {\n this._fire(events.pointerup, {\n evt: evt,\n target: this,\n currentTarget: this,\n pointerId: this._changedPointerPositions[0].id,\n });\n }\n Global_1.Konva['_' + eventType + 'ListenClick'] = false;\n if (evt.cancelable && eventType !== 'touch') {\n evt.preventDefault();\n }\n }\n _contextmenu(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(CONTEXTMENU, { evt: evt });\n }\n else {\n this._fire(CONTEXTMENU, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _wheel(evt) {\n this.setPointersPositions(evt);\n var shape = this.getIntersection(this.getPointerPosition());\n if (shape && shape.isListening()) {\n shape._fireAndBubble(WHEEL, { evt: evt });\n }\n else {\n this._fire(WHEEL, {\n evt: evt,\n target: this,\n currentTarget: this,\n });\n }\n }\n _pointercancel(evt) {\n this.setPointersPositions(evt);\n const shape = PointerEvents.getCapturedShape(evt.pointerId) ||\n this.getIntersection(this.getPointerPosition());\n if (shape) {\n shape._fireAndBubble(POINTERUP, PointerEvents.createEvent(evt));\n }\n PointerEvents.releaseCapture(evt.pointerId);\n }\n _lostpointercapture(evt) {\n PointerEvents.releaseCapture(evt.pointerId);\n }\n setPointersPositions(evt) {\n var contentPosition = this._getContentPosition(), x = null, y = null;\n evt = evt ? evt : window.event;\n if (evt.touches !== undefined) {\n this._pointerPositions = [];\n this._changedPointerPositions = [];\n Array.prototype.forEach.call(evt.touches, (touch) => {\n this._pointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n Array.prototype.forEach.call(evt.changedTouches || evt.touches, (touch) => {\n this._changedPointerPositions.push({\n id: touch.identifier,\n x: (touch.clientX - contentPosition.left) / contentPosition.scaleX,\n y: (touch.clientY - contentPosition.top) / contentPosition.scaleY,\n });\n });\n }\n else {\n x = (evt.clientX - contentPosition.left) / contentPosition.scaleX;\n y = (evt.clientY - contentPosition.top) / contentPosition.scaleY;\n this.pointerPos = {\n x: x,\n y: y,\n };\n this._pointerPositions = [{ x, y, id: Util_1.Util._getFirstPointerId(evt) }];\n this._changedPointerPositions = [\n { x, y, id: Util_1.Util._getFirstPointerId(evt) },\n ];\n }\n }\n _setPointerPosition(evt) {\n Util_1.Util.warn('Method _setPointerPosition is deprecated. Use \"stage.setPointersPositions(event)\" instead.');\n this.setPointersPositions(evt);\n }\n _getContentPosition() {\n if (!this.content || !this.content.getBoundingClientRect) {\n return {\n top: 0,\n left: 0,\n scaleX: 1,\n scaleY: 1,\n };\n }\n var rect = this.content.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n scaleX: rect.width / this.content.clientWidth || 1,\n scaleY: rect.height / this.content.clientHeight || 1,\n };\n }\n _buildDOM() {\n this.bufferCanvas = new Canvas_1.SceneCanvas({\n width: this.width(),\n height: this.height(),\n });\n this.bufferHitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n width: this.width(),\n height: this.height(),\n });\n if (!Global_1.Konva.isBrowser) {\n return;\n }\n var container = this.container();\n if (!container) {\n throw 'Stage has no container. A container is required.';\n }\n container.innerHTML = '';\n this.content = document.createElement('div');\n this.content.style.position = 'relative';\n this.content.style.userSelect = 'none';\n this.content.className = 'konvajs-content';\n this.content.setAttribute('role', 'presentation');\n container.appendChild(this.content);\n this._resizeDOM();\n }\n cache() {\n Util_1.Util.warn('Cache function is not allowed for stage. You may use cache only for layers, groups and shapes.');\n return this;\n }\n clearCache() {\n return this;\n }\n batchDraw() {\n this.getChildren().forEach(function (layer) {\n layer.batchDraw();\n });\n return this;\n }\n}\nexports.Stage = Stage;\nStage.prototype.nodeType = STAGE;\n(0, Global_2._registerNode)(Stage);\nFactory_1.Factory.addGetterSetter(Stage, 'container');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Shape = exports.shapes = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Factory_1 = require(\"./Factory\");\nconst Node_1 = require(\"./Node\");\nconst Validators_1 = require(\"./Validators\");\nconst Global_2 = require(\"./Global\");\nconst PointerEvents = require(\"./PointerEvents\");\nvar HAS_SHADOW = 'hasShadow';\nvar SHADOW_RGBA = 'shadowRGBA';\nvar patternImage = 'patternImage';\nvar linearGradient = 'linearGradient';\nvar radialGradient = 'radialGradient';\nlet dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext('2d');\n return dummyContext;\n}\nexports.shapes = {};\nfunction _fillFunc(context) {\n const fillRule = this.attrs.fillRule;\n if (fillRule) {\n context.fill(fillRule);\n }\n else {\n context.fill();\n }\n}\nfunction _strokeFunc(context) {\n context.stroke();\n}\nfunction _fillFuncHit(context) {\n context.fill();\n}\nfunction _strokeFuncHit(context) {\n context.stroke();\n}\nfunction _clearHasShadowCache() {\n this._clearCache(HAS_SHADOW);\n}\nfunction _clearGetShadowRGBACache() {\n this._clearCache(SHADOW_RGBA);\n}\nfunction _clearFillPatternCache() {\n this._clearCache(patternImage);\n}\nfunction _clearLinearGradientCache() {\n this._clearCache(linearGradient);\n}\nfunction _clearRadialGradientCache() {\n this._clearCache(radialGradient);\n}\nclass Shape extends Node_1.Node {\n constructor(config) {\n super(config);\n let key;\n while (true) {\n key = Util_1.Util.getRandomColor();\n if (key && !(key in exports.shapes)) {\n break;\n }\n }\n this.colorKey = key;\n exports.shapes[key] = this;\n }\n getContext() {\n Util_1.Util.warn('shape.getContext() method is deprecated. Please do not use it.');\n return this.getLayer().getContext();\n }\n getCanvas() {\n Util_1.Util.warn('shape.getCanvas() method is deprecated. Please do not use it.');\n return this.getLayer().getCanvas();\n }\n getSceneFunc() {\n return this.attrs.sceneFunc || this['_sceneFunc'];\n }\n getHitFunc() {\n return this.attrs.hitFunc || this['_hitFunc'];\n }\n hasShadow() {\n return this._getCache(HAS_SHADOW, this._hasShadow);\n }\n _hasShadow() {\n return (this.shadowEnabled() &&\n this.shadowOpacity() !== 0 &&\n !!(this.shadowColor() ||\n this.shadowBlur() ||\n this.shadowOffsetX() ||\n this.shadowOffsetY()));\n }\n _getFillPattern() {\n return this._getCache(patternImage, this.__getFillPattern);\n }\n __getFillPattern() {\n if (this.fillPatternImage()) {\n var ctx = getDummyContext();\n const pattern = ctx.createPattern(this.fillPatternImage(), this.fillPatternRepeat() || 'repeat');\n if (pattern && pattern.setTransform) {\n const tr = new Util_1.Transform();\n tr.translate(this.fillPatternX(), this.fillPatternY());\n tr.rotate(Global_1.Konva.getAngle(this.fillPatternRotation()));\n tr.scale(this.fillPatternScaleX(), this.fillPatternScaleY());\n tr.translate(-1 * this.fillPatternOffsetX(), -1 * this.fillPatternOffsetY());\n const m = tr.getMatrix();\n const matrix = typeof DOMMatrix === 'undefined'\n ? {\n a: m[0],\n b: m[1],\n c: m[2],\n d: m[3],\n e: m[4],\n f: m[5],\n }\n : new DOMMatrix(m);\n pattern.setTransform(matrix);\n }\n return pattern;\n }\n }\n _getLinearGradient() {\n return this._getCache(linearGradient, this.__getLinearGradient);\n }\n __getLinearGradient() {\n var colorStops = this.fillLinearGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillLinearGradientStartPoint();\n var end = this.fillLinearGradientEndPoint();\n var grd = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n _getRadialGradient() {\n return this._getCache(radialGradient, this.__getRadialGradient);\n }\n __getRadialGradient() {\n var colorStops = this.fillRadialGradientColorStops();\n if (colorStops) {\n var ctx = getDummyContext();\n var start = this.fillRadialGradientStartPoint();\n var end = this.fillRadialGradientEndPoint();\n var grd = ctx.createRadialGradient(start.x, start.y, this.fillRadialGradientStartRadius(), end.x, end.y, this.fillRadialGradientEndRadius());\n for (var n = 0; n < colorStops.length; n += 2) {\n grd.addColorStop(colorStops[n], colorStops[n + 1]);\n }\n return grd;\n }\n }\n getShadowRGBA() {\n return this._getCache(SHADOW_RGBA, this._getShadowRGBA);\n }\n _getShadowRGBA() {\n if (!this.hasShadow()) {\n return;\n }\n var rgba = Util_1.Util.colorToRGBA(this.shadowColor());\n if (rgba) {\n return ('rgba(' +\n rgba.r +\n ',' +\n rgba.g +\n ',' +\n rgba.b +\n ',' +\n rgba.a * (this.shadowOpacity() || 1) +\n ')');\n }\n }\n hasFill() {\n return this._calculate('hasFill', [\n 'fillEnabled',\n 'fill',\n 'fillPatternImage',\n 'fillLinearGradientColorStops',\n 'fillRadialGradientColorStops',\n ], () => {\n return (this.fillEnabled() &&\n !!(this.fill() ||\n this.fillPatternImage() ||\n this.fillLinearGradientColorStops() ||\n this.fillRadialGradientColorStops()));\n });\n }\n hasStroke() {\n return this._calculate('hasStroke', [\n 'strokeEnabled',\n 'strokeWidth',\n 'stroke',\n 'strokeLinearGradientColorStops',\n ], () => {\n return (this.strokeEnabled() &&\n this.strokeWidth() &&\n !!(this.stroke() || this.strokeLinearGradientColorStops()));\n });\n }\n hasHitStroke() {\n const width = this.hitStrokeWidth();\n if (width === 'auto') {\n return this.hasStroke();\n }\n return this.strokeEnabled() && !!width;\n }\n intersects(point) {\n var stage = this.getStage();\n if (!stage) {\n return false;\n }\n const bufferHitCanvas = stage.bufferHitCanvas;\n bufferHitCanvas.getContext().clear();\n this.drawHit(bufferHitCanvas, undefined, true);\n const p = bufferHitCanvas.context.getImageData(Math.round(point.x), Math.round(point.y), 1, 1).data;\n return p[3] > 0;\n }\n destroy() {\n Node_1.Node.prototype.destroy.call(this);\n delete exports.shapes[this.colorKey];\n delete this.colorKey;\n return this;\n }\n _useBufferCanvas(forceFill) {\n var _a;\n const perfectDrawEnabled = (_a = this.attrs.perfectDrawEnabled) !== null && _a !== void 0 ? _a : true;\n if (!perfectDrawEnabled) {\n return false;\n }\n const hasFill = forceFill || this.hasFill();\n const hasStroke = this.hasStroke();\n const isTransparent = this.getAbsoluteOpacity() !== 1;\n if (hasFill && hasStroke && isTransparent) {\n return true;\n }\n const hasShadow = this.hasShadow();\n const strokeForShadow = this.shadowForStrokeEnabled();\n if (hasFill && hasStroke && hasShadow && strokeForShadow) {\n return true;\n }\n return false;\n }\n setStrokeHitEnabled(val) {\n Util_1.Util.warn('strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead.');\n if (val) {\n this.hitStrokeWidth('auto');\n }\n else {\n this.hitStrokeWidth(0);\n }\n }\n getStrokeHitEnabled() {\n if (this.hitStrokeWidth() === 0) {\n return false;\n }\n else {\n return true;\n }\n }\n getSelfRect() {\n var size = this.size();\n return {\n x: this._centroid ? -size.width / 2 : 0,\n y: this._centroid ? -size.height / 2 : 0,\n width: size.width,\n height: size.height,\n };\n }\n getClientRect(config = {}) {\n const skipTransform = config.skipTransform;\n const relativeTo = config.relativeTo;\n const fillRect = this.getSelfRect();\n const applyStroke = !config.skipStroke && this.hasStroke();\n const strokeWidth = (applyStroke && this.strokeWidth()) || 0;\n const fillAndStrokeWidth = fillRect.width + strokeWidth;\n const fillAndStrokeHeight = fillRect.height + strokeWidth;\n const applyShadow = !config.skipShadow && this.hasShadow();\n const shadowOffsetX = applyShadow ? this.shadowOffsetX() : 0;\n const shadowOffsetY = applyShadow ? this.shadowOffsetY() : 0;\n const preWidth = fillAndStrokeWidth + Math.abs(shadowOffsetX);\n const preHeight = fillAndStrokeHeight + Math.abs(shadowOffsetY);\n const blurRadius = (applyShadow && this.shadowBlur()) || 0;\n const width = preWidth + blurRadius * 2;\n const height = preHeight + blurRadius * 2;\n const rect = {\n width: width,\n height: height,\n x: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetX, 0) +\n fillRect.x,\n y: -(strokeWidth / 2 + blurRadius) +\n Math.min(shadowOffsetY, 0) +\n fillRect.y,\n };\n if (!skipTransform) {\n return this._transformedRect(rect, relativeTo);\n }\n return rect;\n }\n drawScene(can, top, bufferCanvas) {\n var layer = this.getLayer();\n var canvas = can || layer.getCanvas(), context = canvas.getContext(), cachedCanvas = this._getCanvasCache(), drawFunc = this.getSceneFunc(), hasShadow = this.hasShadow(), stage, bufferContext;\n var skipBuffer = canvas.isCache;\n var cachingSelf = top === this;\n if (!this.isVisible() && !cachingSelf) {\n return this;\n }\n if (cachedCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedSceneCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n if (this._useBufferCanvas() && !skipBuffer) {\n stage = this.getStage();\n const bc = bufferCanvas || stage.bufferCanvas;\n bufferContext = bc.getContext();\n bufferContext.clear();\n bufferContext.save();\n bufferContext._applyLineJoin(this);\n var o = this.getAbsoluteTransform(top).getMatrix();\n bufferContext.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n drawFunc.call(this, bufferContext, this);\n bufferContext.restore();\n var ratio = bc.pixelRatio;\n if (hasShadow) {\n context._applyShadow(this);\n }\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n context.drawImage(bc._canvas, 0, 0, bc.width / ratio, bc.height / ratio);\n }\n else {\n context._applyLineJoin(this);\n if (!cachingSelf) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n context._applyOpacity(this);\n context._applyGlobalCompositeOperation(this);\n }\n if (hasShadow) {\n context._applyShadow(this);\n }\n drawFunc.call(this, context, this);\n }\n context.restore();\n return this;\n }\n drawHit(can, top, skipDragCheck = false) {\n if (!this.shouldDrawHit(top, skipDragCheck)) {\n return this;\n }\n var layer = this.getLayer(), canvas = can || layer.hitCanvas, context = canvas && canvas.getContext(), drawFunc = this.hitFunc() || this.sceneFunc(), cachedCanvas = this._getCanvasCache(), cachedHitCanvas = cachedCanvas && cachedCanvas.hit;\n if (!this.colorKey) {\n Util_1.Util.warn('Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()');\n }\n if (cachedHitCanvas) {\n context.save();\n var m = this.getAbsoluteTransform(top).getMatrix();\n context.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n this._drawCachedHitCanvas(context);\n context.restore();\n return this;\n }\n if (!drawFunc) {\n return this;\n }\n context.save();\n context._applyLineJoin(this);\n const selfCache = this === top;\n if (!selfCache) {\n var o = this.getAbsoluteTransform(top).getMatrix();\n context.transform(o[0], o[1], o[2], o[3], o[4], o[5]);\n }\n drawFunc.call(this, context, this);\n context.restore();\n return this;\n }\n drawHitFromCache(alphaThreshold = 0) {\n var cachedCanvas = this._getCanvasCache(), sceneCanvas = this._getCachedSceneCanvas(), hitCanvas = cachedCanvas.hit, hitContext = hitCanvas.getContext(), hitWidth = hitCanvas.getWidth(), hitHeight = hitCanvas.getHeight(), hitImageData, hitData, len, rgbColorKey, i, alpha;\n hitContext.clear();\n hitContext.drawImage(sceneCanvas._canvas, 0, 0, hitWidth, hitHeight);\n try {\n hitImageData = hitContext.getImageData(0, 0, hitWidth, hitHeight);\n hitData = hitImageData.data;\n len = hitData.length;\n rgbColorKey = Util_1.Util._hexToRgb(this.colorKey);\n for (i = 0; i < len; i += 4) {\n alpha = hitData[i + 3];\n if (alpha > alphaThreshold) {\n hitData[i] = rgbColorKey.r;\n hitData[i + 1] = rgbColorKey.g;\n hitData[i + 2] = rgbColorKey.b;\n hitData[i + 3] = 255;\n }\n else {\n hitData[i + 3] = 0;\n }\n }\n hitContext.putImageData(hitImageData, 0, 0);\n }\n catch (e) {\n Util_1.Util.error('Unable to draw hit graph from cached scene canvas. ' + e.message);\n }\n return this;\n }\n hasPointerCapture(pointerId) {\n return PointerEvents.hasPointerCapture(pointerId, this);\n }\n setPointerCapture(pointerId) {\n PointerEvents.setPointerCapture(pointerId, this);\n }\n releaseCapture(pointerId) {\n PointerEvents.releaseCapture(pointerId, this);\n }\n}\nexports.Shape = Shape;\nShape.prototype._fillFunc = _fillFunc;\nShape.prototype._strokeFunc = _strokeFunc;\nShape.prototype._fillFuncHit = _fillFuncHit;\nShape.prototype._strokeFuncHit = _strokeFuncHit;\nShape.prototype._centroid = false;\nShape.prototype.nodeType = 'Shape';\n(0, Global_2._registerNode)(Shape);\nShape.prototype.eventListeners = {};\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearHasShadowCache);\nShape.prototype.on.call(Shape.prototype, 'shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva', _clearGetShadowRGBACache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva', _clearFillPatternCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva', _clearLinearGradientCache);\nShape.prototype.on.call(Shape.prototype, 'fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva', _clearRadialGradientCache);\nFactory_1.Factory.addGetterSetter(Shape, 'stroke', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeWidth', 2, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillAfterStrokeEnabled', false);\nFactory_1.Factory.addGetterSetter(Shape, 'hitStrokeWidth', 'auto', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'strokeHitEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'perfectDrawEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowForStrokeEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'lineJoin');\nFactory_1.Factory.addGetterSetter(Shape, 'lineCap');\nFactory_1.Factory.addGetterSetter(Shape, 'sceneFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'hitFunc');\nFactory_1.Factory.addGetterSetter(Shape, 'dash');\nFactory_1.Factory.addGetterSetter(Shape, 'dashOffset', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowColor', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowBlur', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOpacity', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'shadowOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'shadowOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternImage');\nFactory_1.Factory.addGetterSetter(Shape, 'fill', undefined, (0, Validators_1.getStringOrGradientValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndRadius', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientColorStops');\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRepeat', 'repeat');\nFactory_1.Factory.addGetterSetter(Shape, 'fillEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'shadowEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'dashEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeScaleEnabled', true);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPriority', 'color');\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternOffset', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternOffsetY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillPatternScale', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleX', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternScaleY', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientStartPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'strokeLinearGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillLinearGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'strokeLinearGradientEndPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientStartPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientStartPointY', 0);\nFactory_1.Factory.addComponentsGetterSetter(Shape, 'fillRadialGradientEndPoint', [\n 'x',\n 'y',\n]);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointX', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRadialGradientEndPointY', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillPatternRotation', 0);\nFactory_1.Factory.addGetterSetter(Shape, 'fillRule', undefined, (0, Validators_1.getStringValidator)());\nFactory_1.Factory.backCompat(Shape, {\n dashArray: 'dash',\n getDashArray: 'getDash',\n setDashArray: 'getDash',\n drawFunc: 'sceneFunc',\n getDrawFunc: 'getSceneFunc',\n setDrawFunc: 'setSceneFunc',\n drawHitFunc: 'hitFunc',\n getDrawHitFunc: 'getHitFunc',\n setDrawHitFunc: 'setHitFunc',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Layer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Node_1 = require(\"./Node\");\nconst Factory_1 = require(\"./Factory\");\nconst Canvas_1 = require(\"./Canvas\");\nconst Validators_1 = require(\"./Validators\");\nconst Shape_1 = require(\"./Shape\");\nconst Global_1 = require(\"./Global\");\nvar HASH = '#', BEFORE_DRAW = 'beforeDraw', DRAW = 'draw', INTERSECTION_OFFSETS = [\n { x: 0, y: 0 },\n { x: -1, y: -1 },\n { x: 1, y: -1 },\n { x: 1, y: 1 },\n { x: -1, y: 1 },\n], INTERSECTION_OFFSETS_LEN = INTERSECTION_OFFSETS.length;\nclass Layer extends Container_1.Container {\n constructor(config) {\n super(config);\n this.canvas = new Canvas_1.SceneCanvas();\n this.hitCanvas = new Canvas_1.HitCanvas({\n pixelRatio: 1,\n });\n this._waitingForDraw = false;\n this.on('visibleChange.konva', this._checkVisibility);\n this._checkVisibility();\n this.on('imageSmoothingEnabledChange.konva', this._setSmoothEnabled);\n this._setSmoothEnabled();\n }\n createPNGStream() {\n const c = this.canvas._canvas;\n return c.createPNGStream();\n }\n getCanvas() {\n return this.canvas;\n }\n getNativeCanvasElement() {\n return this.canvas._canvas;\n }\n getHitCanvas() {\n return this.hitCanvas;\n }\n getContext() {\n return this.getCanvas().getContext();\n }\n clear(bounds) {\n this.getContext().clear(bounds);\n this.getHitCanvas().getContext().clear(bounds);\n return this;\n }\n setZIndex(index) {\n super.setZIndex(index);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n if (index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n }\n return this;\n }\n moveToTop() {\n Node_1.Node.prototype.moveToTop.call(this);\n var stage = this.getStage();\n if (stage && stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveUp() {\n var moved = Node_1.Node.prototype.moveUp.call(this);\n if (!moved) {\n return false;\n }\n var stage = this.getStage();\n if (!stage || !stage.content) {\n return false;\n }\n stage.content.removeChild(this.getNativeCanvasElement());\n if (this.index < stage.children.length - 1) {\n stage.content.insertBefore(this.getNativeCanvasElement(), stage.children[this.index + 1].getCanvas()._canvas);\n }\n else {\n stage.content.appendChild(this.getNativeCanvasElement());\n }\n return true;\n }\n moveDown() {\n if (Node_1.Node.prototype.moveDown.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[this.index + 1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n moveToBottom() {\n if (Node_1.Node.prototype.moveToBottom.call(this)) {\n var stage = this.getStage();\n if (stage) {\n var children = stage.children;\n if (stage.content) {\n stage.content.removeChild(this.getNativeCanvasElement());\n stage.content.insertBefore(this.getNativeCanvasElement(), children[1].getCanvas()._canvas);\n }\n }\n return true;\n }\n return false;\n }\n getLayer() {\n return this;\n }\n remove() {\n var _canvas = this.getNativeCanvasElement();\n Node_1.Node.prototype.remove.call(this);\n if (_canvas && _canvas.parentNode && Util_1.Util._isInDocument(_canvas)) {\n _canvas.parentNode.removeChild(_canvas);\n }\n return this;\n }\n getStage() {\n return this.parent;\n }\n setSize({ width, height }) {\n this.canvas.setSize(width, height);\n this.hitCanvas.setSize(width, height);\n this._setSmoothEnabled();\n return this;\n }\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to a layer.');\n }\n }\n _toKonvaCanvas(config) {\n config = config || {};\n config.width = config.width || this.getWidth();\n config.height = config.height || this.getHeight();\n config.x = config.x !== undefined ? config.x : this.x();\n config.y = config.y !== undefined ? config.y : this.y();\n return Node_1.Node.prototype._toKonvaCanvas.call(this, config);\n }\n _checkVisibility() {\n const visible = this.visible();\n if (visible) {\n this.canvas._canvas.style.display = 'block';\n }\n else {\n this.canvas._canvas.style.display = 'none';\n }\n }\n _setSmoothEnabled() {\n this.getContext()._context.imageSmoothingEnabled =\n this.imageSmoothingEnabled();\n }\n getWidth() {\n if (this.parent) {\n return this.parent.width();\n }\n }\n setWidth() {\n Util_1.Util.warn('Can not change width of layer. Use \"stage.width(value)\" function instead.');\n }\n getHeight() {\n if (this.parent) {\n return this.parent.height();\n }\n }\n setHeight() {\n Util_1.Util.warn('Can not change height of layer. Use \"stage.height(value)\" function instead.');\n }\n batchDraw() {\n if (!this._waitingForDraw) {\n this._waitingForDraw = true;\n Util_1.Util.requestAnimFrame(() => {\n this.draw();\n this._waitingForDraw = false;\n });\n }\n return this;\n }\n getIntersection(pos) {\n if (!this.isListening() || !this.isVisible()) {\n return null;\n }\n var spiralSearchDistance = 1;\n var continueSearch = false;\n while (true) {\n for (let i = 0; i < INTERSECTION_OFFSETS_LEN; i++) {\n const intersectionOffset = INTERSECTION_OFFSETS[i];\n const obj = this._getIntersection({\n x: pos.x + intersectionOffset.x * spiralSearchDistance,\n y: pos.y + intersectionOffset.y * spiralSearchDistance,\n });\n const shape = obj.shape;\n if (shape) {\n return shape;\n }\n continueSearch = !!obj.antialiased;\n if (!obj.antialiased) {\n break;\n }\n }\n if (continueSearch) {\n spiralSearchDistance += 1;\n }\n else {\n return null;\n }\n }\n }\n _getIntersection(pos) {\n const ratio = this.hitCanvas.pixelRatio;\n const p = this.hitCanvas.context.getImageData(Math.round(pos.x * ratio), Math.round(pos.y * ratio), 1, 1).data;\n const p3 = p[3];\n if (p3 === 255) {\n const colorKey = Util_1.Util._rgbToHex(p[0], p[1], p[2]);\n const shape = Shape_1.shapes[HASH + colorKey];\n if (shape) {\n return {\n shape: shape,\n };\n }\n return {\n antialiased: true,\n };\n }\n else if (p3 > 0) {\n return {\n antialiased: true,\n };\n }\n return {};\n }\n drawScene(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.getCanvas());\n this._fire(BEFORE_DRAW, {\n node: this,\n });\n if (this.clearBeforeDraw()) {\n canvas.getContext().clear();\n }\n Container_1.Container.prototype.drawScene.call(this, canvas, top);\n this._fire(DRAW, {\n node: this,\n });\n return this;\n }\n drawHit(can, top) {\n var layer = this.getLayer(), canvas = can || (layer && layer.hitCanvas);\n if (layer && layer.clearBeforeDraw()) {\n layer.getHitCanvas().getContext().clear();\n }\n Container_1.Container.prototype.drawHit.call(this, canvas, top);\n return this;\n }\n enableHitGraph() {\n this.hitGraphEnabled(true);\n return this;\n }\n disableHitGraph() {\n this.hitGraphEnabled(false);\n return this;\n }\n setHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n this.listening(val);\n }\n getHitGraphEnabled(val) {\n Util_1.Util.warn('hitGraphEnabled method is deprecated. Please use layer.listening() instead.');\n return this.listening();\n }\n toggleHitCanvas() {\n if (!this.parent || !this.parent['content']) {\n return;\n }\n var parent = this.parent;\n var added = !!this.hitCanvas._canvas.parentNode;\n if (added) {\n parent.content.removeChild(this.hitCanvas._canvas);\n }\n else {\n parent.content.appendChild(this.hitCanvas._canvas);\n }\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.getNativeCanvasElement(), this.getHitCanvas()._canvas);\n return super.destroy();\n }\n}\nexports.Layer = Layer;\nLayer.prototype.nodeType = 'Layer';\n(0, Global_1._registerNode)(Layer);\nFactory_1.Factory.addGetterSetter(Layer, 'imageSmoothingEnabled', true);\nFactory_1.Factory.addGetterSetter(Layer, 'clearBeforeDraw', true);\nFactory_1.Factory.addGetterSetter(Layer, 'hitGraphEnabled', true, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FastLayer = void 0;\nconst Util_1 = require(\"./Util\");\nconst Layer_1 = require(\"./Layer\");\nconst Global_1 = require(\"./Global\");\nclass FastLayer extends Layer_1.Layer {\n constructor(attrs) {\n super(attrs);\n this.listening(false);\n Util_1.Util.warn('Konva.Fast layer is deprecated. Please use \"new Konva.Layer({ listening: false })\" instead.');\n }\n}\nexports.FastLayer = FastLayer;\nFastLayer.prototype.nodeType = 'FastLayer';\n(0, Global_1._registerNode)(FastLayer);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nconst Util_1 = require(\"./Util\");\nconst Container_1 = require(\"./Container\");\nconst Global_1 = require(\"./Global\");\nclass Group extends Container_1.Container {\n _validateAdd(child) {\n var type = child.getType();\n if (type !== 'Group' && type !== 'Shape') {\n Util_1.Util.throw('You may only add groups and shapes to groups.');\n }\n }\n}\nexports.Group = Group;\nGroup.prototype.nodeType = 'Group';\n(0, Global_1._registerNode)(Group);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animation = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst now = (function () {\n if (Global_1.glob.performance && Global_1.glob.performance.now) {\n return function () {\n return Global_1.glob.performance.now();\n };\n }\n return function () {\n return new Date().getTime();\n };\n})();\nclass Animation {\n constructor(func, layers) {\n this.id = Animation.animIdCounter++;\n this.frame = {\n time: 0,\n timeDiff: 0,\n lastTime: now(),\n frameRate: 0,\n };\n this.func = func;\n this.setLayers(layers);\n }\n setLayers(layers) {\n let lays = [];\n if (layers) {\n lays = Array.isArray(layers) ? layers : [layers];\n }\n this.layers = lays;\n return this;\n }\n getLayers() {\n return this.layers;\n }\n addLayer(layer) {\n const layers = this.layers;\n const len = layers.length;\n for (let n = 0; n < len; n++) {\n if (layers[n]._id === layer._id) {\n return false;\n }\n }\n this.layers.push(layer);\n return true;\n }\n isRunning() {\n const a = Animation;\n const animations = a.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === this.id) {\n return true;\n }\n }\n return false;\n }\n start() {\n this.stop();\n this.frame.timeDiff = 0;\n this.frame.lastTime = now();\n Animation._addAnimation(this);\n return this;\n }\n stop() {\n Animation._removeAnimation(this);\n return this;\n }\n _updateFrameObject(time) {\n this.frame.timeDiff = time - this.frame.lastTime;\n this.frame.lastTime = time;\n this.frame.time += this.frame.timeDiff;\n this.frame.frameRate = 1000 / this.frame.timeDiff;\n }\n static _addAnimation(anim) {\n this.animations.push(anim);\n this._handleAnimation();\n }\n static _removeAnimation(anim) {\n const id = anim.id;\n const animations = this.animations;\n const len = animations.length;\n for (let n = 0; n < len; n++) {\n if (animations[n].id === id) {\n this.animations.splice(n, 1);\n break;\n }\n }\n }\n static _runFrames() {\n const layerHash = {};\n const animations = this.animations;\n for (let n = 0; n < animations.length; n++) {\n const anim = animations[n];\n const layers = anim.layers;\n const func = anim.func;\n anim._updateFrameObject(now());\n const layersLen = layers.length;\n let needRedraw;\n if (func) {\n needRedraw = func.call(anim, anim.frame) !== false;\n }\n else {\n needRedraw = true;\n }\n if (!needRedraw) {\n continue;\n }\n for (let i = 0; i < layersLen; i++) {\n const layer = layers[i];\n if (layer._id !== undefined) {\n layerHash[layer._id] = layer;\n }\n }\n }\n for (let key in layerHash) {\n if (!layerHash.hasOwnProperty(key)) {\n continue;\n }\n layerHash[key].batchDraw();\n }\n }\n static _animationLoop() {\n const Anim = Animation;\n if (Anim.animations.length) {\n Anim._runFrames();\n Util_1.Util.requestAnimFrame(Anim._animationLoop);\n }\n else {\n Anim.animRunning = false;\n }\n }\n static _handleAnimation() {\n if (!this.animRunning) {\n this.animRunning = true;\n Util_1.Util.requestAnimFrame(this._animationLoop);\n }\n }\n}\nexports.Animation = Animation;\nAnimation.animations = [];\nAnimation.animIdCounter = 0;\nAnimation.animRunning = false;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Easings = exports.Tween = void 0;\nconst Util_1 = require(\"./Util\");\nconst Animation_1 = require(\"./Animation\");\nconst Node_1 = require(\"./Node\");\nconst Global_1 = require(\"./Global\");\nvar blacklist = {\n node: 1,\n duration: 1,\n easing: 1,\n onFinish: 1,\n yoyo: 1,\n}, PAUSED = 1, PLAYING = 2, REVERSING = 3, idCounter = 0, colorAttrs = ['fill', 'stroke', 'shadowColor'];\nclass TweenEngine {\n constructor(prop, propFunc, func, begin, finish, duration, yoyo) {\n this.prop = prop;\n this.propFunc = propFunc;\n this.begin = begin;\n this._pos = begin;\n this.duration = duration;\n this._change = 0;\n this.prevPos = 0;\n this.yoyo = yoyo;\n this._time = 0;\n this._position = 0;\n this._startTime = 0;\n this._finish = 0;\n this.func = func;\n this._change = finish - this.begin;\n this.pause();\n }\n fire(str) {\n var handler = this[str];\n if (handler) {\n handler();\n }\n }\n setTime(t) {\n if (t > this.duration) {\n if (this.yoyo) {\n this._time = this.duration;\n this.reverse();\n }\n else {\n this.finish();\n }\n }\n else if (t < 0) {\n if (this.yoyo) {\n this._time = 0;\n this.play();\n }\n else {\n this.reset();\n }\n }\n else {\n this._time = t;\n this.update();\n }\n }\n getTime() {\n return this._time;\n }\n setPosition(p) {\n this.prevPos = this._pos;\n this.propFunc(p);\n this._pos = p;\n }\n getPosition(t) {\n if (t === undefined) {\n t = this._time;\n }\n return this.func(t, this.begin, this._change, this.duration);\n }\n play() {\n this.state = PLAYING;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onPlay');\n }\n reverse() {\n this.state = REVERSING;\n this._time = this.duration - this._time;\n this._startTime = this.getTimer() - this._time;\n this.onEnterFrame();\n this.fire('onReverse');\n }\n seek(t) {\n this.pause();\n this._time = t;\n this.update();\n this.fire('onSeek');\n }\n reset() {\n this.pause();\n this._time = 0;\n this.update();\n this.fire('onReset');\n }\n finish() {\n this.pause();\n this._time = this.duration;\n this.update();\n this.fire('onFinish');\n }\n update() {\n this.setPosition(this.getPosition(this._time));\n this.fire('onUpdate');\n }\n onEnterFrame() {\n var t = this.getTimer() - this._startTime;\n if (this.state === PLAYING) {\n this.setTime(t);\n }\n else if (this.state === REVERSING) {\n this.setTime(this.duration - t);\n }\n }\n pause() {\n this.state = PAUSED;\n this.fire('onPause');\n }\n getTimer() {\n return new Date().getTime();\n }\n}\nclass Tween {\n constructor(config) {\n var that = this, node = config.node, nodeId = node._id, duration, easing = config.easing || exports.Easings.Linear, yoyo = !!config.yoyo, key;\n if (typeof config.duration === 'undefined') {\n duration = 0.3;\n }\n else if (config.duration === 0) {\n duration = 0.001;\n }\n else {\n duration = config.duration;\n }\n this.node = node;\n this._id = idCounter++;\n var layers = node.getLayer() ||\n (node instanceof Global_1.Konva['Stage'] ? node.getLayers() : null);\n if (!layers) {\n Util_1.Util.error('Tween constructor have `node` that is not in a layer. Please add node into layer first.');\n }\n this.anim = new Animation_1.Animation(function () {\n that.tween.onEnterFrame();\n }, layers);\n this.tween = new TweenEngine(key, function (i) {\n that._tweenFunc(i);\n }, easing, 0, 1, duration * 1000, yoyo);\n this._addListeners();\n if (!Tween.attrs[nodeId]) {\n Tween.attrs[nodeId] = {};\n }\n if (!Tween.attrs[nodeId][this._id]) {\n Tween.attrs[nodeId][this._id] = {};\n }\n if (!Tween.tweens[nodeId]) {\n Tween.tweens[nodeId] = {};\n }\n for (key in config) {\n if (blacklist[key] === undefined) {\n this._addAttr(key, config[key]);\n }\n }\n this.reset();\n this.onFinish = config.onFinish;\n this.onReset = config.onReset;\n this.onUpdate = config.onUpdate;\n }\n _addAttr(key, end) {\n var node = this.node, nodeId = node._id, start, diff, tweenId, n, len, trueEnd, trueStart, endRGBA;\n tweenId = Tween.tweens[nodeId][key];\n if (tweenId) {\n delete Tween.attrs[nodeId][tweenId][key];\n }\n start = node.getAttr(key);\n if (Util_1.Util._isArray(end)) {\n diff = [];\n len = Math.max(end.length, start.length);\n if (key === 'points' && end.length !== start.length) {\n if (end.length > start.length) {\n trueStart = start;\n start = Util_1.Util._prepareArrayForTween(start, end, node.closed());\n }\n else {\n trueEnd = end;\n end = Util_1.Util._prepareArrayForTween(end, start, node.closed());\n }\n }\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n diff.push(end[n] - start[n]);\n }\n else {\n var startRGBA = Util_1.Util.colorToRGBA(start[n]);\n endRGBA = Util_1.Util.colorToRGBA(end[n]);\n start[n] = startRGBA;\n diff.push({\n r: endRGBA.r - startRGBA.r,\n g: endRGBA.g - startRGBA.g,\n b: endRGBA.b - startRGBA.b,\n a: endRGBA.a - startRGBA.a,\n });\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n diff.push(end[n] - start[n]);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n start = Util_1.Util.colorToRGBA(start);\n endRGBA = Util_1.Util.colorToRGBA(end);\n diff = {\n r: endRGBA.r - start.r,\n g: endRGBA.g - start.g,\n b: endRGBA.b - start.b,\n a: endRGBA.a - start.a,\n };\n }\n else {\n diff = end - start;\n }\n Tween.attrs[nodeId][this._id][key] = {\n start: start,\n diff: diff,\n end: end,\n trueEnd: trueEnd,\n trueStart: trueStart,\n };\n Tween.tweens[nodeId][key] = this._id;\n }\n _tweenFunc(i) {\n var node = this.node, attrs = Tween.attrs[node._id][this._id], key, attr, start, diff, newVal, n, len, end;\n for (key in attrs) {\n attr = attrs[key];\n start = attr.start;\n diff = attr.diff;\n end = attr.end;\n if (Util_1.Util._isArray(start)) {\n newVal = [];\n len = Math.max(start.length, end.length);\n if (key.indexOf('fill') === 0) {\n for (n = 0; n < len; n++) {\n if (n % 2 === 0) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n else {\n newVal.push('rgba(' +\n Math.round(start[n].r + diff[n].r * i) +\n ',' +\n Math.round(start[n].g + diff[n].g * i) +\n ',' +\n Math.round(start[n].b + diff[n].b * i) +\n ',' +\n (start[n].a + diff[n].a * i) +\n ')');\n }\n }\n }\n else {\n for (n = 0; n < len; n++) {\n newVal.push((start[n] || 0) + diff[n] * i);\n }\n }\n }\n else if (colorAttrs.indexOf(key) !== -1) {\n newVal =\n 'rgba(' +\n Math.round(start.r + diff.r * i) +\n ',' +\n Math.round(start.g + diff.g * i) +\n ',' +\n Math.round(start.b + diff.b * i) +\n ',' +\n (start.a + diff.a * i) +\n ')';\n }\n else {\n newVal = start + diff * i;\n }\n node.setAttr(key, newVal);\n }\n }\n _addListeners() {\n this.tween.onPlay = () => {\n this.anim.start();\n };\n this.tween.onReverse = () => {\n this.anim.start();\n };\n this.tween.onPause = () => {\n this.anim.stop();\n };\n this.tween.onFinish = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueEnd) {\n node.setAttr('points', attrs.points.trueEnd);\n }\n if (this.onFinish) {\n this.onFinish.call(this);\n }\n };\n this.tween.onReset = () => {\n var node = this.node;\n var attrs = Tween.attrs[node._id][this._id];\n if (attrs.points && attrs.points.trueStart) {\n node.points(attrs.points.trueStart);\n }\n if (this.onReset) {\n this.onReset();\n }\n };\n this.tween.onUpdate = () => {\n if (this.onUpdate) {\n this.onUpdate.call(this);\n }\n };\n }\n play() {\n this.tween.play();\n return this;\n }\n reverse() {\n this.tween.reverse();\n return this;\n }\n reset() {\n this.tween.reset();\n return this;\n }\n seek(t) {\n this.tween.seek(t * 1000);\n return this;\n }\n pause() {\n this.tween.pause();\n return this;\n }\n finish() {\n this.tween.finish();\n return this;\n }\n destroy() {\n var nodeId = this.node._id, thisId = this._id, attrs = Tween.tweens[nodeId], key;\n this.pause();\n for (key in attrs) {\n delete Tween.tweens[nodeId][key];\n }\n delete Tween.attrs[nodeId][thisId];\n }\n}\nexports.Tween = Tween;\nTween.attrs = {};\nTween.tweens = {};\nNode_1.Node.prototype.to = function (params) {\n var onFinish = params.onFinish;\n params.node = this;\n params.onFinish = function () {\n this.destroy();\n if (onFinish) {\n onFinish();\n }\n };\n var tween = new Tween(params);\n tween.play();\n};\nexports.Easings = {\n BackEaseIn(t, b, c, d) {\n var s = 1.70158;\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n BackEaseOut(t, b, c, d) {\n var s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n BackEaseInOut(t, b, c, d) {\n var s = 1.70158;\n if ((t /= d / 2) < 1) {\n return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n }\n return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n },\n ElasticEaseIn(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (-(a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b);\n },\n ElasticEaseOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n return (a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) +\n c +\n b);\n },\n ElasticEaseInOut(t, b, c, d, a, p) {\n var s = 0;\n if (t === 0) {\n return b;\n }\n if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (!a || a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = (p / (2 * Math.PI)) * Math.asin(c / a);\n }\n if (t < 1) {\n return (-0.5 *\n (a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p)) +\n b);\n }\n return (a *\n Math.pow(2, -10 * (t -= 1)) *\n Math.sin(((t * d - s) * (2 * Math.PI)) / p) *\n 0.5 +\n c +\n b);\n },\n BounceEaseOut(t, b, c, d) {\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n }\n else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n BounceEaseIn(t, b, c, d) {\n return c - exports.Easings.BounceEaseOut(d - t, 0, c, d) + b;\n },\n BounceEaseInOut(t, b, c, d) {\n if (t < d / 2) {\n return exports.Easings.BounceEaseIn(t * 2, 0, c, d) * 0.5 + b;\n }\n else {\n return exports.Easings.BounceEaseOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n },\n EaseIn(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n EaseOut(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n EaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t + b;\n }\n return (-c / 2) * (--t * (t - 2) - 1) + b;\n },\n StrongEaseIn(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n },\n StrongEaseOut(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n StrongEaseInOut(t, b, c, d) {\n if ((t /= d / 2) < 1) {\n return (c / 2) * t * t * t * t * t + b;\n }\n return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b;\n },\n Linear(t, b, c, d) {\n return (c * t) / d + b;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst Global_1 = require(\"./Global\");\nconst Util_1 = require(\"./Util\");\nconst Node_1 = require(\"./Node\");\nconst Container_1 = require(\"./Container\");\nconst Stage_1 = require(\"./Stage\");\nconst Layer_1 = require(\"./Layer\");\nconst FastLayer_1 = require(\"./FastLayer\");\nconst Group_1 = require(\"./Group\");\nconst DragAndDrop_1 = require(\"./DragAndDrop\");\nconst Shape_1 = require(\"./Shape\");\nconst Animation_1 = require(\"./Animation\");\nconst Tween_1 = require(\"./Tween\");\nconst Context_1 = require(\"./Context\");\nconst Canvas_1 = require(\"./Canvas\");\nexports.Konva = Util_1.Util._assign(Global_1.Konva, {\n Util: Util_1.Util,\n Transform: Util_1.Transform,\n Node: Node_1.Node,\n Container: Container_1.Container,\n Stage: Stage_1.Stage,\n stages: Stage_1.stages,\n Layer: Layer_1.Layer,\n FastLayer: FastLayer_1.FastLayer,\n Group: Group_1.Group,\n DD: DragAndDrop_1.DD,\n Shape: Shape_1.Shape,\n shapes: Shape_1.shapes,\n Animation: Animation_1.Animation,\n Tween: Tween_1.Tween,\n Easings: Tween_1.Easings,\n Context: Context_1.Context,\n Canvas: Canvas_1.Canvas,\n});\nexports.default = exports.Konva;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arc = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Arc extends Shape_1.Shape {\n _sceneFunc(context) {\n var angle = Global_1.Konva.getAngle(this.angle()), clockwise = this.clockwise();\n context.beginPath();\n context.arc(0, 0, this.outerRadius(), 0, angle, clockwise);\n context.arc(0, 0, this.innerRadius(), angle, 0, !clockwise);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n getSelfRect() {\n const innerRadius = this.innerRadius();\n const outerRadius = this.outerRadius();\n const clockwise = this.clockwise();\n const angle = Global_1.Konva.getAngle(clockwise ? 360 - this.angle() : this.angle());\n const boundLeftRatio = Math.cos(Math.min(angle, Math.PI));\n const boundRightRatio = 1;\n const boundTopRatio = Math.sin(Math.min(Math.max(Math.PI, angle), (3 * Math.PI) / 2));\n const boundBottomRatio = Math.sin(Math.min(angle, Math.PI / 2));\n const boundLeft = boundLeftRatio * (boundLeftRatio > 0 ? innerRadius : outerRadius);\n const boundRight = boundRightRatio * (boundRightRatio > 0 ? outerRadius : innerRadius);\n const boundTop = boundTopRatio * (boundTopRatio > 0 ? innerRadius : outerRadius);\n const boundBottom = boundBottomRatio * (boundBottomRatio > 0 ? outerRadius : innerRadius);\n return {\n x: boundLeft,\n y: clockwise ? -1 * boundBottom : boundTop,\n width: boundRight - boundLeft,\n height: boundBottom - boundTop,\n };\n }\n}\nexports.Arc = Arc;\nArc.prototype._centroid = true;\nArc.prototype.className = 'Arc';\nArc.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_2._registerNode)(Arc);\nFactory_1.Factory.addGetterSetter(Arc, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arc, 'clockwise', false, (0, Validators_1.getBooleanValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Line = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nfunction getControlPoints(x0, y0, x1, y1, x2, y2, t) {\n var d01 = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2)), d12 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)), fa = (t * d01) / (d01 + d12), fb = (t * d12) / (d01 + d12), p1x = x1 - fa * (x2 - x0), p1y = y1 - fa * (y2 - y0), p2x = x1 + fb * (x2 - x0), p2y = y1 + fb * (y2 - y0);\n return [p1x, p1y, p2x, p2y];\n}\nfunction expandPoints(p, tension) {\n var len = p.length, allPoints = [], n, cp;\n for (n = 2; n < len - 2; n += 2) {\n cp = getControlPoints(p[n - 2], p[n - 1], p[n], p[n + 1], p[n + 2], p[n + 3], tension);\n if (isNaN(cp[0])) {\n continue;\n }\n allPoints.push(cp[0]);\n allPoints.push(cp[1]);\n allPoints.push(p[n]);\n allPoints.push(p[n + 1]);\n allPoints.push(cp[2]);\n allPoints.push(cp[3]);\n }\n return allPoints;\n}\nclass Line extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.on('pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva', function () {\n this._clearCache('tensionPoints');\n });\n }\n _sceneFunc(context) {\n var points = this.points(), length = points.length, tension = this.tension(), closed = this.closed(), bezier = this.bezier(), tp, len, n;\n if (!length) {\n return;\n }\n context.beginPath();\n context.moveTo(points[0], points[1]);\n if (tension !== 0 && length > 4) {\n tp = this.getTensionPoints();\n len = tp.length;\n n = closed ? 0 : 4;\n if (!closed) {\n context.quadraticCurveTo(tp[0], tp[1], tp[2], tp[3]);\n }\n while (n < len - 2) {\n context.bezierCurveTo(tp[n++], tp[n++], tp[n++], tp[n++], tp[n++], tp[n++]);\n }\n if (!closed) {\n context.quadraticCurveTo(tp[len - 2], tp[len - 1], points[length - 2], points[length - 1]);\n }\n }\n else if (bezier) {\n n = 2;\n while (n < length) {\n context.bezierCurveTo(points[n++], points[n++], points[n++], points[n++], points[n++], points[n++]);\n }\n }\n else {\n for (n = 2; n < length; n += 2) {\n context.lineTo(points[n], points[n + 1]);\n }\n }\n if (closed) {\n context.closePath();\n context.fillStrokeShape(this);\n }\n else {\n context.strokeShape(this);\n }\n }\n getTensionPoints() {\n return this._getCache('tensionPoints', this._getTensionPoints);\n }\n _getTensionPoints() {\n if (this.closed()) {\n return this._getTensionPointsClosed();\n }\n else {\n return expandPoints(this.points(), this.tension());\n }\n }\n _getTensionPointsClosed() {\n var p = this.points(), len = p.length, tension = this.tension(), firstControlPoints = getControlPoints(p[len - 2], p[len - 1], p[0], p[1], p[2], p[3], tension), lastControlPoints = getControlPoints(p[len - 4], p[len - 3], p[len - 2], p[len - 1], p[0], p[1], tension), middle = expandPoints(p, tension), tp = [firstControlPoints[2], firstControlPoints[3]]\n .concat(middle)\n .concat([\n lastControlPoints[0],\n lastControlPoints[1],\n p[len - 2],\n p[len - 1],\n lastControlPoints[2],\n lastControlPoints[3],\n firstControlPoints[0],\n firstControlPoints[1],\n p[0],\n p[1],\n ]);\n return tp;\n }\n getWidth() {\n return this.getSelfRect().width;\n }\n getHeight() {\n return this.getSelfRect().height;\n }\n getSelfRect() {\n var points = this.points();\n if (points.length < 4) {\n return {\n x: points[0] || 0,\n y: points[1] || 0,\n width: 0,\n height: 0,\n };\n }\n if (this.tension() !== 0) {\n points = [\n points[0],\n points[1],\n ...this._getTensionPoints(),\n points[points.length - 2],\n points[points.length - 1],\n ];\n }\n else {\n points = this.points();\n }\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n}\nexports.Line = Line;\nLine.prototype.className = 'Line';\nLine.prototype._attrsAffectingSize = ['points', 'bezier', 'tension'];\n(0, Global_1._registerNode)(Line);\nFactory_1.Factory.addGetterSetter(Line, 'closed', false);\nFactory_1.Factory.addGetterSetter(Line, 'bezier', false);\nFactory_1.Factory.addGetterSetter(Line, 'tension', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Line, 'points', [], (0, Validators_1.getNumberArrayValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.t2length = exports.getQuadraticArcLength = exports.getCubicArcLength = exports.binomialCoefficients = exports.cValues = exports.tValues = void 0;\nexports.tValues = [\n [],\n [],\n [\n -0.5773502691896257645091487805019574556476,\n 0.5773502691896257645091487805019574556476,\n ],\n [\n 0, -0.7745966692414833770358530799564799221665,\n 0.7745966692414833770358530799564799221665,\n ],\n [\n -0.3399810435848562648026657591032446872005,\n 0.3399810435848562648026657591032446872005,\n -0.8611363115940525752239464888928095050957,\n 0.8611363115940525752239464888928095050957,\n ],\n [\n 0, -0.5384693101056830910363144207002088049672,\n 0.5384693101056830910363144207002088049672,\n -0.9061798459386639927976268782993929651256,\n 0.9061798459386639927976268782993929651256,\n ],\n [\n 0.6612093864662645136613995950199053470064,\n -0.6612093864662645136613995950199053470064,\n -0.2386191860831969086305017216807119354186,\n 0.2386191860831969086305017216807119354186,\n -0.9324695142031520278123015544939946091347,\n 0.9324695142031520278123015544939946091347,\n ],\n [\n 0, 0.4058451513773971669066064120769614633473,\n -0.4058451513773971669066064120769614633473,\n -0.7415311855993944398638647732807884070741,\n 0.7415311855993944398638647732807884070741,\n -0.9491079123427585245261896840478512624007,\n 0.9491079123427585245261896840478512624007,\n ],\n [\n -0.1834346424956498049394761423601839806667,\n 0.1834346424956498049394761423601839806667,\n -0.5255324099163289858177390491892463490419,\n 0.5255324099163289858177390491892463490419,\n -0.7966664774136267395915539364758304368371,\n 0.7966664774136267395915539364758304368371,\n -0.9602898564975362316835608685694729904282,\n 0.9602898564975362316835608685694729904282,\n ],\n [\n 0, -0.8360311073266357942994297880697348765441,\n 0.8360311073266357942994297880697348765441,\n -0.9681602395076260898355762029036728700494,\n 0.9681602395076260898355762029036728700494,\n -0.3242534234038089290385380146433366085719,\n 0.3242534234038089290385380146433366085719,\n -0.6133714327005903973087020393414741847857,\n 0.6133714327005903973087020393414741847857,\n ],\n [\n -0.1488743389816312108848260011297199846175,\n 0.1488743389816312108848260011297199846175,\n -0.4333953941292471907992659431657841622,\n 0.4333953941292471907992659431657841622,\n -0.6794095682990244062343273651148735757692,\n 0.6794095682990244062343273651148735757692,\n -0.8650633666889845107320966884234930485275,\n 0.8650633666889845107320966884234930485275,\n -0.9739065285171717200779640120844520534282,\n 0.9739065285171717200779640120844520534282,\n ],\n [\n 0, -0.2695431559523449723315319854008615246796,\n 0.2695431559523449723315319854008615246796,\n -0.5190961292068118159257256694586095544802,\n 0.5190961292068118159257256694586095544802,\n -0.7301520055740493240934162520311534580496,\n 0.7301520055740493240934162520311534580496,\n -0.8870625997680952990751577693039272666316,\n 0.8870625997680952990751577693039272666316,\n -0.9782286581460569928039380011228573907714,\n 0.9782286581460569928039380011228573907714,\n ],\n [\n -0.1252334085114689154724413694638531299833,\n 0.1252334085114689154724413694638531299833,\n -0.3678314989981801937526915366437175612563,\n 0.3678314989981801937526915366437175612563,\n -0.587317954286617447296702418940534280369,\n 0.587317954286617447296702418940534280369,\n -0.7699026741943046870368938332128180759849,\n 0.7699026741943046870368938332128180759849,\n -0.9041172563704748566784658661190961925375,\n 0.9041172563704748566784658661190961925375,\n -0.9815606342467192506905490901492808229601,\n 0.9815606342467192506905490901492808229601,\n ],\n [\n 0, -0.2304583159551347940655281210979888352115,\n 0.2304583159551347940655281210979888352115,\n -0.4484927510364468528779128521276398678019,\n 0.4484927510364468528779128521276398678019,\n -0.6423493394403402206439846069955156500716,\n 0.6423493394403402206439846069955156500716,\n -0.8015780907333099127942064895828598903056,\n 0.8015780907333099127942064895828598903056,\n -0.9175983992229779652065478365007195123904,\n 0.9175983992229779652065478365007195123904,\n -0.9841830547185881494728294488071096110649,\n 0.9841830547185881494728294488071096110649,\n ],\n [\n -0.1080549487073436620662446502198347476119,\n 0.1080549487073436620662446502198347476119,\n -0.3191123689278897604356718241684754668342,\n 0.3191123689278897604356718241684754668342,\n -0.5152486363581540919652907185511886623088,\n 0.5152486363581540919652907185511886623088,\n -0.6872929048116854701480198030193341375384,\n 0.6872929048116854701480198030193341375384,\n -0.8272013150697649931897947426503949610397,\n 0.8272013150697649931897947426503949610397,\n -0.928434883663573517336391139377874264477,\n 0.928434883663573517336391139377874264477,\n -0.986283808696812338841597266704052801676,\n 0.986283808696812338841597266704052801676,\n ],\n [\n 0, -0.2011940939974345223006283033945962078128,\n 0.2011940939974345223006283033945962078128,\n -0.3941513470775633698972073709810454683627,\n 0.3941513470775633698972073709810454683627,\n -0.5709721726085388475372267372539106412383,\n 0.5709721726085388475372267372539106412383,\n -0.7244177313601700474161860546139380096308,\n 0.7244177313601700474161860546139380096308,\n -0.8482065834104272162006483207742168513662,\n 0.8482065834104272162006483207742168513662,\n -0.9372733924007059043077589477102094712439,\n 0.9372733924007059043077589477102094712439,\n -0.9879925180204854284895657185866125811469,\n 0.9879925180204854284895657185866125811469,\n ],\n [\n -0.0950125098376374401853193354249580631303,\n 0.0950125098376374401853193354249580631303,\n -0.281603550779258913230460501460496106486,\n 0.281603550779258913230460501460496106486,\n -0.45801677765722738634241944298357757354,\n 0.45801677765722738634241944298357757354,\n -0.6178762444026437484466717640487910189918,\n 0.6178762444026437484466717640487910189918,\n -0.7554044083550030338951011948474422683538,\n 0.7554044083550030338951011948474422683538,\n -0.8656312023878317438804678977123931323873,\n 0.8656312023878317438804678977123931323873,\n -0.9445750230732325760779884155346083450911,\n 0.9445750230732325760779884155346083450911,\n -0.9894009349916499325961541734503326274262,\n 0.9894009349916499325961541734503326274262,\n ],\n [\n 0, -0.1784841814958478558506774936540655574754,\n 0.1784841814958478558506774936540655574754,\n -0.3512317634538763152971855170953460050405,\n 0.3512317634538763152971855170953460050405,\n -0.5126905370864769678862465686295518745829,\n 0.5126905370864769678862465686295518745829,\n -0.6576711592166907658503022166430023351478,\n 0.6576711592166907658503022166430023351478,\n -0.7815140038968014069252300555204760502239,\n 0.7815140038968014069252300555204760502239,\n -0.8802391537269859021229556944881556926234,\n 0.8802391537269859021229556944881556926234,\n -0.9506755217687677612227169578958030214433,\n 0.9506755217687677612227169578958030214433,\n -0.9905754753144173356754340199406652765077,\n 0.9905754753144173356754340199406652765077,\n ],\n [\n -0.0847750130417353012422618529357838117333,\n 0.0847750130417353012422618529357838117333,\n -0.2518862256915055095889728548779112301628,\n 0.2518862256915055095889728548779112301628,\n -0.4117511614628426460359317938330516370789,\n 0.4117511614628426460359317938330516370789,\n -0.5597708310739475346078715485253291369276,\n 0.5597708310739475346078715485253291369276,\n -0.6916870430603532078748910812888483894522,\n 0.6916870430603532078748910812888483894522,\n -0.8037049589725231156824174550145907971032,\n 0.8037049589725231156824174550145907971032,\n -0.8926024664975557392060605911271455154078,\n 0.8926024664975557392060605911271455154078,\n -0.9558239495713977551811958929297763099728,\n 0.9558239495713977551811958929297763099728,\n -0.9915651684209309467300160047061507702525,\n 0.9915651684209309467300160047061507702525,\n ],\n [\n 0, -0.1603586456402253758680961157407435495048,\n 0.1603586456402253758680961157407435495048,\n -0.3165640999636298319901173288498449178922,\n 0.3165640999636298319901173288498449178922,\n -0.4645707413759609457172671481041023679762,\n 0.4645707413759609457172671481041023679762,\n -0.6005453046616810234696381649462392798683,\n 0.6005453046616810234696381649462392798683,\n -0.7209661773352293786170958608237816296571,\n 0.7209661773352293786170958608237816296571,\n -0.8227146565371428249789224867127139017745,\n 0.8227146565371428249789224867127139017745,\n -0.9031559036148179016426609285323124878093,\n 0.9031559036148179016426609285323124878093,\n -0.960208152134830030852778840687651526615,\n 0.960208152134830030852778840687651526615,\n -0.9924068438435844031890176702532604935893,\n 0.9924068438435844031890176702532604935893,\n ],\n [\n -0.0765265211334973337546404093988382110047,\n 0.0765265211334973337546404093988382110047,\n -0.227785851141645078080496195368574624743,\n 0.227785851141645078080496195368574624743,\n -0.3737060887154195606725481770249272373957,\n 0.3737060887154195606725481770249272373957,\n -0.5108670019508270980043640509552509984254,\n 0.5108670019508270980043640509552509984254,\n -0.6360536807265150254528366962262859367433,\n 0.6360536807265150254528366962262859367433,\n -0.7463319064601507926143050703556415903107,\n 0.7463319064601507926143050703556415903107,\n -0.8391169718222188233945290617015206853296,\n 0.8391169718222188233945290617015206853296,\n -0.9122344282513259058677524412032981130491,\n 0.9122344282513259058677524412032981130491,\n -0.963971927277913791267666131197277221912,\n 0.963971927277913791267666131197277221912,\n -0.9931285991850949247861223884713202782226,\n 0.9931285991850949247861223884713202782226,\n ],\n [\n 0, -0.1455618541608950909370309823386863301163,\n 0.1455618541608950909370309823386863301163,\n -0.288021316802401096600792516064600319909,\n 0.288021316802401096600792516064600319909,\n -0.4243421202074387835736688885437880520964,\n 0.4243421202074387835736688885437880520964,\n -0.551618835887219807059018796724313286622,\n 0.551618835887219807059018796724313286622,\n -0.667138804197412319305966669990339162597,\n 0.667138804197412319305966669990339162597,\n -0.7684399634756779086158778513062280348209,\n 0.7684399634756779086158778513062280348209,\n -0.8533633645833172836472506385875676702761,\n 0.8533633645833172836472506385875676702761,\n -0.9200993341504008287901871337149688941591,\n 0.9200993341504008287901871337149688941591,\n -0.9672268385663062943166222149076951614246,\n 0.9672268385663062943166222149076951614246,\n -0.9937521706203895002602420359379409291933,\n 0.9937521706203895002602420359379409291933,\n ],\n [\n -0.0697392733197222212138417961186280818222,\n 0.0697392733197222212138417961186280818222,\n -0.2078604266882212854788465339195457342156,\n 0.2078604266882212854788465339195457342156,\n -0.3419358208920842251581474204273796195591,\n 0.3419358208920842251581474204273796195591,\n -0.4693558379867570264063307109664063460953,\n 0.4693558379867570264063307109664063460953,\n -0.5876404035069115929588769276386473488776,\n 0.5876404035069115929588769276386473488776,\n -0.6944872631866827800506898357622567712673,\n 0.6944872631866827800506898357622567712673,\n -0.7878168059792081620042779554083515213881,\n 0.7878168059792081620042779554083515213881,\n -0.8658125777203001365364256370193787290847,\n 0.8658125777203001365364256370193787290847,\n -0.9269567721871740005206929392590531966353,\n 0.9269567721871740005206929392590531966353,\n -0.9700604978354287271239509867652687108059,\n 0.9700604978354287271239509867652687108059,\n -0.994294585482399292073031421161298980393,\n 0.994294585482399292073031421161298980393,\n ],\n [\n 0, -0.1332568242984661109317426822417661370104,\n 0.1332568242984661109317426822417661370104,\n -0.264135680970344930533869538283309602979,\n 0.264135680970344930533869538283309602979,\n -0.390301038030290831421488872880605458578,\n 0.390301038030290831421488872880605458578,\n -0.5095014778460075496897930478668464305448,\n 0.5095014778460075496897930478668464305448,\n -0.6196098757636461563850973116495956533871,\n 0.6196098757636461563850973116495956533871,\n -0.7186613631319501944616244837486188483299,\n 0.7186613631319501944616244837486188483299,\n -0.8048884016188398921511184069967785579414,\n 0.8048884016188398921511184069967785579414,\n -0.8767523582704416673781568859341456716389,\n 0.8767523582704416673781568859341456716389,\n -0.9329710868260161023491969890384229782357,\n 0.9329710868260161023491969890384229782357,\n -0.9725424712181152319560240768207773751816,\n 0.9725424712181152319560240768207773751816,\n -0.9947693349975521235239257154455743605736,\n 0.9947693349975521235239257154455743605736,\n ],\n [\n -0.0640568928626056260850430826247450385909,\n 0.0640568928626056260850430826247450385909,\n -0.1911188674736163091586398207570696318404,\n 0.1911188674736163091586398207570696318404,\n -0.3150426796961633743867932913198102407864,\n 0.3150426796961633743867932913198102407864,\n -0.4337935076260451384870842319133497124524,\n 0.4337935076260451384870842319133497124524,\n -0.5454214713888395356583756172183723700107,\n 0.5454214713888395356583756172183723700107,\n -0.6480936519369755692524957869107476266696,\n 0.6480936519369755692524957869107476266696,\n -0.7401241915785543642438281030999784255232,\n 0.7401241915785543642438281030999784255232,\n -0.8200019859739029219539498726697452080761,\n 0.8200019859739029219539498726697452080761,\n -0.8864155270044010342131543419821967550873,\n 0.8864155270044010342131543419821967550873,\n -0.9382745520027327585236490017087214496548,\n 0.9382745520027327585236490017087214496548,\n -0.9747285559713094981983919930081690617411,\n 0.9747285559713094981983919930081690617411,\n -0.9951872199970213601799974097007368118745,\n 0.9951872199970213601799974097007368118745,\n ],\n];\nexports.cValues = [\n [],\n [],\n [1.0, 1.0],\n [\n 0.8888888888888888888888888888888888888888,\n 0.5555555555555555555555555555555555555555,\n 0.5555555555555555555555555555555555555555,\n ],\n [\n 0.6521451548625461426269360507780005927646,\n 0.6521451548625461426269360507780005927646,\n 0.3478548451374538573730639492219994072353,\n 0.3478548451374538573730639492219994072353,\n ],\n [\n 0.5688888888888888888888888888888888888888,\n 0.4786286704993664680412915148356381929122,\n 0.4786286704993664680412915148356381929122,\n 0.2369268850561890875142640407199173626432,\n 0.2369268850561890875142640407199173626432,\n ],\n [\n 0.3607615730481386075698335138377161116615,\n 0.3607615730481386075698335138377161116615,\n 0.4679139345726910473898703439895509948116,\n 0.4679139345726910473898703439895509948116,\n 0.1713244923791703450402961421727328935268,\n 0.1713244923791703450402961421727328935268,\n ],\n [\n 0.4179591836734693877551020408163265306122,\n 0.3818300505051189449503697754889751338783,\n 0.3818300505051189449503697754889751338783,\n 0.2797053914892766679014677714237795824869,\n 0.2797053914892766679014677714237795824869,\n 0.1294849661688696932706114326790820183285,\n 0.1294849661688696932706114326790820183285,\n ],\n [\n 0.3626837833783619829651504492771956121941,\n 0.3626837833783619829651504492771956121941,\n 0.3137066458778872873379622019866013132603,\n 0.3137066458778872873379622019866013132603,\n 0.2223810344533744705443559944262408844301,\n 0.2223810344533744705443559944262408844301,\n 0.1012285362903762591525313543099621901153,\n 0.1012285362903762591525313543099621901153,\n ],\n [\n 0.3302393550012597631645250692869740488788,\n 0.1806481606948574040584720312429128095143,\n 0.1806481606948574040584720312429128095143,\n 0.0812743883615744119718921581105236506756,\n 0.0812743883615744119718921581105236506756,\n 0.3123470770400028400686304065844436655987,\n 0.3123470770400028400686304065844436655987,\n 0.2606106964029354623187428694186328497718,\n 0.2606106964029354623187428694186328497718,\n ],\n [\n 0.295524224714752870173892994651338329421,\n 0.295524224714752870173892994651338329421,\n 0.2692667193099963550912269215694693528597,\n 0.2692667193099963550912269215694693528597,\n 0.2190863625159820439955349342281631924587,\n 0.2190863625159820439955349342281631924587,\n 0.1494513491505805931457763396576973324025,\n 0.1494513491505805931457763396576973324025,\n 0.0666713443086881375935688098933317928578,\n 0.0666713443086881375935688098933317928578,\n ],\n [\n 0.272925086777900630714483528336342189156,\n 0.2628045445102466621806888698905091953727,\n 0.2628045445102466621806888698905091953727,\n 0.2331937645919904799185237048431751394317,\n 0.2331937645919904799185237048431751394317,\n 0.1862902109277342514260976414316558916912,\n 0.1862902109277342514260976414316558916912,\n 0.1255803694649046246346942992239401001976,\n 0.1255803694649046246346942992239401001976,\n 0.0556685671161736664827537204425485787285,\n 0.0556685671161736664827537204425485787285,\n ],\n [\n 0.2491470458134027850005624360429512108304,\n 0.2491470458134027850005624360429512108304,\n 0.2334925365383548087608498989248780562594,\n 0.2334925365383548087608498989248780562594,\n 0.2031674267230659217490644558097983765065,\n 0.2031674267230659217490644558097983765065,\n 0.160078328543346226334652529543359071872,\n 0.160078328543346226334652529543359071872,\n 0.1069393259953184309602547181939962242145,\n 0.1069393259953184309602547181939962242145,\n 0.047175336386511827194615961485017060317,\n 0.047175336386511827194615961485017060317,\n ],\n [\n 0.2325515532308739101945895152688359481566,\n 0.2262831802628972384120901860397766184347,\n 0.2262831802628972384120901860397766184347,\n 0.2078160475368885023125232193060527633865,\n 0.2078160475368885023125232193060527633865,\n 0.1781459807619457382800466919960979955128,\n 0.1781459807619457382800466919960979955128,\n 0.1388735102197872384636017768688714676218,\n 0.1388735102197872384636017768688714676218,\n 0.0921214998377284479144217759537971209236,\n 0.0921214998377284479144217759537971209236,\n 0.0404840047653158795200215922009860600419,\n 0.0404840047653158795200215922009860600419,\n ],\n [\n 0.2152638534631577901958764433162600352749,\n 0.2152638534631577901958764433162600352749,\n 0.2051984637212956039659240656612180557103,\n 0.2051984637212956039659240656612180557103,\n 0.1855383974779378137417165901251570362489,\n 0.1855383974779378137417165901251570362489,\n 0.1572031671581935345696019386238421566056,\n 0.1572031671581935345696019386238421566056,\n 0.1215185706879031846894148090724766259566,\n 0.1215185706879031846894148090724766259566,\n 0.0801580871597602098056332770628543095836,\n 0.0801580871597602098056332770628543095836,\n 0.0351194603317518630318328761381917806197,\n 0.0351194603317518630318328761381917806197,\n ],\n [\n 0.2025782419255612728806201999675193148386,\n 0.1984314853271115764561183264438393248186,\n 0.1984314853271115764561183264438393248186,\n 0.1861610000155622110268005618664228245062,\n 0.1861610000155622110268005618664228245062,\n 0.1662692058169939335532008604812088111309,\n 0.1662692058169939335532008604812088111309,\n 0.1395706779261543144478047945110283225208,\n 0.1395706779261543144478047945110283225208,\n 0.1071592204671719350118695466858693034155,\n 0.1071592204671719350118695466858693034155,\n 0.0703660474881081247092674164506673384667,\n 0.0703660474881081247092674164506673384667,\n 0.0307532419961172683546283935772044177217,\n 0.0307532419961172683546283935772044177217,\n ],\n [\n 0.1894506104550684962853967232082831051469,\n 0.1894506104550684962853967232082831051469,\n 0.1826034150449235888667636679692199393835,\n 0.1826034150449235888667636679692199393835,\n 0.1691565193950025381893120790303599622116,\n 0.1691565193950025381893120790303599622116,\n 0.1495959888165767320815017305474785489704,\n 0.1495959888165767320815017305474785489704,\n 0.1246289712555338720524762821920164201448,\n 0.1246289712555338720524762821920164201448,\n 0.0951585116824927848099251076022462263552,\n 0.0951585116824927848099251076022462263552,\n 0.0622535239386478928628438369943776942749,\n 0.0622535239386478928628438369943776942749,\n 0.0271524594117540948517805724560181035122,\n 0.0271524594117540948517805724560181035122,\n ],\n [\n 0.1794464703562065254582656442618856214487,\n 0.1765627053669926463252709901131972391509,\n 0.1765627053669926463252709901131972391509,\n 0.1680041021564500445099706637883231550211,\n 0.1680041021564500445099706637883231550211,\n 0.1540457610768102880814315948019586119404,\n 0.1540457610768102880814315948019586119404,\n 0.1351363684685254732863199817023501973721,\n 0.1351363684685254732863199817023501973721,\n 0.1118838471934039710947883856263559267358,\n 0.1118838471934039710947883856263559267358,\n 0.0850361483171791808835353701910620738504,\n 0.0850361483171791808835353701910620738504,\n 0.0554595293739872011294401653582446605128,\n 0.0554595293739872011294401653582446605128,\n 0.0241483028685479319601100262875653246916,\n 0.0241483028685479319601100262875653246916,\n ],\n [\n 0.1691423829631435918406564701349866103341,\n 0.1691423829631435918406564701349866103341,\n 0.1642764837458327229860537764659275904123,\n 0.1642764837458327229860537764659275904123,\n 0.1546846751262652449254180038363747721932,\n 0.1546846751262652449254180038363747721932,\n 0.1406429146706506512047313037519472280955,\n 0.1406429146706506512047313037519472280955,\n 0.1225552067114784601845191268002015552281,\n 0.1225552067114784601845191268002015552281,\n 0.1009420441062871655628139849248346070628,\n 0.1009420441062871655628139849248346070628,\n 0.0764257302548890565291296776166365256053,\n 0.0764257302548890565291296776166365256053,\n 0.0497145488949697964533349462026386416808,\n 0.0497145488949697964533349462026386416808,\n 0.0216160135264833103133427102664524693876,\n 0.0216160135264833103133427102664524693876,\n ],\n [\n 0.1610544498487836959791636253209167350399,\n 0.1589688433939543476499564394650472016787,\n 0.1589688433939543476499564394650472016787,\n 0.152766042065859666778855400897662998461,\n 0.152766042065859666778855400897662998461,\n 0.1426067021736066117757461094419029724756,\n 0.1426067021736066117757461094419029724756,\n 0.1287539625393362276755157848568771170558,\n 0.1287539625393362276755157848568771170558,\n 0.1115666455473339947160239016817659974813,\n 0.1115666455473339947160239016817659974813,\n 0.0914900216224499994644620941238396526609,\n 0.0914900216224499994644620941238396526609,\n 0.0690445427376412265807082580060130449618,\n 0.0690445427376412265807082580060130449618,\n 0.0448142267656996003328381574019942119517,\n 0.0448142267656996003328381574019942119517,\n 0.0194617882297264770363120414644384357529,\n 0.0194617882297264770363120414644384357529,\n ],\n [\n 0.1527533871307258506980843319550975934919,\n 0.1527533871307258506980843319550975934919,\n 0.1491729864726037467878287370019694366926,\n 0.1491729864726037467878287370019694366926,\n 0.1420961093183820513292983250671649330345,\n 0.1420961093183820513292983250671649330345,\n 0.1316886384491766268984944997481631349161,\n 0.1316886384491766268984944997481631349161,\n 0.118194531961518417312377377711382287005,\n 0.118194531961518417312377377711382287005,\n 0.1019301198172404350367501354803498761666,\n 0.1019301198172404350367501354803498761666,\n 0.0832767415767047487247581432220462061001,\n 0.0832767415767047487247581432220462061001,\n 0.0626720483341090635695065351870416063516,\n 0.0626720483341090635695065351870416063516,\n 0.040601429800386941331039952274932109879,\n 0.040601429800386941331039952274932109879,\n 0.0176140071391521183118619623518528163621,\n 0.0176140071391521183118619623518528163621,\n ],\n [\n 0.1460811336496904271919851476833711882448,\n 0.1445244039899700590638271665537525436099,\n 0.1445244039899700590638271665537525436099,\n 0.1398873947910731547221334238675831108927,\n 0.1398873947910731547221334238675831108927,\n 0.132268938633337461781052574496775604329,\n 0.132268938633337461781052574496775604329,\n 0.1218314160537285341953671771257335983563,\n 0.1218314160537285341953671771257335983563,\n 0.1087972991671483776634745780701056420336,\n 0.1087972991671483776634745780701056420336,\n 0.0934444234560338615532897411139320884835,\n 0.0934444234560338615532897411139320884835,\n 0.0761001136283793020170516533001831792261,\n 0.0761001136283793020170516533001831792261,\n 0.0571344254268572082836358264724479574912,\n 0.0571344254268572082836358264724479574912,\n 0.0369537897708524937999506682993296661889,\n 0.0369537897708524937999506682993296661889,\n 0.0160172282577743333242246168584710152658,\n 0.0160172282577743333242246168584710152658,\n ],\n [\n 0.1392518728556319933754102483418099578739,\n 0.1392518728556319933754102483418099578739,\n 0.1365414983460151713525738312315173965863,\n 0.1365414983460151713525738312315173965863,\n 0.1311735047870623707329649925303074458757,\n 0.1311735047870623707329649925303074458757,\n 0.1232523768105124242855609861548144719594,\n 0.1232523768105124242855609861548144719594,\n 0.1129322960805392183934006074217843191142,\n 0.1129322960805392183934006074217843191142,\n 0.1004141444428809649320788378305362823508,\n 0.1004141444428809649320788378305362823508,\n 0.0859416062170677274144436813727028661891,\n 0.0859416062170677274144436813727028661891,\n 0.0697964684245204880949614189302176573987,\n 0.0697964684245204880949614189302176573987,\n 0.0522933351526832859403120512732112561121,\n 0.0522933351526832859403120512732112561121,\n 0.0337749015848141547933022468659129013491,\n 0.0337749015848141547933022468659129013491,\n 0.0146279952982722006849910980471854451902,\n 0.0146279952982722006849910980471854451902,\n ],\n [\n 0.1336545721861061753514571105458443385831,\n 0.132462039404696617371642464703316925805,\n 0.132462039404696617371642464703316925805,\n 0.1289057221880821499785953393997936532597,\n 0.1289057221880821499785953393997936532597,\n 0.1230490843067295304675784006720096548158,\n 0.1230490843067295304675784006720096548158,\n 0.1149966402224113649416435129339613014914,\n 0.1149966402224113649416435129339613014914,\n 0.1048920914645414100740861850147438548584,\n 0.1048920914645414100740861850147438548584,\n 0.0929157660600351474770186173697646486034,\n 0.0929157660600351474770186173697646486034,\n 0.0792814117767189549228925247420432269137,\n 0.0792814117767189549228925247420432269137,\n 0.0642324214085258521271696151589109980391,\n 0.0642324214085258521271696151589109980391,\n 0.0480376717310846685716410716320339965612,\n 0.0480376717310846685716410716320339965612,\n 0.0309880058569794443106942196418845053837,\n 0.0309880058569794443106942196418845053837,\n 0.0134118594871417720813094934586150649766,\n 0.0134118594871417720813094934586150649766,\n ],\n [\n 0.1279381953467521569740561652246953718517,\n 0.1279381953467521569740561652246953718517,\n 0.1258374563468282961213753825111836887264,\n 0.1258374563468282961213753825111836887264,\n 0.121670472927803391204463153476262425607,\n 0.121670472927803391204463153476262425607,\n 0.1155056680537256013533444839067835598622,\n 0.1155056680537256013533444839067835598622,\n 0.1074442701159656347825773424466062227946,\n 0.1074442701159656347825773424466062227946,\n 0.0976186521041138882698806644642471544279,\n 0.0976186521041138882698806644642471544279,\n 0.086190161531953275917185202983742667185,\n 0.086190161531953275917185202983742667185,\n 0.0733464814110803057340336152531165181193,\n 0.0733464814110803057340336152531165181193,\n 0.0592985849154367807463677585001085845412,\n 0.0592985849154367807463677585001085845412,\n 0.0442774388174198061686027482113382288593,\n 0.0442774388174198061686027482113382288593,\n 0.0285313886289336631813078159518782864491,\n 0.0285313886289336631813078159518782864491,\n 0.0123412297999871995468056670700372915759,\n 0.0123412297999871995468056670700372915759,\n ],\n];\nexports.binomialCoefficients = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]];\nconst getCubicArcLength = (xs, ys, t) => {\n let z;\n let sum;\n let correctedT;\n const n = 20;\n z = t / 2;\n sum = 0;\n for (let i = 0; i < n; i++) {\n correctedT = z * exports.tValues[n][i] + z;\n sum += exports.cValues[n][i] * BFunc(xs, ys, correctedT);\n }\n return z * sum;\n};\nexports.getCubicArcLength = getCubicArcLength;\nconst getQuadraticArcLength = (xs, ys, t) => {\n if (t === undefined) {\n t = 1;\n }\n const ax = xs[0] - 2 * xs[1] + xs[2];\n const ay = ys[0] - 2 * ys[1] + ys[2];\n const bx = 2 * xs[1] - 2 * xs[0];\n const by = 2 * ys[1] - 2 * ys[0];\n const A = 4 * (ax * ax + ay * ay);\n const B = 4 * (ax * bx + ay * by);\n const C = bx * bx + by * by;\n if (A === 0) {\n return (t * Math.sqrt(Math.pow(xs[2] - xs[0], 2) + Math.pow(ys[2] - ys[0], 2)));\n }\n const b = B / (2 * A);\n const c = C / A;\n const u = t + b;\n const k = c - b * b;\n const uuk = u * u + k > 0 ? Math.sqrt(u * u + k) : 0;\n const bbk = b * b + k > 0 ? Math.sqrt(b * b + k) : 0;\n const term = b + Math.sqrt(b * b + k) !== 0\n ? k * Math.log(Math.abs((u + uuk) / (b + bbk)))\n : 0;\n return (Math.sqrt(A) / 2) * (u * uuk - b * bbk + term);\n};\nexports.getQuadraticArcLength = getQuadraticArcLength;\nfunction BFunc(xs, ys, t) {\n const xbase = getDerivative(1, t, xs);\n const ybase = getDerivative(1, t, ys);\n const combined = xbase * xbase + ybase * ybase;\n return Math.sqrt(combined);\n}\nconst getDerivative = (derivative, t, vs) => {\n const n = vs.length - 1;\n let _vs;\n let value;\n if (n === 0) {\n return 0;\n }\n if (derivative === 0) {\n value = 0;\n for (let k = 0; k <= n; k++) {\n value +=\n exports.binomialCoefficients[n][k] *\n Math.pow(1 - t, n - k) *\n Math.pow(t, k) *\n vs[k];\n }\n return value;\n }\n else {\n _vs = new Array(n);\n for (let k = 0; k < n; k++) {\n _vs[k] = n * (vs[k + 1] - vs[k]);\n }\n return getDerivative(derivative - 1, t, _vs);\n }\n};\nconst t2length = (length, totalLength, func) => {\n let error = 1;\n let t = length / totalLength;\n let step = (length - func(t)) / totalLength;\n let numIterations = 0;\n while (error > 0.001) {\n const increasedTLength = func(t + step);\n const increasedTError = Math.abs(length - increasedTLength) / totalLength;\n if (increasedTError < error) {\n error = increasedTError;\n t += step;\n }\n else {\n const decreasedTLength = func(t - step);\n const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;\n if (decreasedTError < error) {\n error = decreasedTError;\n t -= step;\n }\n else {\n step /= 2;\n }\n }\n numIterations++;\n if (numIterations > 500) {\n break;\n }\n }\n return t;\n};\nexports.t2length = t2length;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Path = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst BezierFunctions_1 = require(\"../BezierFunctions\");\nclass Path extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dataArray = [];\n this.pathLength = 0;\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n });\n }\n _readDataAttribute() {\n this.dataArray = Path.parsePathData(this.data());\n this.pathLength = Path.getPathLength(this.dataArray);\n }\n _sceneFunc(context) {\n var ca = this.dataArray;\n context.beginPath();\n var isClosed = false;\n for (var n = 0; n < ca.length; n++) {\n var c = ca[n].command;\n var p = ca[n].points;\n switch (c) {\n case 'L':\n context.lineTo(p[0], p[1]);\n break;\n case 'M':\n context.moveTo(p[0], p[1]);\n break;\n case 'C':\n context.bezierCurveTo(p[0], p[1], p[2], p[3], p[4], p[5]);\n break;\n case 'Q':\n context.quadraticCurveTo(p[0], p[1], p[2], p[3]);\n break;\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6], fs = p[7];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n context.translate(cx, cy);\n context.rotate(psi);\n context.scale(scaleX, scaleY);\n context.arc(0, 0, r, theta, theta + dTheta, 1 - fs);\n context.scale(1 / scaleX, 1 / scaleY);\n context.rotate(-psi);\n context.translate(-cx, -cy);\n break;\n case 'z':\n isClosed = true;\n context.closePath();\n break;\n }\n }\n if (!isClosed && !this.hasFill()) {\n context.strokeShape(this);\n }\n else {\n context.fillStrokeShape(this);\n }\n }\n getSelfRect() {\n var points = [];\n this.dataArray.forEach(function (data) {\n if (data.command === 'A') {\n var start = data.points[4];\n var dTheta = data.points[5];\n var end = data.points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n if (dTheta < 0) {\n for (let t = start - inc; t > end; t -= inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n else {\n for (let t = start + inc; t < end; t += inc) {\n const point = Path.getPointOnEllipticalArc(data.points[0], data.points[1], data.points[2], data.points[3], t, 0);\n points.push(point.x, point.y);\n }\n }\n }\n else if (data.command === 'C') {\n for (let t = 0.0; t <= 1; t += 0.01) {\n const point = Path.getPointOnCubicBezier(t, data.start.x, data.start.y, data.points[0], data.points[1], data.points[2], data.points[3], data.points[4], data.points[5]);\n points.push(point.x, point.y);\n }\n }\n else {\n points = points.concat(data.points);\n }\n });\n var minX = points[0];\n var maxX = points[0];\n var minY = points[1];\n var maxY = points[1];\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n if (!isNaN(x)) {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n }\n if (!isNaN(y)) {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n }\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getLength() {\n return this.pathLength;\n }\n getPointAtLength(length) {\n return Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n static getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n static getPathLength(dataArray) {\n let pathLength = 0;\n for (var i = 0; i < dataArray.length; ++i) {\n pathLength += dataArray[i].pathLength;\n }\n return pathLength;\n }\n static getPointAtLengthOfDataArray(length, dataArray) {\n var point, i = 0, ii = dataArray.length;\n if (!ii) {\n return null;\n }\n while (i < ii && length > dataArray[i].pathLength) {\n length -= dataArray[i].pathLength;\n ++i;\n }\n if (i === ii) {\n point = dataArray[i - 1].points.slice(-2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n if (length < 0.01) {\n point = dataArray[i].points.slice(0, 2);\n return {\n x: point[0],\n y: point[1],\n };\n }\n var cp = dataArray[i];\n var p = cp.points;\n switch (cp.command) {\n case 'L':\n return Path.getPointOnLine(length, cp.start.x, cp.start.y, p[0], p[1]);\n case 'C':\n return Path.getPointOnCubicBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getCubicArcLength)([cp.start.x, p[0], p[2], p[4]], [cp.start.y, p[1], p[3], p[5]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3], p[4], p[5]);\n case 'Q':\n return Path.getPointOnQuadraticBezier((0, BezierFunctions_1.t2length)(length, Path.getPathLength(dataArray), (i) => {\n return (0, BezierFunctions_1.getQuadraticArcLength)([cp.start.x, p[0], p[2]], [cp.start.y, p[1], p[3]], i);\n }), cp.start.x, cp.start.y, p[0], p[1], p[2], p[3]);\n case 'A':\n var cx = p[0], cy = p[1], rx = p[2], ry = p[3], theta = p[4], dTheta = p[5], psi = p[6];\n theta += (dTheta * length) / cp.pathLength;\n return Path.getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi);\n }\n return null;\n }\n static getPointOnLine(dist, P1x, P1y, P2x, P2y, fromX, fromY) {\n if (fromX === undefined) {\n fromX = P1x;\n }\n if (fromY === undefined) {\n fromY = P1y;\n }\n var m = (P2y - P1y) / (P2x - P1x + 0.00000001);\n var run = Math.sqrt((dist * dist) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n var rise = m * run;\n var pt;\n if (P2x === P1x) {\n pt = {\n x: fromX,\n y: fromY + rise,\n };\n }\n else if ((fromY - P1y) / (fromX - P1x + 0.00000001) === m) {\n pt = {\n x: fromX + run,\n y: fromY + rise,\n };\n }\n else {\n var ix, iy;\n var len = this.getLineLength(P1x, P1y, P2x, P2y);\n var u = (fromX - P1x) * (P2x - P1x) + (fromY - P1y) * (P2y - P1y);\n u = u / (len * len);\n ix = P1x + u * (P2x - P1x);\n iy = P1y + u * (P2y - P1y);\n var pRise = this.getLineLength(fromX, fromY, ix, iy);\n var pRun = Math.sqrt(dist * dist - pRise * pRise);\n run = Math.sqrt((pRun * pRun) / (1 + m * m));\n if (P2x < P1x) {\n run *= -1;\n }\n rise = m * run;\n pt = {\n x: ix + run,\n y: iy + rise,\n };\n }\n return pt;\n }\n static getPointOnCubicBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y, P4x, P4y) {\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n var x = P4x * CB1(pct) + P3x * CB2(pct) + P2x * CB3(pct) + P1x * CB4(pct);\n var y = P4y * CB1(pct) + P3y * CB2(pct) + P2y * CB3(pct) + P1y * CB4(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnQuadraticBezier(pct, P1x, P1y, P2x, P2y, P3x, P3y) {\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n var x = P3x * QB1(pct) + P2x * QB2(pct) + P1x * QB3(pct);\n var y = P3y * QB1(pct) + P2y * QB2(pct) + P1y * QB3(pct);\n return {\n x: x,\n y: y,\n };\n }\n static getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n var cosPsi = Math.cos(psi), sinPsi = Math.sin(psi);\n var pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta),\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi),\n };\n }\n static parsePathData(data) {\n if (!data) {\n return [];\n }\n var cs = data;\n var cc = [\n 'm',\n 'M',\n 'l',\n 'L',\n 'v',\n 'V',\n 'h',\n 'H',\n 'z',\n 'Z',\n 'c',\n 'C',\n 'q',\n 'Q',\n 't',\n 'T',\n 's',\n 'S',\n 'a',\n 'A',\n ];\n cs = cs.replace(new RegExp(' ', 'g'), ',');\n for (var n = 0; n < cc.length; n++) {\n cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n }\n var arr = cs.split('|');\n var ca = [];\n var coords = [];\n var cpx = 0;\n var cpy = 0;\n var re = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi;\n var match;\n for (n = 1; n < arr.length; n++) {\n var str = arr[n];\n var c = str.charAt(0);\n str = str.slice(1);\n coords.length = 0;\n while ((match = re.exec(str))) {\n coords.push(match[0]);\n }\n var p = [];\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n if (coords[j] === '00') {\n p.push(0, 0);\n continue;\n }\n var parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n p.push(parsed);\n }\n else {\n p.push(0);\n }\n }\n while (p.length > 0) {\n if (isNaN(p[0])) {\n break;\n }\n var cmd = '';\n var points = [];\n var startX = cpx, startY = cpy;\n var prevCmd, ctlPtx, ctlPty;\n var rx, ry, psi, fa, fs, x1, y1;\n switch (c) {\n case 'l':\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'L':\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'm':\n var dx = p.shift();\n var dy = p.shift();\n cpx += dx;\n cpy += dy;\n cmd = 'M';\n if (ca.length > 2 && ca[ca.length - 1].command === 'z') {\n for (var idx = ca.length - 2; idx >= 0; idx--) {\n if (ca[idx].command === 'M') {\n cpx = ca[idx].points[0] + dx;\n cpy = ca[idx].points[1] + dy;\n break;\n }\n }\n }\n points.push(cpx, cpy);\n c = 'l';\n break;\n case 'M':\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'M';\n points.push(cpx, cpy);\n c = 'L';\n break;\n case 'h':\n cpx += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'H':\n cpx = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'v':\n cpy += p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'V':\n cpy = p.shift();\n cmd = 'L';\n points.push(cpx, cpy);\n break;\n case 'C':\n points.push(p.shift(), p.shift(), p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'c':\n points.push(cpx + p.shift(), cpy + p.shift(), cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'C') {\n ctlPtx = cpx + (cpx - prevCmd.points[2]);\n ctlPty = cpy + (cpy - prevCmd.points[3]);\n }\n points.push(ctlPtx, ctlPty, cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'C';\n points.push(cpx, cpy);\n break;\n case 'Q':\n points.push(p.shift(), p.shift());\n cpx = p.shift();\n cpy = p.shift();\n points.push(cpx, cpy);\n break;\n case 'q':\n points.push(cpx + p.shift(), cpy + p.shift());\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n prevCmd = ca[ca.length - 1];\n if (prevCmd.command === 'Q') {\n ctlPtx = cpx + (cpx - prevCmd.points[0]);\n ctlPty = cpy + (cpy - prevCmd.points[1]);\n }\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'Q';\n points.push(ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx = p.shift();\n cpy = p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n case 'a':\n rx = p.shift();\n ry = p.shift();\n psi = p.shift();\n fa = p.shift();\n fs = p.shift();\n x1 = cpx;\n y1 = cpy;\n cpx += p.shift();\n cpy += p.shift();\n cmd = 'A';\n points = this.convertEndpointToCenterParameterization(x1, y1, cpx, cpy, fa, fs, rx, ry, psi);\n break;\n }\n ca.push({\n command: cmd || c,\n points: points,\n start: {\n x: startX,\n y: startY,\n },\n pathLength: this.calcLength(startX, startY, cmd || c, points),\n });\n }\n if (c === 'z' || c === 'Z') {\n ca.push({\n command: 'z',\n points: [],\n start: undefined,\n pathLength: 0,\n });\n }\n }\n return ca;\n }\n static calcLength(x, y, cmd, points) {\n var len, p1, p2, t;\n var path = Path;\n switch (cmd) {\n case 'L':\n return path.getLineLength(x, y, points[0], points[1]);\n case 'C':\n return (0, BezierFunctions_1.getCubicArcLength)([x, points[0], points[2], points[4]], [y, points[1], points[3], points[5]], 1);\n case 'Q':\n return (0, BezierFunctions_1.getQuadraticArcLength)([x, points[0], points[2]], [y, points[1], points[3]], 1);\n case 'A':\n len = 0.0;\n var start = points[4];\n var dTheta = points[5];\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0;\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n }\n p1 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n if (dTheta < 0) {\n for (t = start - inc; t > end; t -= inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n else {\n for (t = start + inc; t < end; t += inc) {\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n p2 = path.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += path.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n return 0;\n }\n static convertEndpointToCenterParameterization(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg) {\n var psi = psiDeg * (Math.PI / 180.0);\n var xp = (Math.cos(psi) * (x1 - x2)) / 2.0 + (Math.sin(psi) * (y1 - y2)) / 2.0;\n var yp = (-1 * Math.sin(psi) * (x1 - x2)) / 2.0 +\n (Math.cos(psi) * (y1 - y2)) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n var f = Math.sqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) /\n (rx * rx * (yp * yp) + ry * ry * (xp * xp)));\n if (fa === fs) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n var cxp = (f * rx * yp) / ry;\n var cyp = (f * -ry * xp) / rx;\n var cx = (x1 + x2) / 2.0 + Math.cos(psi) * cxp - Math.sin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + Math.sin(psi) * cxp + Math.cos(psi) * cyp;\n var vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n };\n var vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n };\n var vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n };\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return [cx, cy, rx, ry, theta, dTheta, psi, fs];\n }\n}\nexports.Path = Path;\nPath.prototype.className = 'Path';\nPath.prototype._attrsAffectingSize = ['data'];\n(0, Global_1._registerNode)(Path);\nFactory_1.Factory.addGetterSetter(Path, 'data');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Arrow = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Line_1 = require(\"./Line\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nconst Path_1 = require(\"./Path\");\nclass Arrow extends Line_1.Line {\n _sceneFunc(ctx) {\n super._sceneFunc(ctx);\n var PI2 = Math.PI * 2;\n var points = this.points();\n var tp = points;\n var fromTension = this.tension() !== 0 && points.length > 4;\n if (fromTension) {\n tp = this.getTensionPoints();\n }\n var length = this.pointerLength();\n var n = points.length;\n var dx, dy;\n if (fromTension) {\n const lp = [\n tp[tp.length - 4],\n tp[tp.length - 3],\n tp[tp.length - 2],\n tp[tp.length - 1],\n points[n - 2],\n points[n - 1],\n ];\n const lastLength = Path_1.Path.calcLength(tp[tp.length - 4], tp[tp.length - 3], 'C', lp);\n const previous = Path_1.Path.getPointOnQuadraticBezier(Math.min(1, 1 - length / lastLength), lp[0], lp[1], lp[2], lp[3], lp[4], lp[5]);\n dx = points[n - 2] - previous.x;\n dy = points[n - 1] - previous.y;\n }\n else {\n dx = points[n - 2] - points[n - 4];\n dy = points[n - 1] - points[n - 3];\n }\n var radians = (Math.atan2(dy, dx) + PI2) % PI2;\n var width = this.pointerWidth();\n if (this.pointerAtEnding()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[n - 2], points[n - 1]);\n ctx.rotate(radians);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n if (this.pointerAtBeginning()) {\n ctx.save();\n ctx.beginPath();\n ctx.translate(points[0], points[1]);\n if (fromTension) {\n dx = (tp[0] + tp[2]) / 2 - points[0];\n dy = (tp[1] + tp[3]) / 2 - points[1];\n }\n else {\n dx = points[2] - points[0];\n dy = points[3] - points[1];\n }\n ctx.rotate((Math.atan2(-dy, -dx) + PI2) % PI2);\n ctx.moveTo(0, 0);\n ctx.lineTo(-length, width / 2);\n ctx.lineTo(-length, -width / 2);\n ctx.closePath();\n ctx.restore();\n this.__fillStroke(ctx);\n }\n }\n __fillStroke(ctx) {\n var isDashEnabled = this.dashEnabled();\n if (isDashEnabled) {\n this.attrs.dashEnabled = false;\n ctx.setLineDash([]);\n }\n ctx.fillStrokeShape(this);\n if (isDashEnabled) {\n this.attrs.dashEnabled = true;\n }\n }\n getSelfRect() {\n const lineRect = super.getSelfRect();\n const offset = this.pointerWidth() / 2;\n return {\n x: lineRect.x - offset,\n y: lineRect.y - offset,\n width: lineRect.width + offset * 2,\n height: lineRect.height + offset * 2,\n };\n }\n}\nexports.Arrow = Arrow;\nArrow.prototype.className = 'Arrow';\n(0, Global_1._registerNode)(Arrow);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerLength', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerWidth', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtBeginning', false);\nFactory_1.Factory.addGetterSetter(Arrow, 'pointerAtEnding', true);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Circle = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Circle extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.attrs.radius || 0, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n if (this.radius() !== width / 2) {\n this.radius(width / 2);\n }\n }\n setHeight(height) {\n if (this.radius() !== height / 2) {\n this.radius(height / 2);\n }\n }\n}\nexports.Circle = Circle;\nCircle.prototype._centroid = true;\nCircle.prototype.className = 'Circle';\nCircle.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(Circle);\nFactory_1.Factory.addGetterSetter(Circle, 'radius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ellipse = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Ellipse extends Shape_1.Shape {\n _sceneFunc(context) {\n var rx = this.radiusX(), ry = this.radiusY();\n context.beginPath();\n context.save();\n if (rx !== ry) {\n context.scale(1, ry / rx);\n }\n context.arc(0, 0, rx, 0, Math.PI * 2, false);\n context.restore();\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radiusX() * 2;\n }\n getHeight() {\n return this.radiusY() * 2;\n }\n setWidth(width) {\n this.radiusX(width / 2);\n }\n setHeight(height) {\n this.radiusY(height / 2);\n }\n}\nexports.Ellipse = Ellipse;\nEllipse.prototype.className = 'Ellipse';\nEllipse.prototype._centroid = true;\nEllipse.prototype._attrsAffectingSize = ['radiusX', 'radiusY'];\n(0, Global_1._registerNode)(Ellipse);\nFactory_1.Factory.addComponentsGetterSetter(Ellipse, 'radius', ['x', 'y']);\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ellipse, 'radiusY', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Image = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nclass Image extends Shape_1.Shape {\n constructor(attrs) {\n super(attrs);\n this.on('imageChange.konva', () => {\n this._setImageLoad();\n });\n this._setImageLoad();\n }\n _setImageLoad() {\n const image = this.image();\n if (image && image.complete) {\n return;\n }\n if (image && image.readyState === 4) {\n return;\n }\n if (image && image['addEventListener']) {\n image['addEventListener']('load', () => {\n this._requestDraw();\n });\n }\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _sceneFunc(context) {\n const width = this.getWidth();\n const height = this.getHeight();\n const cornerRadius = this.cornerRadius();\n const image = this.attrs.image;\n let params;\n if (image) {\n const cropWidth = this.attrs.cropWidth;\n const cropHeight = this.attrs.cropHeight;\n if (cropWidth && cropHeight) {\n params = [\n image,\n this.cropX(),\n this.cropY(),\n cropWidth,\n cropHeight,\n 0,\n 0,\n width,\n height,\n ];\n }\n else {\n params = [image, 0, 0, width, height];\n }\n }\n if (this.hasFill() || this.hasStroke() || cornerRadius) {\n context.beginPath();\n cornerRadius\n ? Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius)\n : context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (cornerRadius) {\n context.clip();\n }\n context.drawImage.apply(context, params);\n }\n }\n _hitFunc(context) {\n var width = this.width(), height = this.height(), cornerRadius = this.cornerRadius();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n var _a, _b;\n return (_a = this.attrs.width) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.width;\n }\n getHeight() {\n var _a, _b;\n return (_a = this.attrs.height) !== null && _a !== void 0 ? _a : (_b = this.image()) === null || _b === void 0 ? void 0 : _b.height;\n }\n static fromURL(url, callback, onError = null) {\n var img = Util_1.Util.createImageElement();\n img.onload = function () {\n var image = new Image({\n image: img,\n });\n callback(image);\n };\n img.onerror = onError;\n img.crossOrigin = 'Anonymous';\n img.src = url;\n }\n}\nexports.Image = Image;\nImage.prototype.className = 'Image';\n(0, Global_1._registerNode)(Image);\nFactory_1.Factory.addGetterSetter(Image, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\nFactory_1.Factory.addGetterSetter(Image, 'image');\nFactory_1.Factory.addComponentsGetterSetter(Image, 'crop', ['x', 'y', 'width', 'height']);\nFactory_1.Factory.addGetterSetter(Image, 'cropX', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropY', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tag = exports.Label = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Group_1 = require(\"../Group\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar ATTR_CHANGE_LIST = [\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'padding',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'pointerDirection',\n 'pointerWidth',\n 'pointerHeight',\n], CHANGE_KONVA = 'Change.konva', NONE = 'none', UP = 'up', RIGHT = 'right', DOWN = 'down', LEFT = 'left', attrChangeListLen = ATTR_CHANGE_LIST.length;\nclass Label extends Group_1.Group {\n constructor(config) {\n super(config);\n this.on('add.konva', function (evt) {\n this._addListeners(evt.child);\n this._sync();\n });\n }\n getText() {\n return this.find('Text')[0];\n }\n getTag() {\n return this.find('Tag')[0];\n }\n _addListeners(text) {\n var that = this, n;\n var func = function () {\n that._sync();\n };\n for (n = 0; n < attrChangeListLen; n++) {\n text.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, func);\n }\n }\n getWidth() {\n return this.getText().width();\n }\n getHeight() {\n return this.getText().height();\n }\n _sync() {\n var text = this.getText(), tag = this.getTag(), width, height, pointerDirection, pointerWidth, x, y, pointerHeight;\n if (text && tag) {\n width = text.width();\n height = text.height();\n pointerDirection = tag.pointerDirection();\n pointerWidth = tag.pointerWidth();\n pointerHeight = tag.pointerHeight();\n x = 0;\n y = 0;\n switch (pointerDirection) {\n case UP:\n x = width / 2;\n y = -1 * pointerHeight;\n break;\n case RIGHT:\n x = width + pointerWidth;\n y = height / 2;\n break;\n case DOWN:\n x = width / 2;\n y = height + pointerHeight;\n break;\n case LEFT:\n x = -1 * pointerWidth;\n y = height / 2;\n break;\n }\n tag.setAttrs({\n x: -1 * x,\n y: -1 * y,\n width: width,\n height: height,\n });\n text.setAttrs({\n x: -1 * x,\n y: -1 * y,\n });\n }\n }\n}\nexports.Label = Label;\nLabel.prototype.className = 'Label';\n(0, Global_1._registerNode)(Label);\nclass Tag extends Shape_1.Shape {\n _sceneFunc(context) {\n var width = this.width(), height = this.height(), pointerDirection = this.pointerDirection(), pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), cornerRadius = this.cornerRadius();\n let topLeft = 0;\n let topRight = 0;\n let bottomLeft = 0;\n let bottomRight = 0;\n if (typeof cornerRadius === 'number') {\n topLeft =\n topRight =\n bottomLeft =\n bottomRight =\n Math.min(cornerRadius, width / 2, height / 2);\n }\n else {\n topLeft = Math.min(cornerRadius[0] || 0, width / 2, height / 2);\n topRight = Math.min(cornerRadius[1] || 0, width / 2, height / 2);\n bottomRight = Math.min(cornerRadius[2] || 0, width / 2, height / 2);\n bottomLeft = Math.min(cornerRadius[3] || 0, width / 2, height / 2);\n }\n context.beginPath();\n context.moveTo(topLeft, 0);\n if (pointerDirection === UP) {\n context.lineTo((width - pointerWidth) / 2, 0);\n context.lineTo(width / 2, -1 * pointerHeight);\n context.lineTo((width + pointerWidth) / 2, 0);\n }\n context.lineTo(width - topRight, 0);\n context.arc(width - topRight, topRight, topRight, (Math.PI * 3) / 2, 0, false);\n if (pointerDirection === RIGHT) {\n context.lineTo(width, (height - pointerHeight) / 2);\n context.lineTo(width + pointerWidth, height / 2);\n context.lineTo(width, (height + pointerHeight) / 2);\n }\n context.lineTo(width, height - bottomRight);\n context.arc(width - bottomRight, height - bottomRight, bottomRight, 0, Math.PI / 2, false);\n if (pointerDirection === DOWN) {\n context.lineTo((width + pointerWidth) / 2, height);\n context.lineTo(width / 2, height + pointerHeight);\n context.lineTo((width - pointerWidth) / 2, height);\n }\n context.lineTo(bottomLeft, height);\n context.arc(bottomLeft, height - bottomLeft, bottomLeft, Math.PI / 2, Math.PI, false);\n if (pointerDirection === LEFT) {\n context.lineTo(0, (height + pointerHeight) / 2);\n context.lineTo(-1 * pointerWidth, height / 2);\n context.lineTo(0, (height - pointerHeight) / 2);\n }\n context.lineTo(0, topLeft);\n context.arc(topLeft, topLeft, topLeft, Math.PI, (Math.PI * 3) / 2, false);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getSelfRect() {\n var x = 0, y = 0, pointerWidth = this.pointerWidth(), pointerHeight = this.pointerHeight(), direction = this.pointerDirection(), width = this.width(), height = this.height();\n if (direction === UP) {\n y -= pointerHeight;\n height += pointerHeight;\n }\n else if (direction === DOWN) {\n height += pointerHeight;\n }\n else if (direction === LEFT) {\n x -= pointerWidth * 1.5;\n width += pointerWidth;\n }\n else if (direction === RIGHT) {\n width += pointerWidth * 1.5;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n }\n}\nexports.Tag = Tag;\nTag.prototype.className = 'Tag';\n(0, Global_1._registerNode)(Tag);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerDirection', NONE);\nFactory_1.Factory.addGetterSetter(Tag, 'pointerWidth', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'pointerHeight', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Tag, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Rect = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nclass Rect extends Shape_1.Shape {\n _sceneFunc(context) {\n var cornerRadius = this.cornerRadius(), width = this.width(), height = this.height();\n context.beginPath();\n if (!cornerRadius) {\n context.rect(0, 0, width, height);\n }\n else {\n Util_1.Util.drawRoundedRectPath(context, width, height, cornerRadius);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n}\nexports.Rect = Rect;\nRect.prototype.className = 'Rect';\n(0, Global_1._registerNode)(Rect);\nFactory_1.Factory.addGetterSetter(Rect, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegularPolygon = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass RegularPolygon extends Shape_1.Shape {\n _sceneFunc(context) {\n const points = this._getPoints();\n context.beginPath();\n context.moveTo(points[0].x, points[0].y);\n for (var n = 1; n < points.length; n++) {\n context.lineTo(points[n].x, points[n].y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n _getPoints() {\n const sides = this.attrs.sides;\n const radius = this.attrs.radius || 0;\n const points = [];\n for (var n = 0; n < sides; n++) {\n points.push({\n x: radius * Math.sin((n * 2 * Math.PI) / sides),\n y: -1 * radius * Math.cos((n * 2 * Math.PI) / sides),\n });\n }\n return points;\n }\n getSelfRect() {\n const points = this._getPoints();\n var minX = points[0].x;\n var maxX = points[0].y;\n var minY = points[0].x;\n var maxY = points[0].y;\n points.forEach((point) => {\n minX = Math.min(minX, point.x);\n maxX = Math.max(maxX, point.x);\n minY = Math.min(minY, point.y);\n maxY = Math.max(maxY, point.y);\n });\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.RegularPolygon = RegularPolygon;\nRegularPolygon.prototype.className = 'RegularPolygon';\nRegularPolygon.prototype._centroid = true;\nRegularPolygon.prototype._attrsAffectingSize = ['radius'];\n(0, Global_1._registerNode)(RegularPolygon);\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(RegularPolygon, 'sides', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ring = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar PIx2 = Math.PI * 2;\nclass Ring extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.innerRadius(), 0, PIx2, false);\n context.moveTo(this.outerRadius(), 0);\n context.arc(0, 0, this.outerRadius(), PIx2, 0, true);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Ring = Ring;\nRing.prototype.className = 'Ring';\nRing.prototype._centroid = true;\nRing.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Ring);\nFactory_1.Factory.addGetterSetter(Ring, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Ring, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sprite = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Animation_1 = require(\"../Animation\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Sprite extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this._updated = true;\n this.anim = new Animation_1.Animation(() => {\n var updated = this._updated;\n this._updated = false;\n return updated;\n });\n this.on('animationChange.konva', function () {\n this.frameIndex(0);\n });\n this.on('frameIndexChange.konva', function () {\n this._updated = true;\n });\n this.on('frameRateChange.konva', function () {\n if (!this.anim.isRunning()) {\n return;\n }\n clearInterval(this.interval);\n this._setInterval();\n });\n }\n _sceneFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), x = set[ix4 + 0], y = set[ix4 + 1], width = set[ix4 + 2], height = set[ix4 + 3], image = this.image();\n if (this.hasFill() || this.hasStroke()) {\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n if (image) {\n if (offsets) {\n var offset = offsets[anim], ix2 = index * 2;\n context.drawImage(image, x, y, width, height, offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.drawImage(image, x, y, width, height, 0, 0, width, height);\n }\n }\n }\n _hitFunc(context) {\n var anim = this.animation(), index = this.frameIndex(), ix4 = index * 4, set = this.animations()[anim], offsets = this.frameOffsets(), width = set[ix4 + 2], height = set[ix4 + 3];\n context.beginPath();\n if (offsets) {\n var offset = offsets[anim];\n var ix2 = index * 2;\n context.rect(offset[ix2 + 0], offset[ix2 + 1], width, height);\n }\n else {\n context.rect(0, 0, width, height);\n }\n context.closePath();\n context.fillShape(this);\n }\n _useBufferCanvas() {\n return super._useBufferCanvas(true);\n }\n _setInterval() {\n var that = this;\n this.interval = setInterval(function () {\n that._updateIndex();\n }, 1000 / this.frameRate());\n }\n start() {\n if (this.isRunning()) {\n return;\n }\n var layer = this.getLayer();\n this.anim.setLayers(layer);\n this._setInterval();\n this.anim.start();\n }\n stop() {\n this.anim.stop();\n clearInterval(this.interval);\n }\n isRunning() {\n return this.anim.isRunning();\n }\n _updateIndex() {\n var index = this.frameIndex(), animation = this.animation(), animations = this.animations(), anim = animations[animation], len = anim.length / 4;\n if (index < len - 1) {\n this.frameIndex(index + 1);\n }\n else {\n this.frameIndex(0);\n }\n }\n}\nexports.Sprite = Sprite;\nSprite.prototype.className = 'Sprite';\n(0, Global_1._registerNode)(Sprite);\nFactory_1.Factory.addGetterSetter(Sprite, 'animation');\nFactory_1.Factory.addGetterSetter(Sprite, 'animations');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameOffsets');\nFactory_1.Factory.addGetterSetter(Sprite, 'image');\nFactory_1.Factory.addGetterSetter(Sprite, 'frameIndex', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Sprite, 'frameRate', 17, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.backCompat(Sprite, {\n index: 'frameIndex',\n getIndex: 'getFrameIndex',\n setIndex: 'setFrameIndex',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Star = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nclass Star extends Shape_1.Shape {\n _sceneFunc(context) {\n var innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints();\n context.beginPath();\n context.moveTo(0, 0 - outerRadius);\n for (var n = 1; n < numPoints * 2; n++) {\n var radius = n % 2 === 0 ? outerRadius : innerRadius;\n var x = radius * Math.sin((n * Math.PI) / numPoints);\n var y = -1 * radius * Math.cos((n * Math.PI) / numPoints);\n context.lineTo(x, y);\n }\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.outerRadius() * 2;\n }\n getHeight() {\n return this.outerRadius() * 2;\n }\n setWidth(width) {\n this.outerRadius(width / 2);\n }\n setHeight(height) {\n this.outerRadius(height / 2);\n }\n}\nexports.Star = Star;\nStar.prototype.className = 'Star';\nStar.prototype._centroid = true;\nStar.prototype._attrsAffectingSize = ['innerRadius', 'outerRadius'];\n(0, Global_1._registerNode)(Star);\nFactory_1.Factory.addGetterSetter(Star, 'numPoints', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'innerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Star, 'outerRadius', 0, (0, Validators_1.getNumberValidator)());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = exports.stringToArray = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nfunction stringToArray(string) {\n return Array.from(string);\n}\nexports.stringToArray = stringToArray;\nvar AUTO = 'auto', CENTER = 'center', INHERIT = 'inherit', JUSTIFY = 'justify', CHANGE_KONVA = 'Change.konva', CONTEXT_2D = '2d', DASH = '-', LEFT = 'left', LTR = 'ltr', TEXT = 'text', TEXT_UPPER = 'Text', TOP = 'top', BOTTOM = 'bottom', MIDDLE = 'middle', NORMAL = 'normal', PX_SPACE = 'px ', SPACE = ' ', RIGHT = 'right', RTL = 'rtl', WORD = 'word', CHAR = 'char', NONE = 'none', ELLIPSIS = '…', ATTR_CHANGE_LIST = [\n 'direction',\n 'fontFamily',\n 'fontSize',\n 'fontStyle',\n 'fontVariant',\n 'padding',\n 'align',\n 'verticalAlign',\n 'lineHeight',\n 'text',\n 'width',\n 'height',\n 'wrap',\n 'ellipsis',\n 'letterSpacing',\n], attrChangeListLen = ATTR_CHANGE_LIST.length;\nfunction normalizeFontFamily(fontFamily) {\n return fontFamily\n .split(',')\n .map((family) => {\n family = family.trim();\n const hasSpace = family.indexOf(' ') >= 0;\n const hasQuotes = family.indexOf('\"') >= 0 || family.indexOf(\"'\") >= 0;\n if (hasSpace && !hasQuotes) {\n family = `\"${family}\"`;\n }\n return family;\n })\n .join(', ');\n}\nvar dummyContext;\nfunction getDummyContext() {\n if (dummyContext) {\n return dummyContext;\n }\n dummyContext = Util_1.Util.createCanvasElement().getContext(CONTEXT_2D);\n return dummyContext;\n}\nfunction _fillFunc(context) {\n context.fillText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction _strokeFunc(context) {\n context.setAttr('miterLimit', 2);\n context.strokeText(this._partialText, this._partialTextX, this._partialTextY);\n}\nfunction checkDefaultFill(config) {\n config = config || {};\n if (!config.fillLinearGradientColorStops &&\n !config.fillRadialGradientColorStops &&\n !config.fillPatternImage) {\n config.fill = config.fill || 'black';\n }\n return config;\n}\nclass Text extends Shape_1.Shape {\n constructor(config) {\n super(checkDefaultFill(config));\n this._partialTextX = 0;\n this._partialTextY = 0;\n for (var n = 0; n < attrChangeListLen; n++) {\n this.on(ATTR_CHANGE_LIST[n] + CHANGE_KONVA, this._setTextData);\n }\n this._setTextData();\n }\n _sceneFunc(context) {\n var textArr = this.textArr, textArrLen = textArr.length;\n if (!this.text()) {\n return;\n }\n var padding = this.padding(), fontSize = this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, verticalAlign = this.verticalAlign(), direction = this.direction(), alignY = 0, align = this.align(), totalWidth = this.getWidth(), letterSpacing = this.letterSpacing(), fill = this.fill(), textDecoration = this.textDecoration(), shouldUnderline = textDecoration.indexOf('underline') !== -1, shouldLineThrough = textDecoration.indexOf('line-through') !== -1, n;\n direction = direction === INHERIT ? context.direction : direction;\n var translateY = 0;\n var translateY = lineHeightPx / 2;\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n if (direction === RTL) {\n context.setAttr('direction', direction);\n }\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', MIDDLE);\n context.setAttr('textAlign', LEFT);\n if (verticalAlign === MIDDLE) {\n alignY = (this.getHeight() - textArrLen * lineHeightPx - padding * 2) / 2;\n }\n else if (verticalAlign === BOTTOM) {\n alignY = this.getHeight() - textArrLen * lineHeightPx - padding * 2;\n }\n context.translate(padding, alignY + padding);\n for (n = 0; n < textArrLen; n++) {\n var lineTranslateX = 0;\n var lineTranslateY = 0;\n var obj = textArr[n], text = obj.text, width = obj.width, lastLine = obj.lastInParagraph, spacesNumber, oneWord, lineWidth;\n context.save();\n if (align === RIGHT) {\n lineTranslateX += totalWidth - width - padding * 2;\n }\n else if (align === CENTER) {\n lineTranslateX += (totalWidth - width - padding * 2) / 2;\n }\n if (shouldUnderline) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY + Math.round(fontSize / 2));\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && !lastLine ? totalWidth - padding * 2 : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY + Math.round(fontSize / 2));\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (shouldLineThrough) {\n context.save();\n context.beginPath();\n context.moveTo(lineTranslateX, translateY + lineTranslateY);\n spacesNumber = text.split(' ').length - 1;\n oneWord = spacesNumber === 0;\n lineWidth =\n align === JUSTIFY && lastLine && !oneWord\n ? totalWidth - padding * 2\n : width;\n context.lineTo(lineTranslateX + Math.round(lineWidth), translateY + lineTranslateY);\n context.lineWidth = fontSize / 15;\n const gradient = this._getLinearGradient();\n context.strokeStyle = gradient || fill;\n context.stroke();\n context.restore();\n }\n if (direction !== RTL && (letterSpacing !== 0 || align === JUSTIFY)) {\n spacesNumber = text.split(' ').length - 1;\n var array = stringToArray(text);\n for (var li = 0; li < array.length; li++) {\n var letter = array[li];\n if (letter === ' ' && !lastLine && align === JUSTIFY) {\n lineTranslateX += (totalWidth - padding * 2 - width) / spacesNumber;\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = letter;\n context.fillStrokeShape(this);\n lineTranslateX += this.measureSize(letter).width + letterSpacing;\n }\n }\n else {\n if (letterSpacing !== 0) {\n context.setAttr('letterSpacing', `${letterSpacing}px`);\n }\n this._partialTextX = lineTranslateX;\n this._partialTextY = translateY + lineTranslateY;\n this._partialText = text;\n context.fillStrokeShape(this);\n }\n context.restore();\n if (textArrLen > 1) {\n translateY += lineHeightPx;\n }\n }\n }\n _hitFunc(context) {\n var width = this.getWidth(), height = this.getHeight();\n context.beginPath();\n context.rect(0, 0, width, height);\n context.closePath();\n context.fillStrokeShape(this);\n }\n setText(text) {\n var str = Util_1.Util._isString(text)\n ? text\n : text === null || text === undefined\n ? ''\n : text + '';\n this._setAttr(TEXT, str);\n return this;\n }\n getWidth() {\n var isAuto = this.attrs.width === AUTO || this.attrs.width === undefined;\n return isAuto ? this.getTextWidth() + this.padding() * 2 : this.attrs.width;\n }\n getHeight() {\n var isAuto = this.attrs.height === AUTO || this.attrs.height === undefined;\n return isAuto\n ? this.fontSize() * this.textArr.length * this.lineHeight() +\n this.padding() * 2\n : this.attrs.height;\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n measureSize(text) {\n var _context = getDummyContext(), fontSize = this.fontSize(), metrics;\n _context.save();\n _context.font = this._getContextFont();\n metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: fontSize,\n };\n }\n _getContextFont() {\n return (this.fontStyle() +\n SPACE +\n this.fontVariant() +\n SPACE +\n (this.fontSize() + PX_SPACE) +\n normalizeFontFamily(this.fontFamily()));\n }\n _addTextLine(line) {\n const align = this.align();\n if (align === JUSTIFY) {\n line = line.trim();\n }\n var width = this._getTextWidth(line);\n return this.textArr.push({\n text: line,\n width: width,\n lastInParagraph: false,\n });\n }\n _getTextWidth(text) {\n var letterSpacing = this.letterSpacing();\n var length = text.length;\n return (getDummyContext().measureText(text).width +\n (length ? letterSpacing * (length - 1) : 0));\n }\n _setTextData() {\n var lines = this.text().split('\\n'), fontSize = +this.fontSize(), textWidth = 0, lineHeightPx = this.lineHeight() * fontSize, width = this.attrs.width, height = this.attrs.height, fixedWidth = width !== AUTO && width !== undefined, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxWidth = width - padding * 2, maxHeightPx = height - padding * 2, currentHeightPx = 0, wrap = this.wrap(), shouldWrap = wrap !== NONE, wrapAtWord = wrap !== CHAR && shouldWrap, shouldAddEllipsis = this.ellipsis();\n this.textArr = [];\n getDummyContext().font = this._getContextFont();\n var additionalWidth = shouldAddEllipsis ? this._getTextWidth(ELLIPSIS) : 0;\n for (var i = 0, max = lines.length; i < max; ++i) {\n var line = lines[i];\n var lineWidth = this._getTextWidth(line);\n if (fixedWidth && lineWidth > maxWidth) {\n while (line.length > 0) {\n var low = 0, high = line.length, match = '', matchWidth = 0;\n while (low < high) {\n var mid = (low + high) >>> 1, substr = line.slice(0, mid + 1), substrWidth = this._getTextWidth(substr) + additionalWidth;\n if (substrWidth <= maxWidth) {\n low = mid + 1;\n match = substr;\n matchWidth = substrWidth;\n }\n else {\n high = mid;\n }\n }\n if (match) {\n if (wrapAtWord) {\n var wrapIndex;\n var nextChar = line[match.length];\n var nextIsSpaceOrDash = nextChar === SPACE || nextChar === DASH;\n if (nextIsSpaceOrDash && matchWidth <= maxWidth) {\n wrapIndex = match.length;\n }\n else {\n wrapIndex =\n Math.max(match.lastIndexOf(SPACE), match.lastIndexOf(DASH)) +\n 1;\n }\n if (wrapIndex > 0) {\n low = wrapIndex;\n match = match.slice(0, low);\n matchWidth = this._getTextWidth(match);\n }\n }\n match = match.trimRight();\n this._addTextLine(match);\n textWidth = Math.max(textWidth, matchWidth);\n currentHeightPx += lineHeightPx;\n var shouldHandleEllipsis = this._shouldHandleEllipsis(currentHeightPx);\n if (shouldHandleEllipsis) {\n this._tryToAddEllipsisToLastLine();\n break;\n }\n line = line.slice(low);\n line = line.trimLeft();\n if (line.length > 0) {\n lineWidth = this._getTextWidth(line);\n if (lineWidth <= maxWidth) {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n break;\n }\n }\n }\n else {\n break;\n }\n }\n }\n else {\n this._addTextLine(line);\n currentHeightPx += lineHeightPx;\n textWidth = Math.max(textWidth, lineWidth);\n if (this._shouldHandleEllipsis(currentHeightPx) && i < max - 1) {\n this._tryToAddEllipsisToLastLine();\n }\n }\n if (this.textArr[this.textArr.length - 1]) {\n this.textArr[this.textArr.length - 1].lastInParagraph = true;\n }\n if (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx) {\n break;\n }\n }\n this.textHeight = fontSize;\n this.textWidth = textWidth;\n }\n _shouldHandleEllipsis(currentHeightPx) {\n var fontSize = +this.fontSize(), lineHeightPx = this.lineHeight() * fontSize, height = this.attrs.height, fixedHeight = height !== AUTO && height !== undefined, padding = this.padding(), maxHeightPx = height - padding * 2, wrap = this.wrap(), shouldWrap = wrap !== NONE;\n return (!shouldWrap ||\n (fixedHeight && currentHeightPx + lineHeightPx > maxHeightPx));\n }\n _tryToAddEllipsisToLastLine() {\n var width = this.attrs.width, fixedWidth = width !== AUTO && width !== undefined, padding = this.padding(), maxWidth = width - padding * 2, shouldAddEllipsis = this.ellipsis();\n var lastLine = this.textArr[this.textArr.length - 1];\n if (!lastLine || !shouldAddEllipsis) {\n return;\n }\n if (fixedWidth) {\n var haveSpace = this._getTextWidth(lastLine.text + ELLIPSIS) < maxWidth;\n if (!haveSpace) {\n lastLine.text = lastLine.text.slice(0, lastLine.text.length - 3);\n }\n }\n this.textArr.splice(this.textArr.length - 1, 1);\n this._addTextLine(lastLine.text + ELLIPSIS);\n }\n getStrokeScaleEnabled() {\n return true;\n }\n _useBufferCanvas() {\n const hasLine = this.textDecoration().indexOf('underline') !== -1 ||\n this.textDecoration().indexOf('line-through') !== -1;\n const hasShadow = this.hasShadow();\n if (hasLine && hasShadow) {\n return true;\n }\n return super._useBufferCanvas();\n }\n}\nexports.Text = Text;\nText.prototype._fillFunc = _fillFunc;\nText.prototype._strokeFunc = _strokeFunc;\nText.prototype.className = TEXT_UPPER;\nText.prototype._attrsAffectingSize = [\n 'text',\n 'fontSize',\n 'padding',\n 'wrap',\n 'lineHeight',\n 'letterSpacing',\n];\n(0, Global_1._registerNode)(Text);\nFactory_1.Factory.overWriteSetter(Text, 'width', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.overWriteSetter(Text, 'height', (0, Validators_1.getNumberOrAutoValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'direction', INHERIT);\nFactory_1.Factory.addGetterSetter(Text, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(Text, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(Text, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'align', LEFT);\nFactory_1.Factory.addGetterSetter(Text, 'verticalAlign', TOP);\nFactory_1.Factory.addGetterSetter(Text, 'lineHeight', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'wrap', WORD);\nFactory_1.Factory.addGetterSetter(Text, 'ellipsis', false, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());\nFactory_1.Factory.addGetterSetter(Text, 'textDecoration', '');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextPath = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Path_1 = require(\"./Path\");\nconst Text_1 = require(\"./Text\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_1 = require(\"../Global\");\nvar EMPTY_STRING = '', NORMAL = 'normal';\nfunction _fillFunc(context) {\n context.fillText(this.partialText, 0, 0);\n}\nfunction _strokeFunc(context) {\n context.strokeText(this.partialText, 0, 0);\n}\nclass TextPath extends Shape_1.Shape {\n constructor(config) {\n super(config);\n this.dummyCanvas = Util_1.Util.createCanvasElement();\n this.dataArray = [];\n this._readDataAttribute();\n this.on('dataChange.konva', function () {\n this._readDataAttribute();\n this._setTextData();\n });\n this.on('textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva', this._setTextData);\n this._setTextData();\n }\n _getTextPathLength() {\n return Path_1.Path.getPathLength(this.dataArray);\n }\n _getPointAtLength(length) {\n if (!this.attrs.data) {\n return null;\n }\n const totalLength = this.pathLength;\n if (length - 1 > totalLength) {\n return null;\n }\n return Path_1.Path.getPointAtLengthOfDataArray(length, this.dataArray);\n }\n _readDataAttribute() {\n this.dataArray = Path_1.Path.parsePathData(this.attrs.data);\n this.pathLength = this._getTextPathLength();\n }\n _sceneFunc(context) {\n context.setAttr('font', this._getContextFont());\n context.setAttr('textBaseline', this.textBaseline());\n context.setAttr('textAlign', 'left');\n context.save();\n var textDecoration = this.textDecoration();\n var fill = this.fill();\n var fontSize = this.fontSize();\n var glyphInfo = this.glyphInfo;\n if (textDecoration === 'underline') {\n context.beginPath();\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n context.save();\n var p0 = glyphInfo[i].p0;\n context.translate(p0.x, p0.y);\n context.rotate(glyphInfo[i].rotation);\n this.partialText = glyphInfo[i].text;\n context.fillStrokeShape(this);\n if (textDecoration === 'underline') {\n if (i === 0) {\n context.moveTo(0, fontSize / 2 + 1);\n }\n context.lineTo(fontSize, fontSize / 2 + 1);\n }\n context.restore();\n }\n if (textDecoration === 'underline') {\n context.strokeStyle = fill;\n context.lineWidth = fontSize / 20;\n context.stroke();\n }\n context.restore();\n }\n _hitFunc(context) {\n context.beginPath();\n var glyphInfo = this.glyphInfo;\n if (glyphInfo.length >= 1) {\n var p0 = glyphInfo[0].p0;\n context.moveTo(p0.x, p0.y);\n }\n for (var i = 0; i < glyphInfo.length; i++) {\n var p1 = glyphInfo[i].p1;\n context.lineTo(p1.x, p1.y);\n }\n context.setAttr('lineWidth', this.fontSize());\n context.setAttr('strokeStyle', this.colorKey);\n context.stroke();\n }\n getTextWidth() {\n return this.textWidth;\n }\n getTextHeight() {\n Util_1.Util.warn('text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height.');\n return this.textHeight;\n }\n setText(text) {\n return Text_1.Text.prototype.setText.call(this, text);\n }\n _getContextFont() {\n return Text_1.Text.prototype._getContextFont.call(this);\n }\n _getTextSize(text) {\n var dummyCanvas = this.dummyCanvas;\n var _context = dummyCanvas.getContext('2d');\n _context.save();\n _context.font = this._getContextFont();\n var metrics = _context.measureText(text);\n _context.restore();\n return {\n width: metrics.width,\n height: parseInt(`${this.fontSize()}`, 10),\n };\n }\n _setTextData() {\n const { width, height } = this._getTextSize(this.attrs.text);\n this.textWidth = width;\n this.textHeight = height;\n this.glyphInfo = [];\n if (!this.attrs.data) {\n return null;\n }\n const letterSpacing = this.letterSpacing();\n const align = this.align();\n const kerningFunc = this.kerningFunc();\n const textWidth = Math.max(this.textWidth + ((this.attrs.text || '').length - 1) * letterSpacing, 0);\n let offset = 0;\n if (align === 'center') {\n offset = Math.max(0, this.pathLength / 2 - textWidth / 2);\n }\n if (align === 'right') {\n offset = Math.max(0, this.pathLength - textWidth);\n }\n const charArr = (0, Text_1.stringToArray)(this.text());\n let offsetToGlyph = offset;\n for (var i = 0; i < charArr.length; i++) {\n const charStartPoint = this._getPointAtLength(offsetToGlyph);\n if (!charStartPoint)\n return;\n let glyphWidth = this._getTextSize(charArr[i]).width + letterSpacing;\n if (charArr[i] === ' ' && align === 'justify') {\n const numberOfSpaces = this.text().split(' ').length - 1;\n glyphWidth += (this.pathLength - textWidth) / numberOfSpaces;\n }\n const charEndPoint = this._getPointAtLength(offsetToGlyph + glyphWidth);\n if (!charEndPoint)\n return;\n const width = Path_1.Path.getLineLength(charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n let kern = 0;\n if (kerningFunc) {\n try {\n kern = kerningFunc(charArr[i - 1], charArr[i]) * this.fontSize();\n }\n catch (e) {\n kern = 0;\n }\n }\n charStartPoint.x += kern;\n charEndPoint.x += kern;\n this.textWidth += kern;\n const midpoint = Path_1.Path.getPointOnLine(kern + width / 2.0, charStartPoint.x, charStartPoint.y, charEndPoint.x, charEndPoint.y);\n const rotation = Math.atan2(charEndPoint.y - charStartPoint.y, charEndPoint.x - charStartPoint.x);\n this.glyphInfo.push({\n transposeX: midpoint.x,\n transposeY: midpoint.y,\n text: charArr[i],\n rotation: rotation,\n p0: charStartPoint,\n p1: charEndPoint,\n });\n offsetToGlyph += glyphWidth;\n }\n }\n getSelfRect() {\n if (!this.glyphInfo.length) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n var points = [];\n this.glyphInfo.forEach(function (info) {\n points.push(info.p0.x);\n points.push(info.p0.y);\n points.push(info.p1.x);\n points.push(info.p1.y);\n });\n var minX = points[0] || 0;\n var maxX = points[0] || 0;\n var minY = points[1] || 0;\n var maxY = points[1] || 0;\n var x, y;\n for (var i = 0; i < points.length / 2; i++) {\n x = points[i * 2];\n y = points[i * 2 + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n var fontSize = this.fontSize();\n return {\n x: minX - fontSize / 2,\n y: minY - fontSize / 2,\n width: maxX - minX + fontSize,\n height: maxY - minY + fontSize,\n };\n }\n destroy() {\n Util_1.Util.releaseCanvas(this.dummyCanvas);\n return super.destroy();\n }\n}\nexports.TextPath = TextPath;\nTextPath.prototype._fillFunc = _fillFunc;\nTextPath.prototype._strokeFunc = _strokeFunc;\nTextPath.prototype._fillFuncHit = _fillFunc;\nTextPath.prototype._strokeFuncHit = _strokeFunc;\nTextPath.prototype.className = 'TextPath';\nTextPath.prototype._attrsAffectingSize = ['text', 'fontSize', 'data'];\n(0, Global_1._registerNode)(TextPath);\nFactory_1.Factory.addGetterSetter(TextPath, 'data');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontFamily', 'Arial');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontSize', 12, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'fontStyle', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'align', 'left');\nFactory_1.Factory.addGetterSetter(TextPath, 'letterSpacing', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(TextPath, 'textBaseline', 'middle');\nFactory_1.Factory.addGetterSetter(TextPath, 'fontVariant', NORMAL);\nFactory_1.Factory.addGetterSetter(TextPath, 'text', EMPTY_STRING);\nFactory_1.Factory.addGetterSetter(TextPath, 'textDecoration', null);\nFactory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', null);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transformer = void 0;\nconst Util_1 = require(\"../Util\");\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Shape_1 = require(\"../Shape\");\nconst Rect_1 = require(\"./Rect\");\nconst Group_1 = require(\"../Group\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nvar EVENTS_NAME = 'tr-konva';\nvar ATTR_CHANGE_LIST = [\n 'resizeEnabledChange',\n 'rotateAnchorOffsetChange',\n 'rotateEnabledChange',\n 'enabledAnchorsChange',\n 'anchorSizeChange',\n 'borderEnabledChange',\n 'borderStrokeChange',\n 'borderStrokeWidthChange',\n 'borderDashChange',\n 'anchorStrokeChange',\n 'anchorStrokeWidthChange',\n 'anchorFillChange',\n 'anchorCornerRadiusChange',\n 'ignoreStrokeChange',\n 'anchorStyleFuncChange',\n]\n .map((e) => e + `.${EVENTS_NAME}`)\n .join(' ');\nvar NODES_RECT = 'nodesRect';\nvar TRANSFORM_CHANGE_STR = [\n 'widthChange',\n 'heightChange',\n 'scaleXChange',\n 'scaleYChange',\n 'skewXChange',\n 'skewYChange',\n 'rotationChange',\n 'offsetXChange',\n 'offsetYChange',\n 'transformsEnabledChange',\n 'strokeWidthChange',\n];\nvar ANGLES = {\n 'top-left': -45,\n 'top-center': 0,\n 'top-right': 45,\n 'middle-right': -90,\n 'middle-left': 90,\n 'bottom-left': -135,\n 'bottom-center': 180,\n 'bottom-right': 135,\n};\nconst TOUCH_DEVICE = 'ontouchstart' in Global_1.Konva._global;\nfunction getCursor(anchorName, rad, rotateCursor) {\n if (anchorName === 'rotater') {\n return rotateCursor;\n }\n rad += Util_1.Util.degToRad(ANGLES[anchorName] || 0);\n var angle = ((Util_1.Util.radToDeg(rad) % 360) + 360) % 360;\n if (Util_1.Util._inRange(angle, 315 + 22.5, 360) || Util_1.Util._inRange(angle, 0, 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 45 - 22.5, 45 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 90 - 22.5, 90 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 135 - 22.5, 135 + 22.5)) {\n return 'nwse-resize';\n }\n else if (Util_1.Util._inRange(angle, 180 - 22.5, 180 + 22.5)) {\n return 'ns-resize';\n }\n else if (Util_1.Util._inRange(angle, 225 - 22.5, 225 + 22.5)) {\n return 'nesw-resize';\n }\n else if (Util_1.Util._inRange(angle, 270 - 22.5, 270 + 22.5)) {\n return 'ew-resize';\n }\n else if (Util_1.Util._inRange(angle, 315 - 22.5, 315 + 22.5)) {\n return 'nwse-resize';\n }\n else {\n Util_1.Util.error('Transformer has unknown angle for cursor detection: ' + angle);\n return 'pointer';\n }\n}\nvar ANCHORS_NAMES = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'middle-right',\n 'middle-left',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n];\nvar MAX_SAFE_INTEGER = 100000000;\nfunction getCenter(shape) {\n return {\n x: shape.x +\n (shape.width / 2) * Math.cos(shape.rotation) +\n (shape.height / 2) * Math.sin(-shape.rotation),\n y: shape.y +\n (shape.height / 2) * Math.cos(shape.rotation) +\n (shape.width / 2) * Math.sin(shape.rotation),\n };\n}\nfunction rotateAroundPoint(shape, angleRad, point) {\n const x = point.x +\n (shape.x - point.x) * Math.cos(angleRad) -\n (shape.y - point.y) * Math.sin(angleRad);\n const y = point.y +\n (shape.x - point.x) * Math.sin(angleRad) +\n (shape.y - point.y) * Math.cos(angleRad);\n return {\n ...shape,\n rotation: shape.rotation + angleRad,\n x,\n y,\n };\n}\nfunction rotateAroundCenter(shape, deltaRad) {\n const center = getCenter(shape);\n return rotateAroundPoint(shape, deltaRad, center);\n}\nfunction getSnap(snaps, newRotationRad, tol) {\n let snapped = newRotationRad;\n for (let i = 0; i < snaps.length; i++) {\n const angle = Global_1.Konva.getAngle(snaps[i]);\n const absDiff = Math.abs(angle - newRotationRad) % (Math.PI * 2);\n const dif = Math.min(absDiff, Math.PI * 2 - absDiff);\n if (dif < tol) {\n snapped = angle;\n }\n }\n return snapped;\n}\nlet activeTransformersCount = 0;\nclass Transformer extends Group_1.Group {\n constructor(config) {\n super(config);\n this._movingAnchorName = null;\n this._transforming = false;\n this._createElements();\n this._handleMouseMove = this._handleMouseMove.bind(this);\n this._handleMouseUp = this._handleMouseUp.bind(this);\n this.update = this.update.bind(this);\n this.on(ATTR_CHANGE_LIST, this.update);\n if (this.getNode()) {\n this.update();\n }\n }\n attachTo(node) {\n this.setNode(node);\n return this;\n }\n setNode(node) {\n Util_1.Util.warn('tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead.');\n return this.setNodes([node]);\n }\n getNode() {\n return this._nodes && this._nodes[0];\n }\n _getEventNamespace() {\n return EVENTS_NAME + this._id;\n }\n setNodes(nodes = []) {\n if (this._nodes && this._nodes.length) {\n this.detach();\n }\n const filteredNodes = nodes.filter((node) => {\n if (node.isAncestorOf(this)) {\n Util_1.Util.error('Konva.Transformer cannot be an a child of the node you are trying to attach');\n return false;\n }\n return true;\n });\n this._nodes = nodes = filteredNodes;\n if (nodes.length === 1 && this.useSingleNodeRotation()) {\n this.rotation(nodes[0].getAbsoluteRotation());\n }\n else {\n this.rotation(0);\n }\n this._nodes.forEach((node) => {\n const onChange = () => {\n if (this.nodes().length === 1 && this.useSingleNodeRotation()) {\n this.rotation(this.nodes()[0].getAbsoluteRotation());\n }\n this._resetTransformCache();\n if (!this._transforming && !this.isDragging()) {\n this.update();\n }\n };\n const additionalEvents = node._attrsAffectingSize\n .map((prop) => prop + 'Change.' + this._getEventNamespace())\n .join(' ');\n node.on(additionalEvents, onChange);\n node.on(TRANSFORM_CHANGE_STR.map((e) => e + `.${this._getEventNamespace()}`).join(' '), onChange);\n node.on(`absoluteTransformChange.${this._getEventNamespace()}`, onChange);\n this._proxyDrag(node);\n });\n this._resetTransformCache();\n var elementsCreated = !!this.findOne('.top-left');\n if (elementsCreated) {\n this.update();\n }\n return this;\n }\n _proxyDrag(node) {\n let lastPos;\n node.on(`dragstart.${this._getEventNamespace()}`, (e) => {\n lastPos = node.getAbsolutePosition();\n if (!this.isDragging() && node !== this.findOne('.back')) {\n this.startDrag(e, false);\n }\n });\n node.on(`dragmove.${this._getEventNamespace()}`, (e) => {\n if (!lastPos) {\n return;\n }\n const abs = node.getAbsolutePosition();\n const dx = abs.x - lastPos.x;\n const dy = abs.y - lastPos.y;\n this.nodes().forEach((otherNode) => {\n if (otherNode === node) {\n return;\n }\n if (otherNode.isDragging()) {\n return;\n }\n const otherAbs = otherNode.getAbsolutePosition();\n otherNode.setAbsolutePosition({\n x: otherAbs.x + dx,\n y: otherAbs.y + dy,\n });\n otherNode.startDrag(e);\n });\n lastPos = null;\n });\n }\n getNodes() {\n return this._nodes || [];\n }\n getActiveAnchor() {\n return this._movingAnchorName;\n }\n detach() {\n if (this._nodes) {\n this._nodes.forEach((node) => {\n node.off('.' + this._getEventNamespace());\n });\n }\n this._nodes = [];\n this._resetTransformCache();\n }\n _resetTransformCache() {\n this._clearCache(NODES_RECT);\n this._clearCache('transform');\n this._clearSelfAndDescendantCache('absoluteTransform');\n }\n _getNodeRect() {\n return this._getCache(NODES_RECT, this.__getNodeRect);\n }\n __getNodeShape(node, rot = this.rotation(), relative) {\n var rect = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var absScale = node.getAbsoluteScale(relative);\n var absPos = node.getAbsolutePosition(relative);\n var dx = rect.x * absScale.x - node.offsetX() * absScale.x;\n var dy = rect.y * absScale.y - node.offsetY() * absScale.y;\n const rotation = (Global_1.Konva.getAngle(node.getAbsoluteRotation()) + Math.PI * 2) %\n (Math.PI * 2);\n const box = {\n x: absPos.x + dx * Math.cos(rotation) + dy * Math.sin(-rotation),\n y: absPos.y + dy * Math.cos(rotation) + dx * Math.sin(rotation),\n width: rect.width * absScale.x,\n height: rect.height * absScale.y,\n rotation: rotation,\n };\n return rotateAroundPoint(box, -Global_1.Konva.getAngle(rot), {\n x: 0,\n y: 0,\n });\n }\n __getNodeRect() {\n var node = this.getNode();\n if (!node) {\n return {\n x: -MAX_SAFE_INTEGER,\n y: -MAX_SAFE_INTEGER,\n width: 0,\n height: 0,\n rotation: 0,\n };\n }\n const totalPoints = [];\n this.nodes().map((node) => {\n const box = node.getClientRect({\n skipTransform: true,\n skipShadow: true,\n skipStroke: this.ignoreStroke(),\n });\n var points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n var trans = node.getAbsoluteTransform();\n points.forEach(function (point) {\n var transformed = trans.point(point);\n totalPoints.push(transformed);\n });\n });\n const tr = new Util_1.Transform();\n tr.rotate(-Global_1.Konva.getAngle(this.rotation()));\n var minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;\n totalPoints.forEach(function (point) {\n var transformed = tr.point(point);\n if (minX === undefined) {\n minX = maxX = transformed.x;\n minY = maxY = transformed.y;\n }\n minX = Math.min(minX, transformed.x);\n minY = Math.min(minY, transformed.y);\n maxX = Math.max(maxX, transformed.x);\n maxY = Math.max(maxY, transformed.y);\n });\n tr.invert();\n const p = tr.point({ x: minX, y: minY });\n return {\n x: p.x,\n y: p.y,\n width: maxX - minX,\n height: maxY - minY,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n };\n }\n getX() {\n return this._getNodeRect().x;\n }\n getY() {\n return this._getNodeRect().y;\n }\n getWidth() {\n return this._getNodeRect().width;\n }\n getHeight() {\n return this._getNodeRect().height;\n }\n _createElements() {\n this._createBack();\n ANCHORS_NAMES.forEach((name) => {\n this._createAnchor(name);\n });\n this._createAnchor('rotater');\n }\n _createAnchor(name) {\n var anchor = new Rect_1.Rect({\n stroke: 'rgb(0, 161, 255)',\n fill: 'white',\n strokeWidth: 1,\n name: name + ' _anchor',\n dragDistance: 0,\n draggable: true,\n hitStrokeWidth: TOUCH_DEVICE ? 10 : 'auto',\n });\n var self = this;\n anchor.on('mousedown touchstart', function (e) {\n self._handleMouseDown(e);\n });\n anchor.on('dragstart', (e) => {\n anchor.stopDrag();\n e.cancelBubble = true;\n });\n anchor.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n anchor.on('mouseenter', () => {\n var rad = Global_1.Konva.getAngle(this.rotation());\n var rotateCursor = this.rotateAnchorCursor();\n var cursor = getCursor(name, rad, rotateCursor);\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = cursor);\n this._cursorChange = true;\n });\n anchor.on('mouseout', () => {\n anchor.getStage().content &&\n (anchor.getStage().content.style.cursor = '');\n this._cursorChange = false;\n });\n this.add(anchor);\n }\n _createBack() {\n var back = new Shape_1.Shape({\n name: 'back',\n width: 0,\n height: 0,\n draggable: true,\n sceneFunc(ctx, shape) {\n var tr = shape.getParent();\n var padding = tr.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.moveTo(shape.width() / 2, -padding);\n if (tr.rotateEnabled() && tr.rotateLineVisible()) {\n ctx.lineTo(shape.width() / 2, -tr.rotateAnchorOffset() * Util_1.Util._sign(shape.height()) - padding);\n }\n ctx.fillStrokeShape(shape);\n },\n hitFunc: (ctx, shape) => {\n if (!this.shouldOverdrawWholeArea()) {\n return;\n }\n var padding = this.padding();\n ctx.beginPath();\n ctx.rect(-padding, -padding, shape.width() + padding * 2, shape.height() + padding * 2);\n ctx.fillStrokeShape(shape);\n },\n });\n this.add(back);\n this._proxyDrag(back);\n back.on('dragstart', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragmove', (e) => {\n e.cancelBubble = true;\n });\n back.on('dragend', (e) => {\n e.cancelBubble = true;\n });\n this.on('dragmove', (e) => {\n this.update();\n });\n }\n _handleMouseDown(e) {\n this._movingAnchorName = e.target.name().split(' ')[0];\n var attrs = this._getNodeRect();\n var width = attrs.width;\n var height = attrs.height;\n var hypotenuse = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2));\n this.sin = Math.abs(height / hypotenuse);\n this.cos = Math.abs(width / hypotenuse);\n if (typeof window !== 'undefined') {\n window.addEventListener('mousemove', this._handleMouseMove);\n window.addEventListener('touchmove', this._handleMouseMove);\n window.addEventListener('mouseup', this._handleMouseUp, true);\n window.addEventListener('touchend', this._handleMouseUp, true);\n }\n this._transforming = true;\n var ap = e.target.getAbsolutePosition();\n var pos = e.target.getStage().getPointerPosition();\n this._anchorDragOffset = {\n x: pos.x - ap.x,\n y: pos.y - ap.y,\n };\n activeTransformersCount++;\n this._fire('transformstart', { evt: e.evt, target: this.getNode() });\n this._nodes.forEach((target) => {\n target._fire('transformstart', { evt: e.evt, target });\n });\n }\n _handleMouseMove(e) {\n var x, y, newHypotenuse;\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n var stage = anchorNode.getStage();\n stage.setPointersPositions(e);\n const pp = stage.getPointerPosition();\n let newNodePos = {\n x: pp.x - this._anchorDragOffset.x,\n y: pp.y - this._anchorDragOffset.y,\n };\n const oldAbs = anchorNode.getAbsolutePosition();\n if (this.anchorDragBoundFunc()) {\n newNodePos = this.anchorDragBoundFunc()(oldAbs, newNodePos, e);\n }\n anchorNode.setAbsolutePosition(newNodePos);\n const newAbs = anchorNode.getAbsolutePosition();\n if (oldAbs.x === newAbs.x && oldAbs.y === newAbs.y) {\n return;\n }\n if (this._movingAnchorName === 'rotater') {\n var attrs = this._getNodeRect();\n x = anchorNode.x() - attrs.width / 2;\n y = -anchorNode.y() + attrs.height / 2;\n let delta = Math.atan2(-y, x) + Math.PI / 2;\n if (attrs.height < 0) {\n delta -= Math.PI;\n }\n var oldRotation = Global_1.Konva.getAngle(this.rotation());\n const newRotation = oldRotation + delta;\n const tol = Global_1.Konva.getAngle(this.rotationSnapTolerance());\n const snappedRot = getSnap(this.rotationSnaps(), newRotation, tol);\n const diff = snappedRot - attrs.rotation;\n const shape = rotateAroundCenter(attrs, diff);\n this._fitNodesInto(shape, e);\n return;\n }\n var shiftBehavior = this.shiftBehavior();\n var keepProportion;\n if (shiftBehavior === 'inverted') {\n keepProportion = this.keepRatio() && !e.shiftKey;\n }\n else if (shiftBehavior === 'none') {\n keepProportion = this.keepRatio();\n }\n else {\n keepProportion = this.keepRatio() || e.shiftKey;\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (this._movingAnchorName === 'top-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-right').x(),\n y: this.findOne('.bottom-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-left').x() > comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-left').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-left').x(comparePoint.x - x);\n this.findOne('.top-left').y(comparePoint.y - y);\n }\n }\n else if (this._movingAnchorName === 'top-center') {\n this.findOne('.top-left').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'top-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.bottom-left').x(),\n y: this.findOne('.bottom-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(comparePoint.y - anchorNode.y(), 2));\n var reverseX = this.findOne('.top-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.top-right').y() > comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.top-right').x(comparePoint.x + x);\n this.findOne('.top-right').y(comparePoint.y - y);\n }\n var pos = anchorNode.position();\n this.findOne('.top-left').y(pos.y);\n this.findOne('.bottom-right').x(pos.x);\n }\n else if (this._movingAnchorName === 'middle-left') {\n this.findOne('.top-left').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'middle-right') {\n this.findOne('.bottom-right').x(anchorNode.x());\n }\n else if (this._movingAnchorName === 'bottom-left') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-right').x(),\n y: this.findOne('.top-right').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(comparePoint.x - anchorNode.x(), 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = comparePoint.x < anchorNode.x() ? -1 : 1;\n var reverseY = anchorNode.y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n anchorNode.x(comparePoint.x - x);\n anchorNode.y(comparePoint.y + y);\n }\n pos = anchorNode.position();\n this.findOne('.top-left').x(pos.x);\n this.findOne('.bottom-right').y(pos.y);\n }\n else if (this._movingAnchorName === 'bottom-center') {\n this.findOne('.bottom-right').y(anchorNode.y());\n }\n else if (this._movingAnchorName === 'bottom-right') {\n if (keepProportion) {\n var comparePoint = centeredScaling\n ? {\n x: this.width() / 2,\n y: this.height() / 2,\n }\n : {\n x: this.findOne('.top-left').x(),\n y: this.findOne('.top-left').y(),\n };\n newHypotenuse = Math.sqrt(Math.pow(anchorNode.x() - comparePoint.x, 2) +\n Math.pow(anchorNode.y() - comparePoint.y, 2));\n var reverseX = this.findOne('.bottom-right').x() < comparePoint.x ? -1 : 1;\n var reverseY = this.findOne('.bottom-right').y() < comparePoint.y ? -1 : 1;\n x = newHypotenuse * this.cos * reverseX;\n y = newHypotenuse * this.sin * reverseY;\n this.findOne('.bottom-right').x(comparePoint.x + x);\n this.findOne('.bottom-right').y(comparePoint.y + y);\n }\n }\n else {\n console.error(new Error('Wrong position argument of selection resizer: ' +\n this._movingAnchorName));\n }\n var centeredScaling = this.centeredScaling() || e.altKey;\n if (centeredScaling) {\n var topLeft = this.findOne('.top-left');\n var bottomRight = this.findOne('.bottom-right');\n var topOffsetX = topLeft.x();\n var topOffsetY = topLeft.y();\n var bottomOffsetX = this.getWidth() - bottomRight.x();\n var bottomOffsetY = this.getHeight() - bottomRight.y();\n bottomRight.move({\n x: -topOffsetX,\n y: -topOffsetY,\n });\n topLeft.move({\n x: bottomOffsetX,\n y: bottomOffsetY,\n });\n }\n var absPos = this.findOne('.top-left').getAbsolutePosition();\n x = absPos.x;\n y = absPos.y;\n var width = this.findOne('.bottom-right').x() - this.findOne('.top-left').x();\n var height = this.findOne('.bottom-right').y() - this.findOne('.top-left').y();\n this._fitNodesInto({\n x: x,\n y: y,\n width: width,\n height: height,\n rotation: Global_1.Konva.getAngle(this.rotation()),\n }, e);\n }\n _handleMouseUp(e) {\n this._removeEvents(e);\n }\n getAbsoluteTransform() {\n return this.getTransform();\n }\n _removeEvents(e) {\n var _a;\n if (this._transforming) {\n this._transforming = false;\n if (typeof window !== 'undefined') {\n window.removeEventListener('mousemove', this._handleMouseMove);\n window.removeEventListener('touchmove', this._handleMouseMove);\n window.removeEventListener('mouseup', this._handleMouseUp, true);\n window.removeEventListener('touchend', this._handleMouseUp, true);\n }\n var node = this.getNode();\n activeTransformersCount--;\n this._fire('transformend', { evt: e, target: node });\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n if (node) {\n this._nodes.forEach((target) => {\n var _a;\n target._fire('transformend', { evt: e, target });\n (_a = target.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n }\n this._movingAnchorName = null;\n }\n }\n _fitNodesInto(newAttrs, evt) {\n var oldAttrs = this._getNodeRect();\n const minSize = 1;\n if (Util_1.Util._inRange(newAttrs.width, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n if (Util_1.Util._inRange(newAttrs.height, -this.padding() * 2 - minSize, minSize)) {\n this.update();\n return;\n }\n var t = new Util_1.Transform();\n t.rotate(Global_1.Konva.getAngle(this.rotation()));\n if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('left') >= 0) {\n const offset = t.point({\n x: -this.padding() * 2,\n y: 0,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n newAttrs.width += this.padding() * 2;\n this._movingAnchorName = this._movingAnchorName.replace('left', 'right');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n }\n else if (this._movingAnchorName &&\n newAttrs.width < 0 &&\n this._movingAnchorName.indexOf('right') >= 0) {\n const offset = t.point({\n x: this.padding() * 2,\n y: 0,\n });\n this._movingAnchorName = this._movingAnchorName.replace('right', 'left');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.width += this.padding() * 2;\n }\n if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('top') >= 0) {\n const offset = t.point({\n x: 0,\n y: -this.padding() * 2,\n });\n newAttrs.x += offset.x;\n newAttrs.y += offset.y;\n this._movingAnchorName = this._movingAnchorName.replace('top', 'bottom');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n else if (this._movingAnchorName &&\n newAttrs.height < 0 &&\n this._movingAnchorName.indexOf('bottom') >= 0) {\n const offset = t.point({\n x: 0,\n y: this.padding() * 2,\n });\n this._movingAnchorName = this._movingAnchorName.replace('bottom', 'top');\n this._anchorDragOffset.x -= offset.x;\n this._anchorDragOffset.y -= offset.y;\n newAttrs.height += this.padding() * 2;\n }\n if (this.boundBoxFunc()) {\n const bounded = this.boundBoxFunc()(oldAttrs, newAttrs);\n if (bounded) {\n newAttrs = bounded;\n }\n else {\n Util_1.Util.warn('boundBoxFunc returned falsy. You should return new bound rect from it!');\n }\n }\n const baseSize = 10000000;\n const oldTr = new Util_1.Transform();\n oldTr.translate(oldAttrs.x, oldAttrs.y);\n oldTr.rotate(oldAttrs.rotation);\n oldTr.scale(oldAttrs.width / baseSize, oldAttrs.height / baseSize);\n const newTr = new Util_1.Transform();\n const newScaleX = newAttrs.width / baseSize;\n const newScaleY = newAttrs.height / baseSize;\n if (this.flipEnabled() === false) {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.translate(newAttrs.width < 0 ? newAttrs.width : 0, newAttrs.height < 0 ? newAttrs.height : 0);\n newTr.scale(Math.abs(newScaleX), Math.abs(newScaleY));\n }\n else {\n newTr.translate(newAttrs.x, newAttrs.y);\n newTr.rotate(newAttrs.rotation);\n newTr.scale(newScaleX, newScaleY);\n }\n const delta = newTr.multiply(oldTr.invert());\n this._nodes.forEach((node) => {\n var _a;\n const parentTransform = node.getParent().getAbsoluteTransform();\n const localTransform = node.getTransform().copy();\n localTransform.translate(node.offsetX(), node.offsetY());\n const newLocalTransform = new Util_1.Transform();\n newLocalTransform\n .multiply(parentTransform.copy().invert())\n .multiply(delta)\n .multiply(parentTransform)\n .multiply(localTransform);\n const attrs = newLocalTransform.decompose();\n node.setAttrs(attrs);\n (_a = node.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n });\n this.rotation(Util_1.Util._getRotation(newAttrs.rotation));\n this._nodes.forEach((node) => {\n this._fire('transform', { evt: evt, target: node });\n node._fire('transform', { evt: evt, target: node });\n });\n this._resetTransformCache();\n this.update();\n this.getLayer().batchDraw();\n }\n forceUpdate() {\n this._resetTransformCache();\n this.update();\n }\n _batchChangeChild(selector, attrs) {\n const anchor = this.findOne(selector);\n anchor.setAttrs(attrs);\n }\n update() {\n var _a;\n var attrs = this._getNodeRect();\n this.rotation(Util_1.Util._getRotation(attrs.rotation));\n var width = attrs.width;\n var height = attrs.height;\n var enabledAnchors = this.enabledAnchors();\n var resizeEnabled = this.resizeEnabled();\n var padding = this.padding();\n var anchorSize = this.anchorSize();\n const anchors = this.find('._anchor');\n anchors.forEach((node) => {\n node.setAttrs({\n width: anchorSize,\n height: anchorSize,\n offsetX: anchorSize / 2,\n offsetY: anchorSize / 2,\n stroke: this.anchorStroke(),\n strokeWidth: this.anchorStrokeWidth(),\n fill: this.anchorFill(),\n cornerRadius: this.anchorCornerRadius(),\n });\n });\n this._batchChangeChild('.top-left', {\n x: 0,\n y: 0,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-left') >= 0,\n });\n this._batchChangeChild('.top-center', {\n x: width / 2,\n y: 0,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-center') >= 0,\n });\n this._batchChangeChild('.top-right', {\n x: width,\n y: 0,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('top-right') >= 0,\n });\n this._batchChangeChild('.middle-left', {\n x: 0,\n y: height / 2,\n offsetX: anchorSize / 2 + padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-left') >= 0,\n });\n this._batchChangeChild('.middle-right', {\n x: width,\n y: height / 2,\n offsetX: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('middle-right') >= 0,\n });\n this._batchChangeChild('.bottom-left', {\n x: 0,\n y: height,\n offsetX: anchorSize / 2 + padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-left') >= 0,\n });\n this._batchChangeChild('.bottom-center', {\n x: width / 2,\n y: height,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-center') >= 0,\n });\n this._batchChangeChild('.bottom-right', {\n x: width,\n y: height,\n offsetX: anchorSize / 2 - padding,\n offsetY: anchorSize / 2 - padding,\n visible: resizeEnabled && enabledAnchors.indexOf('bottom-right') >= 0,\n });\n this._batchChangeChild('.rotater', {\n x: width / 2,\n y: -this.rotateAnchorOffset() * Util_1.Util._sign(height) - padding,\n visible: this.rotateEnabled(),\n });\n this._batchChangeChild('.back', {\n width: width,\n height: height,\n visible: this.borderEnabled(),\n stroke: this.borderStroke(),\n strokeWidth: this.borderStrokeWidth(),\n dash: this.borderDash(),\n x: 0,\n y: 0,\n });\n const styleFunc = this.anchorStyleFunc();\n if (styleFunc) {\n anchors.forEach((node) => {\n styleFunc(node);\n });\n }\n (_a = this.getLayer()) === null || _a === void 0 ? void 0 : _a.batchDraw();\n }\n isTransforming() {\n return this._transforming;\n }\n stopTransform() {\n if (this._transforming) {\n this._removeEvents();\n var anchorNode = this.findOne('.' + this._movingAnchorName);\n if (anchorNode) {\n anchorNode.stopDrag();\n }\n }\n }\n destroy() {\n if (this.getStage() && this._cursorChange) {\n this.getStage().content && (this.getStage().content.style.cursor = '');\n }\n Group_1.Group.prototype.destroy.call(this);\n this.detach();\n this._removeEvents();\n return this;\n }\n toObject() {\n return Node_1.Node.prototype.toObject.call(this);\n }\n clone(obj) {\n var node = Node_1.Node.prototype.clone.call(this, obj);\n return node;\n }\n getClientRect() {\n if (this.nodes().length > 0) {\n return super.getClientRect();\n }\n else {\n return { x: 0, y: 0, width: 0, height: 0 };\n }\n }\n}\nexports.Transformer = Transformer;\nTransformer.isTransforming = () => {\n return activeTransformersCount > 0;\n};\nfunction validateAnchors(val) {\n if (!(val instanceof Array)) {\n Util_1.Util.warn('enabledAnchors value should be an array');\n }\n if (val instanceof Array) {\n val.forEach(function (name) {\n if (ANCHORS_NAMES.indexOf(name) === -1) {\n Util_1.Util.warn('Unknown anchor name: ' +\n name +\n '. Available names are: ' +\n ANCHORS_NAMES.join(', '));\n }\n });\n }\n return val || [];\n}\nTransformer.prototype.className = 'Transformer';\n(0, Global_2._registerNode)(Transformer);\nFactory_1.Factory.addGetterSetter(Transformer, 'enabledAnchors', ANCHORS_NAMES, validateAnchors);\nFactory_1.Factory.addGetterSetter(Transformer, 'flipEnabled', true, (0, Validators_1.getBooleanValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'resizeEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorSize', 10, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateLineVisible', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnaps', []);\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorOffset', 50, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'rotateAnchorCursor', 'crosshair');\nFactory_1.Factory.addGetterSetter(Transformer, 'rotationSnapTolerance', 5, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderEnabled', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorFill', 'white');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorCornerRadius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStroke', 'rgb(0, 161, 255)');\nFactory_1.Factory.addGetterSetter(Transformer, 'borderStrokeWidth', 1, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'borderDash');\nFactory_1.Factory.addGetterSetter(Transformer, 'keepRatio', true);\nFactory_1.Factory.addGetterSetter(Transformer, 'shiftBehavior', 'default');\nFactory_1.Factory.addGetterSetter(Transformer, 'centeredScaling', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'ignoreStroke', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'padding', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Transformer, 'node');\nFactory_1.Factory.addGetterSetter(Transformer, 'nodes');\nFactory_1.Factory.addGetterSetter(Transformer, 'boundBoxFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorDragBoundFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'anchorStyleFunc');\nFactory_1.Factory.addGetterSetter(Transformer, 'shouldOverdrawWholeArea', false);\nFactory_1.Factory.addGetterSetter(Transformer, 'useSingleNodeRotation', true);\nFactory_1.Factory.backCompat(Transformer, {\n lineEnabled: 'borderEnabled',\n rotateHandlerOffset: 'rotateAnchorOffset',\n enabledHandlers: 'enabledAnchors',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Wedge = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Shape_1 = require(\"../Shape\");\nconst Global_1 = require(\"../Global\");\nconst Validators_1 = require(\"../Validators\");\nconst Global_2 = require(\"../Global\");\nclass Wedge extends Shape_1.Shape {\n _sceneFunc(context) {\n context.beginPath();\n context.arc(0, 0, this.radius(), 0, Global_1.Konva.getAngle(this.angle()), this.clockwise());\n context.lineTo(0, 0);\n context.closePath();\n context.fillStrokeShape(this);\n }\n getWidth() {\n return this.radius() * 2;\n }\n getHeight() {\n return this.radius() * 2;\n }\n setWidth(width) {\n this.radius(width / 2);\n }\n setHeight(height) {\n this.radius(height / 2);\n }\n}\nexports.Wedge = Wedge;\nWedge.prototype.className = 'Wedge';\nWedge.prototype._centroid = true;\nWedge.prototype._attrsAffectingSize = ['radius'];\n(0, Global_2._registerNode)(Wedge);\nFactory_1.Factory.addGetterSetter(Wedge, 'radius', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'angle', 0, (0, Validators_1.getNumberValidator)());\nFactory_1.Factory.addGetterSetter(Wedge, 'clockwise', false);\nFactory_1.Factory.backCompat(Wedge, {\n angleDeg: 'angle',\n getAngleDeg: 'getAngle',\n setAngleDeg: 'setAngle',\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blur = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction BlurStack() {\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n}\nvar mul_table = [\n 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292,\n 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292,\n 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259,\n 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292,\n 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373,\n 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259,\n 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381,\n 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292,\n 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461,\n 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373,\n 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309,\n 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259,\n 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442,\n 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381,\n 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332,\n 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,\n 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259,\n];\nvar shg_table = [\n 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17,\n 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,\n 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\n 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,\n 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,\n 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n 24, 24, 24, 24, 24, 24, 24,\n];\nfunction filterGaussBlurRGBA(imageData, radius) {\n var pixels = imageData.data, width = imageData.width, height = imageData.height;\n var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum, r_out_sum, g_out_sum, b_out_sum, a_out_sum, r_in_sum, g_in_sum, b_in_sum, a_in_sum, pr, pg, pb, pa, rbs;\n var div = radius + radius + 1, widthMinus1 = width - 1, heightMinus1 = height - 1, radiusPlus1 = radius + 1, sumFactor = (radiusPlus1 * (radiusPlus1 + 1)) / 2, stackStart = new BlurStack(), stackEnd = null, stack = stackStart, stackIn = null, stackOut = null, mul_sum = mul_table[radius], shg_sum = shg_table[radius];\n for (i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n stack.next = stackStart;\n yw = yi = 0;\n for (y = 0; y < height; y++) {\n r_in_sum =\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_sum =\n g_sum =\n b_sum =\n a_sum =\n 0;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n for (i = 1; i < radiusPlus1; i++) {\n p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);\n r_sum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[p + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[p + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[p + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n }\n stackIn = stackStart;\n stackOut = stackEnd;\n for (x = 0; x < width; x++) {\n pixels[yi + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa !== 0) {\n pa = 255 / pa;\n pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[yi + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;\n r_in_sum += stackIn.r = pixels[p];\n g_in_sum += stackIn.g = pixels[p + 1];\n b_in_sum += stackIn.b = pixels[p + 2];\n a_in_sum += stackIn.a = pixels[p + 3];\n r_sum += r_in_sum;\n g_sum += g_in_sum;\n b_sum += b_in_sum;\n a_sum += a_in_sum;\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += 4;\n }\n yw += width;\n }\n for (x = 0; x < width; x++) {\n g_in_sum =\n b_in_sum =\n a_in_sum =\n r_in_sum =\n g_sum =\n b_sum =\n a_sum =\n r_sum =\n 0;\n yi = x << 2;\n r_out_sum = radiusPlus1 * (pr = pixels[yi]);\n g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);\n b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);\n a_out_sum = radiusPlus1 * (pa = pixels[yi + 3]);\n r_sum += sumFactor * pr;\n g_sum += sumFactor * pg;\n b_sum += sumFactor * pb;\n a_sum += sumFactor * pa;\n stack = stackStart;\n for (i = 0; i < radiusPlus1; i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n yp = width;\n for (i = 1; i <= radius; i++) {\n yi = (yp + x) << 2;\n r_sum += (stack.r = pr = pixels[yi]) * (rbs = radiusPlus1 - i);\n g_sum += (stack.g = pg = pixels[yi + 1]) * rbs;\n b_sum += (stack.b = pb = pixels[yi + 2]) * rbs;\n a_sum += (stack.a = pa = pixels[yi + 3]) * rbs;\n r_in_sum += pr;\n g_in_sum += pg;\n b_in_sum += pb;\n a_in_sum += pa;\n stack = stack.next;\n if (i < heightMinus1) {\n yp += width;\n }\n }\n yi = x;\n stackIn = stackStart;\n stackOut = stackEnd;\n for (y = 0; y < height; y++) {\n p = yi << 2;\n pixels[p + 3] = pa = (a_sum * mul_sum) >> shg_sum;\n if (pa > 0) {\n pa = 255 / pa;\n pixels[p] = ((r_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 1] = ((g_sum * mul_sum) >> shg_sum) * pa;\n pixels[p + 2] = ((b_sum * mul_sum) >> shg_sum) * pa;\n }\n else {\n pixels[p] = pixels[p + 1] = pixels[p + 2] = 0;\n }\n r_sum -= r_out_sum;\n g_sum -= g_out_sum;\n b_sum -= b_out_sum;\n a_sum -= a_out_sum;\n r_out_sum -= stackIn.r;\n g_out_sum -= stackIn.g;\n b_out_sum -= stackIn.b;\n a_out_sum -= stackIn.a;\n p =\n (x +\n ((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width) <<\n 2;\n r_sum += r_in_sum += stackIn.r = pixels[p];\n g_sum += g_in_sum += stackIn.g = pixels[p + 1];\n b_sum += b_in_sum += stackIn.b = pixels[p + 2];\n a_sum += a_in_sum += stackIn.a = pixels[p + 3];\n stackIn = stackIn.next;\n r_out_sum += pr = stackOut.r;\n g_out_sum += pg = stackOut.g;\n b_out_sum += pb = stackOut.b;\n a_out_sum += pa = stackOut.a;\n r_in_sum -= pr;\n g_in_sum -= pg;\n b_in_sum -= pb;\n a_in_sum -= pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n}\nconst Blur = function Blur(imageData) {\n var radius = Math.round(this.blurRadius());\n if (radius > 0) {\n filterGaussBlurRGBA(imageData, radius);\n }\n};\nexports.Blur = Blur;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blurRadius', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Brighten = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Brighten = function (imageData) {\n var brightness = this.brightness() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] += brightness;\n data[i + 1] += brightness;\n data[i + 2] += brightness;\n }\n};\nexports.Brighten = Brighten;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'brightness', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Contrast = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Contrast = function (imageData) {\n var adjust = Math.pow((this.contrast() + 100) / 100, 2);\n var data = imageData.data, nPixels = data.length, red = 150, green = 150, blue = 150, i;\n for (i = 0; i < nPixels; i += 4) {\n red = data[i];\n green = data[i + 1];\n blue = data[i + 2];\n red /= 255;\n red -= 0.5;\n red *= adjust;\n red += 0.5;\n red *= 255;\n green /= 255;\n green -= 0.5;\n green *= adjust;\n green += 0.5;\n green *= 255;\n blue /= 255;\n blue -= 0.5;\n blue *= adjust;\n blue += 0.5;\n blue *= 255;\n red = red < 0 ? 0 : red > 255 ? 255 : red;\n green = green < 0 ? 0 : green > 255 ? 255 : green;\n blue = blue < 0 ? 0 : blue > 255 ? 255 : blue;\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n }\n};\nexports.Contrast = Contrast;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'contrast', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emboss = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nconst Emboss = function (imageData) {\n var strength = this.embossStrength() * 10, greyLevel = this.embossWhiteLevel() * 255, direction = this.embossDirection(), blend = this.embossBlend(), dirY = 0, dirX = 0, data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n switch (direction) {\n case 'top-left':\n dirY = -1;\n dirX = -1;\n break;\n case 'top':\n dirY = -1;\n dirX = 0;\n break;\n case 'top-right':\n dirY = -1;\n dirX = 1;\n break;\n case 'right':\n dirY = 0;\n dirX = 1;\n break;\n case 'bottom-right':\n dirY = 1;\n dirX = 1;\n break;\n case 'bottom':\n dirY = 1;\n dirX = 0;\n break;\n case 'bottom-left':\n dirY = 1;\n dirX = -1;\n break;\n case 'left':\n dirY = 0;\n dirX = -1;\n break;\n default:\n Util_1.Util.error('Unknown emboss direction: ' + direction);\n }\n do {\n var offsetY = (y - 1) * w4;\n var otherY = dirY;\n if (y + otherY < 1) {\n otherY = 0;\n }\n if (y + otherY > h) {\n otherY = 0;\n }\n var offsetYOther = (y - 1 + otherY) * w * 4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var otherX = dirX;\n if (x + otherX < 1) {\n otherX = 0;\n }\n if (x + otherX > w) {\n otherX = 0;\n }\n var offsetOther = offsetYOther + (x - 1 + otherX) * 4;\n var dR = data[offset] - data[offsetOther];\n var dG = data[offset + 1] - data[offsetOther + 1];\n var dB = data[offset + 2] - data[offsetOther + 2];\n var dif = dR;\n var absDif = dif > 0 ? dif : -dif;\n var absG = dG > 0 ? dG : -dG;\n var absB = dB > 0 ? dB : -dB;\n if (absG > absDif) {\n dif = dG;\n }\n if (absB > absDif) {\n dif = dB;\n }\n dif *= strength;\n if (blend) {\n var r = data[offset] + dif;\n var g = data[offset + 1] + dif;\n var b = data[offset + 2] + dif;\n data[offset] = r > 255 ? 255 : r < 0 ? 0 : r;\n data[offset + 1] = g > 255 ? 255 : g < 0 ? 0 : g;\n data[offset + 2] = b > 255 ? 255 : b < 0 ? 0 : b;\n }\n else {\n var grey = greyLevel - dif;\n if (grey < 0) {\n grey = 0;\n }\n else if (grey > 255) {\n grey = 255;\n }\n data[offset] = data[offset + 1] = data[offset + 2] = grey;\n }\n } while (--x);\n } while (--y);\n};\nexports.Emboss = Emboss;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossStrength', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossWhiteLevel', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossDirection', 'top-left', null, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'embossBlend', false, null, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Enhance = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction remap(fromValue, fromMin, fromMax, toMin, toMax) {\n var fromRange = fromMax - fromMin, toRange = toMax - toMin, toValue;\n if (fromRange === 0) {\n return toMin + toRange / 2;\n }\n if (toRange === 0) {\n return toMin;\n }\n toValue = (fromValue - fromMin) / fromRange;\n toValue = toRange * toValue + toMin;\n return toValue;\n}\nconst Enhance = function (imageData) {\n var data = imageData.data, nSubPixels = data.length, rMin = data[0], rMax = rMin, r, gMin = data[1], gMax = gMin, g, bMin = data[2], bMax = bMin, b, i;\n var enhanceAmount = this.enhance();\n if (enhanceAmount === 0) {\n return;\n }\n for (i = 0; i < nSubPixels; i += 4) {\n r = data[i + 0];\n if (r < rMin) {\n rMin = r;\n }\n else if (r > rMax) {\n rMax = r;\n }\n g = data[i + 1];\n if (g < gMin) {\n gMin = g;\n }\n else if (g > gMax) {\n gMax = g;\n }\n b = data[i + 2];\n if (b < bMin) {\n bMin = b;\n }\n else if (b > bMax) {\n bMax = b;\n }\n }\n if (rMax === rMin) {\n rMax = 255;\n rMin = 0;\n }\n if (gMax === gMin) {\n gMax = 255;\n gMin = 0;\n }\n if (bMax === bMin) {\n bMax = 255;\n bMin = 0;\n }\n var rMid, rGoalMax, rGoalMin, gMid, gGoalMax, gGoalMin, bMid, bGoalMax, bGoalMin;\n if (enhanceAmount > 0) {\n rGoalMax = rMax + enhanceAmount * (255 - rMax);\n rGoalMin = rMin - enhanceAmount * (rMin - 0);\n gGoalMax = gMax + enhanceAmount * (255 - gMax);\n gGoalMin = gMin - enhanceAmount * (gMin - 0);\n bGoalMax = bMax + enhanceAmount * (255 - bMax);\n bGoalMin = bMin - enhanceAmount * (bMin - 0);\n }\n else {\n rMid = (rMax + rMin) * 0.5;\n rGoalMax = rMax + enhanceAmount * (rMax - rMid);\n rGoalMin = rMin + enhanceAmount * (rMin - rMid);\n gMid = (gMax + gMin) * 0.5;\n gGoalMax = gMax + enhanceAmount * (gMax - gMid);\n gGoalMin = gMin + enhanceAmount * (gMin - gMid);\n bMid = (bMax + bMin) * 0.5;\n bGoalMax = bMax + enhanceAmount * (bMax - bMid);\n bGoalMin = bMin + enhanceAmount * (bMin - bMid);\n }\n for (i = 0; i < nSubPixels; i += 4) {\n data[i + 0] = remap(data[i + 0], rMin, rMax, rGoalMin, rGoalMax);\n data[i + 1] = remap(data[i + 1], gMin, gMax, gGoalMin, gGoalMax);\n data[i + 2] = remap(data[i + 2], bMin, bMax, bGoalMin, bGoalMax);\n }\n};\nexports.Enhance = Enhance;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'enhance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Grayscale = void 0;\nconst Grayscale = function (imageData) {\n var data = imageData.data, len = data.length, i, brightness;\n for (i = 0; i < len; i += 4) {\n brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];\n data[i] = brightness;\n data[i + 1] = brightness;\n data[i + 2] = brightness;\n }\n};\nexports.Grayscale = Grayscale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSL = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'luminance', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nconst HSL = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = 1, s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, l = this.luminance() * 127, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b + l;\n data[i + 1] = gr * r + gg * g + gb * b + l;\n data[i + 2] = br * r + bg * g + bb * b + l;\n data[i + 3] = a;\n }\n};\nexports.HSL = HSL;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HSV = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst HSV = function (imageData) {\n var data = imageData.data, nPixels = data.length, v = Math.pow(2, this.value()), s = Math.pow(2, this.saturation()), h = Math.abs(this.hue() + 360) % 360, i;\n var vsu = v * s * Math.cos((h * Math.PI) / 180), vsw = v * s * Math.sin((h * Math.PI) / 180);\n var rr = 0.299 * v + 0.701 * vsu + 0.167 * vsw, rg = 0.587 * v - 0.587 * vsu + 0.33 * vsw, rb = 0.114 * v - 0.114 * vsu - 0.497 * vsw;\n var gr = 0.299 * v - 0.299 * vsu - 0.328 * vsw, gg = 0.587 * v + 0.413 * vsu + 0.035 * vsw, gb = 0.114 * v - 0.114 * vsu + 0.293 * vsw;\n var br = 0.299 * v - 0.3 * vsu + 1.25 * vsw, bg = 0.587 * v - 0.586 * vsu - 1.05 * vsw, bb = 0.114 * v + 0.886 * vsu - 0.2 * vsw;\n var r, g, b, a;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n data[i + 0] = rr * r + rg * g + rb * b;\n data[i + 1] = gr * r + gg * g + gb * b;\n data[i + 2] = br * r + bg * g + bb * b;\n data[i + 3] = a;\n }\n};\nexports.HSV = HSV;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'hue', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'saturation', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'value', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Invert = void 0;\nconst Invert = function (imageData) {\n var data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n};\nexports.Invert = Invert;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Kaleidoscope = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Util_1 = require(\"../Util\");\nconst Validators_1 = require(\"../Validators\");\nvar ToPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta;\n var conversion = ((360 / tSize) * Math.PI) / 180, sin, cos;\n for (theta = 0; theta < tSize; theta += 1) {\n sin = Math.sin(theta * conversion);\n cos = Math.cos(theta * conversion);\n for (radius = 0; radius < rSize; radius += 1) {\n x = Math.floor(xMid + ((rMax * radius) / rSize) * cos);\n y = Math.floor(yMid + ((rMax * radius) / rSize) * sin);\n i = (y * xSize + x) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (theta + radius * xSize) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nvar FromPolar = function (src, dst, opt) {\n var srcPixels = src.data, dstPixels = dst.data, xSize = src.width, ySize = src.height, xMid = opt.polarCenterX || xSize / 2, yMid = opt.polarCenterY || ySize / 2, i, x, y, dx, dy, r = 0, g = 0, b = 0, a = 0;\n var rad, rMax = Math.sqrt(xMid * xMid + yMid * yMid);\n x = xSize - xMid;\n y = ySize - yMid;\n rad = Math.sqrt(x * x + y * y);\n rMax = rad > rMax ? rad : rMax;\n var rSize = ySize, tSize = xSize, radius, theta, phaseShift = opt.polarRotation || 0;\n var x1, y1;\n for (x = 0; x < xSize; x += 1) {\n for (y = 0; y < ySize; y += 1) {\n dx = x - xMid;\n dy = y - yMid;\n radius = (Math.sqrt(dx * dx + dy * dy) * rSize) / rMax;\n theta = ((Math.atan2(dy, dx) * 180) / Math.PI + 360 + phaseShift) % 360;\n theta = (theta * tSize) / 360;\n x1 = Math.floor(theta);\n y1 = Math.floor(radius);\n i = (y1 * xSize + x1) * 4;\n r = srcPixels[i + 0];\n g = srcPixels[i + 1];\n b = srcPixels[i + 2];\n a = srcPixels[i + 3];\n i = (y * xSize + x) * 4;\n dstPixels[i + 0] = r;\n dstPixels[i + 1] = g;\n dstPixels[i + 2] = b;\n dstPixels[i + 3] = a;\n }\n }\n};\nconst Kaleidoscope = function (imageData) {\n var xSize = imageData.width, ySize = imageData.height;\n var x, y, xoff, i, r, g, b, a, srcPos, dstPos;\n var power = Math.round(this.kaleidoscopePower());\n var angle = Math.round(this.kaleidoscopeAngle());\n var offset = Math.floor((xSize * (angle % 360)) / 360);\n if (power < 1) {\n return;\n }\n var tempCanvas = Util_1.Util.createCanvasElement();\n tempCanvas.width = xSize;\n tempCanvas.height = ySize;\n var scratchData = tempCanvas\n .getContext('2d')\n .getImageData(0, 0, xSize, ySize);\n Util_1.Util.releaseCanvas(tempCanvas);\n ToPolar(imageData, scratchData, {\n polarCenterX: xSize / 2,\n polarCenterY: ySize / 2,\n });\n var minSectionSize = xSize / Math.pow(2, power);\n while (minSectionSize <= 8) {\n minSectionSize = minSectionSize * 2;\n power -= 1;\n }\n minSectionSize = Math.ceil(minSectionSize);\n var sectionSize = minSectionSize;\n var xStart = 0, xEnd = sectionSize, xDelta = 1;\n if (offset + minSectionSize > xSize) {\n xStart = sectionSize;\n xEnd = 0;\n xDelta = -1;\n }\n for (y = 0; y < ySize; y += 1) {\n for (x = xStart; x !== xEnd; x += xDelta) {\n xoff = Math.round(x + offset) % xSize;\n srcPos = (xSize * y + xoff) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + x) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n }\n for (y = 0; y < ySize; y += 1) {\n sectionSize = Math.floor(minSectionSize);\n for (i = 0; i < power; i += 1) {\n for (x = 0; x < sectionSize + 1; x += 1) {\n srcPos = (xSize * y + x) * 4;\n r = scratchData.data[srcPos + 0];\n g = scratchData.data[srcPos + 1];\n b = scratchData.data[srcPos + 2];\n a = scratchData.data[srcPos + 3];\n dstPos = (xSize * y + sectionSize * 2 - x - 1) * 4;\n scratchData.data[dstPos + 0] = r;\n scratchData.data[dstPos + 1] = g;\n scratchData.data[dstPos + 2] = b;\n scratchData.data[dstPos + 3] = a;\n }\n sectionSize *= 2;\n }\n }\n FromPolar(scratchData, imageData, { polarRotation: 0 });\n};\nexports.Kaleidoscope = Kaleidoscope;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopePower', 2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'kaleidoscopeAngle', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mask = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nfunction pixelAt(idata, x, y) {\n var idx = (y * idata.width + x) * 4;\n var d = [];\n d.push(idata.data[idx++], idata.data[idx++], idata.data[idx++], idata.data[idx++]);\n return d;\n}\nfunction rgbDistance(p1, p2) {\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) +\n Math.pow(p1[1] - p2[1], 2) +\n Math.pow(p1[2] - p2[2], 2));\n}\nfunction rgbMean(pTab) {\n var m = [0, 0, 0];\n for (var i = 0; i < pTab.length; i++) {\n m[0] += pTab[i][0];\n m[1] += pTab[i][1];\n m[2] += pTab[i][2];\n }\n m[0] /= pTab.length;\n m[1] /= pTab.length;\n m[2] /= pTab.length;\n return m;\n}\nfunction backgroundMask(idata, threshold) {\n var rgbv_no = pixelAt(idata, 0, 0);\n var rgbv_ne = pixelAt(idata, idata.width - 1, 0);\n var rgbv_so = pixelAt(idata, 0, idata.height - 1);\n var rgbv_se = pixelAt(idata, idata.width - 1, idata.height - 1);\n var thres = threshold || 10;\n if (rgbDistance(rgbv_no, rgbv_ne) < thres &&\n rgbDistance(rgbv_ne, rgbv_se) < thres &&\n rgbDistance(rgbv_se, rgbv_so) < thres &&\n rgbDistance(rgbv_so, rgbv_no) < thres) {\n var mean = rgbMean([rgbv_ne, rgbv_no, rgbv_se, rgbv_so]);\n var mask = [];\n for (var i = 0; i < idata.width * idata.height; i++) {\n var d = rgbDistance(mean, [\n idata.data[i * 4],\n idata.data[i * 4 + 1],\n idata.data[i * 4 + 2],\n ]);\n mask[i] = d < thres ? 0 : 255;\n }\n return mask;\n }\n}\nfunction applyMask(idata, mask) {\n for (var i = 0; i < idata.width * idata.height; i++) {\n idata.data[4 * i + 3] = mask[i];\n }\n}\nfunction erodeMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 0, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a === 255 * 8 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction dilateMask(mask, sw, sh) {\n var weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a >= 255 * 4 ? 255 : 0;\n }\n }\n return maskResult;\n}\nfunction smoothEdgeMask(mask, sw, sh) {\n var weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];\n var side = Math.round(Math.sqrt(weights.length));\n var halfSide = Math.floor(side / 2);\n var maskResult = [];\n for (var y = 0; y < sh; y++) {\n for (var x = 0; x < sw; x++) {\n var so = y * sw + x;\n var a = 0;\n for (var cy = 0; cy < side; cy++) {\n for (var cx = 0; cx < side; cx++) {\n var scy = y + cy - halfSide;\n var scx = x + cx - halfSide;\n if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n var srcOff = scy * sw + scx;\n var wt = weights[cy * side + cx];\n a += mask[srcOff] * wt;\n }\n }\n }\n maskResult[so] = a;\n }\n }\n return maskResult;\n}\nconst Mask = function (imageData) {\n var threshold = this.threshold(), mask = backgroundMask(imageData, threshold);\n if (mask) {\n mask = erodeMask(mask, imageData.width, imageData.height);\n mask = dilateMask(mask, imageData.width, imageData.height);\n mask = smoothEdgeMask(mask, imageData.width, imageData.height);\n applyMask(imageData, mask);\n }\n return imageData;\n};\nexports.Mask = Mask;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Noise = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Noise = function (imageData) {\n var amount = this.noise() * 255, data = imageData.data, nPixels = data.length, half = amount / 2, i;\n for (i = 0; i < nPixels; i += 4) {\n data[i + 0] += half - 2 * half * Math.random();\n data[i + 1] += half - 2 * half * Math.random();\n data[i + 2] += half - 2 * half * Math.random();\n }\n};\nexports.Noise = Noise;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'noise', 0.2, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pixelate = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Util_1 = require(\"../Util\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Pixelate = function (imageData) {\n var pixelSize = Math.ceil(this.pixelSize()), width = imageData.width, height = imageData.height, x, y, i, red, green, blue, alpha, nBinsX = Math.ceil(width / pixelSize), nBinsY = Math.ceil(height / pixelSize), xBinStart, xBinEnd, yBinStart, yBinEnd, xBin, yBin, pixelsInBin, data = imageData.data;\n if (pixelSize <= 0) {\n Util_1.Util.error('pixelSize value can not be <= 0');\n return;\n }\n for (xBin = 0; xBin < nBinsX; xBin += 1) {\n for (yBin = 0; yBin < nBinsY; yBin += 1) {\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n xBinStart = xBin * pixelSize;\n xBinEnd = xBinStart + pixelSize;\n yBinStart = yBin * pixelSize;\n yBinEnd = yBinStart + pixelSize;\n pixelsInBin = 0;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n red += data[i + 0];\n green += data[i + 1];\n blue += data[i + 2];\n alpha += data[i + 3];\n pixelsInBin += 1;\n }\n }\n red = red / pixelsInBin;\n green = green / pixelsInBin;\n blue = blue / pixelsInBin;\n alpha = alpha / pixelsInBin;\n for (x = xBinStart; x < xBinEnd; x += 1) {\n if (x >= width) {\n continue;\n }\n for (y = yBinStart; y < yBinEnd; y += 1) {\n if (y >= height) {\n continue;\n }\n i = (width * y + x) * 4;\n data[i + 0] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = alpha;\n }\n }\n }\n }\n};\nexports.Pixelate = Pixelate;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'pixelSize', 8, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Posterize = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Posterize = function (imageData) {\n var levels = Math.round(this.levels() * 254) + 1, data = imageData.data, len = data.length, scale = 255 / levels, i;\n for (i = 0; i < len; i += 1) {\n data[i] = Math.floor(data[i] / scale) * scale;\n }\n};\nexports.Posterize = Posterize;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'levels', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGB = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGB = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), i, brightness;\n for (i = 0; i < nPixels; i += 4) {\n brightness =\n (0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]) / 255;\n data[i] = brightness * red;\n data[i + 1] = brightness * green;\n data[i + 2] = brightness * blue;\n data[i + 3] = data[i + 3];\n }\n};\nexports.RGB = RGB;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RGBA = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst RGBA = function (imageData) {\n var data = imageData.data, nPixels = data.length, red = this.red(), green = this.green(), blue = this.blue(), alpha = this.alpha(), i, ia;\n for (i = 0; i < nPixels; i += 4) {\n ia = 1 - alpha;\n data[i] = red * alpha + data[i] * ia;\n data[i + 1] = green * alpha + data[i + 1] * ia;\n data[i + 2] = blue * alpha + data[i + 2] * ia;\n }\n};\nexports.RGBA = RGBA;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'red', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'green', 0, function (val) {\n this._filterUpToDate = false;\n if (val > 255) {\n return 255;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return Math.round(val);\n }\n});\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBComponent, Factory_1.Factory.afterSetFilter);\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'alpha', 1, function (val) {\n this._filterUpToDate = false;\n if (val > 1) {\n return 1;\n }\n else if (val < 0) {\n return 0;\n }\n else {\n return val;\n }\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sepia = void 0;\nconst Sepia = function (imageData) {\n var data = imageData.data, nPixels = data.length, i, r, g, b;\n for (i = 0; i < nPixels; i += 4) {\n r = data[i + 0];\n g = data[i + 1];\n b = data[i + 2];\n data[i + 0] = Math.min(255, r * 0.393 + g * 0.769 + b * 0.189);\n data[i + 1] = Math.min(255, r * 0.349 + g * 0.686 + b * 0.168);\n data[i + 2] = Math.min(255, r * 0.272 + g * 0.534 + b * 0.131);\n }\n};\nexports.Sepia = Sepia;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Solarize = void 0;\nconst Solarize = function (imageData) {\n var data = imageData.data, w = imageData.width, h = imageData.height, w4 = w * 4, y = h;\n do {\n var offsetY = (y - 1) * w4;\n var x = w;\n do {\n var offset = offsetY + (x - 1) * 4;\n var r = data[offset];\n var g = data[offset + 1];\n var b = data[offset + 2];\n if (r > 127) {\n r = 255 - r;\n }\n if (g > 127) {\n g = 255 - g;\n }\n if (b > 127) {\n b = 255 - b;\n }\n data[offset] = r;\n data[offset + 1] = g;\n data[offset + 2] = b;\n } while (--x);\n } while (--y);\n};\nexports.Solarize = Solarize;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Threshold = void 0;\nconst Factory_1 = require(\"../Factory\");\nconst Node_1 = require(\"../Node\");\nconst Validators_1 = require(\"../Validators\");\nconst Threshold = function (imageData) {\n var level = this.threshold() * 255, data = imageData.data, len = data.length, i;\n for (i = 0; i < len; i += 1) {\n data[i] = data[i] < level ? 0 : 255;\n }\n};\nexports.Threshold = Threshold;\nFactory_1.Factory.addGetterSetter(Node_1.Node, 'threshold', 0.5, (0, Validators_1.getNumberValidator)(), Factory_1.Factory.afterSetFilter);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Konva = void 0;\nconst _CoreInternals_1 = require(\"./_CoreInternals\");\nconst Arc_1 = require(\"./shapes/Arc\");\nconst Arrow_1 = require(\"./shapes/Arrow\");\nconst Circle_1 = require(\"./shapes/Circle\");\nconst Ellipse_1 = require(\"./shapes/Ellipse\");\nconst Image_1 = require(\"./shapes/Image\");\nconst Label_1 = require(\"./shapes/Label\");\nconst Line_1 = require(\"./shapes/Line\");\nconst Path_1 = require(\"./shapes/Path\");\nconst Rect_1 = require(\"./shapes/Rect\");\nconst RegularPolygon_1 = require(\"./shapes/RegularPolygon\");\nconst Ring_1 = require(\"./shapes/Ring\");\nconst Sprite_1 = require(\"./shapes/Sprite\");\nconst Star_1 = require(\"./shapes/Star\");\nconst Text_1 = require(\"./shapes/Text\");\nconst TextPath_1 = require(\"./shapes/TextPath\");\nconst Transformer_1 = require(\"./shapes/Transformer\");\nconst Wedge_1 = require(\"./shapes/Wedge\");\nconst Blur_1 = require(\"./filters/Blur\");\nconst Brighten_1 = require(\"./filters/Brighten\");\nconst Contrast_1 = require(\"./filters/Contrast\");\nconst Emboss_1 = require(\"./filters/Emboss\");\nconst Enhance_1 = require(\"./filters/Enhance\");\nconst Grayscale_1 = require(\"./filters/Grayscale\");\nconst HSL_1 = require(\"./filters/HSL\");\nconst HSV_1 = require(\"./filters/HSV\");\nconst Invert_1 = require(\"./filters/Invert\");\nconst Kaleidoscope_1 = require(\"./filters/Kaleidoscope\");\nconst Mask_1 = require(\"./filters/Mask\");\nconst Noise_1 = require(\"./filters/Noise\");\nconst Pixelate_1 = require(\"./filters/Pixelate\");\nconst Posterize_1 = require(\"./filters/Posterize\");\nconst RGB_1 = require(\"./filters/RGB\");\nconst RGBA_1 = require(\"./filters/RGBA\");\nconst Sepia_1 = require(\"./filters/Sepia\");\nconst Solarize_1 = require(\"./filters/Solarize\");\nconst Threshold_1 = require(\"./filters/Threshold\");\nexports.Konva = _CoreInternals_1.Konva.Util._assign(_CoreInternals_1.Konva, {\n Arc: Arc_1.Arc,\n Arrow: Arrow_1.Arrow,\n Circle: Circle_1.Circle,\n Ellipse: Ellipse_1.Ellipse,\n Image: Image_1.Image,\n Label: Label_1.Label,\n Tag: Label_1.Tag,\n Line: Line_1.Line,\n Path: Path_1.Path,\n Rect: Rect_1.Rect,\n RegularPolygon: RegularPolygon_1.RegularPolygon,\n Ring: Ring_1.Ring,\n Sprite: Sprite_1.Sprite,\n Star: Star_1.Star,\n Text: Text_1.Text,\n TextPath: TextPath_1.TextPath,\n Transformer: Transformer_1.Transformer,\n Wedge: Wedge_1.Wedge,\n Filters: {\n Blur: Blur_1.Blur,\n Brighten: Brighten_1.Brighten,\n Contrast: Contrast_1.Contrast,\n Emboss: Emboss_1.Emboss,\n Enhance: Enhance_1.Enhance,\n Grayscale: Grayscale_1.Grayscale,\n HSL: HSL_1.HSL,\n HSV: HSV_1.HSV,\n Invert: Invert_1.Invert,\n Kaleidoscope: Kaleidoscope_1.Kaleidoscope,\n Mask: Mask_1.Mask,\n Noise: Noise_1.Noise,\n Pixelate: Pixelate_1.Pixelate,\n Posterize: Posterize_1.Posterize,\n RGB: RGB_1.RGB,\n RGBA: RGBA_1.RGBA,\n Sepia: Sepia_1.Sepia,\n Solarize: Solarize_1.Solarize,\n Threshold: Threshold_1.Threshold,\n },\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst _FullInternals_1 = require(\"./_FullInternals\");\nmodule.exports = _FullInternals_1.Konva;\n","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";function _createForOfIteratorHelper(a,b){var c=\"undefined\"!=typeof Symbol&&a[Symbol.iterator]||a[\"@@iterator\"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&\"number\"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c[\"return\"]||c[\"return\"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if(\"string\"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return\"Object\"===c&&a.constructor&&(c=a.constructor.name),\"Map\"===c||\"Set\"===c?Array.from(a):\"Arguments\"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);cc?-1:c,c=~~(255*c),[b[0]+c,b[1]+c,b[2]+c]}},contrast:function contrast(a){return function(b){var c=a;c*=255;var d=259*(c+255)/(255*(259-c));return[d*(b[0]-128)+128,d*(b[1]-128)+128,d*(b[2]-128)+128]}},saturation:function saturation(a){return function(c){var d=a;d=-1>d?-1:d;var e=c[0],f=c[1],g=c[2],b=.2989*e+.587*f+.114*g;return[-b*d+e*(1+d),-b*d+f*(1+d),-b*d+g*(1+d)]}},grayscale:function grayscale(){return function(a){var c=a[0],d=a[1],e=a[2];return[,,,].fill(.2126*c+.7152*d+.0722*e)}},sepia:function sepia(a){return function(c){var d=c[0],e=c[1],f=c[2];return[d*(1-.607*a)+.769*e*a+.189*f*a,.349*d*a+e*(1-.314*a)+.168*f*a,.272*d*a+.534*e*a+f*(1-.869*a)]}},adjustRGB:function adjustRGB(a){return function(b){return[b[0]*a[0],b[1]*a[1],b[2]*a[2]]}},colorFilter:function colorFilter(a){return function(c){var d=c[0],e=c[1],f=c[2],b=a[3];return[d-(d-a[0])*b,e-(e-a[1])*b,f-(f-a[2])*b]}}};export default BaseFilters;","import BaseFilters from\"./BaseFilters\";function BlackAndWhite(a){BaseFilters.apply(a,function(a){var b=(a[0]+a[1]+a[2])/3>100,c=b?255:0;return[c,c,c]})}BlackAndWhite.filterName=\"BlackAndWhite\";export default BlackAndWhite;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,CONTRAST_CONST=.1,SATURATION_CONST=.15;function Clarendon(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Clarendon.filterName=\"Clarendon\";export default Clarendon;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.04,CONTRAST_CONST=-.15;function Gingham(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.contrast(CONTRAST_CONST))}Gingham.filterName=\"Gingham\";export default Gingham;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1;function Moon(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.brightness(BRIGHTNESS_CONST));var b=a.data,c=b.length}Moon.filterName=\"Moon\";export default Moon;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.08,ADJUST_RGB_CONST=[1,1.03,1.05],SATURATION_CONST=.12;function Lark(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Lark.filterName=\"Lark\";export default Lark;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.4,BRIGHTNESS_CONST=.13,CONTRAST_CONST=-.05;function Reyes(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Reyes.filterName=\"Reyes\";export default Reyes;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.01,1.04,1],SATURATION_CONST=.3;function Juno(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Juno.filterName=\"Juno\";export default Juno;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,SATURATION_CONST=-.5;function Slumber(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Slumber.filterName=\"Slumber\";export default Slumber;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.04,1,1.02],SATURATION_CONST=-.05;function Crema(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Crema.filterName=\"Crema\";export default Crema;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.05,SATURATION_CONST=-.03;function Ludwig(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Ludwig.filterName=\"Ludwig\";export default Ludwig;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[228,130,225,.13],SATURATION_CONST=-.2;function Aden(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Aden.filterName=\"Aden\";export default Aden;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1.05,1.1,1];function Perpetua(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST))}Perpetua.filterName=\"Perpetua\";export default Perpetua;","import BaseFilters from\"./BaseFilters\";var SATURATION_CONST=.3,BRIGHTNESS_CONST=.15;function Amaro(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Amaro.filterName=\"Amaro\";export default Amaro;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[230,115,108,.05],SATURATION_CONST=.15;function Mayfair(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Mayfair.filterName=\"Mayfair\";export default Mayfair;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,170,0,.1],BRIGHTNESS_CONST=.09,SATURATION_CONST=.1;function Rise(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Rise.filterName=\"Rise\";export default Rise;","import BaseFilters from\"./BaseFilters\";var ADJUST_RGB_CONST=[1,1,1.25],CONTRAST_CONST=.1,BRIGHTNESS_CONST=.15;function Hudson(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Hudson.filterName=\"Hudson\";export default Hudson;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,225,80,.08],SATURATION_CONST=.1,CONTRAST_CONST=.05;function Valencia(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Valencia.filterName=\"Valencia\";export default Valencia;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,255,0,.07],SATURATION_CONST=.2,CONTRAST_CONST=.15;function XPro2(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}XPro2.filterName=\"XPro2\";export default XPro2;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=-.15,SATURATION_CONST=.1;function Sierra(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Sierra.filterName=\"Sierra\";export default Sierra;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[100,28,210,.03],BRIGHTNESS_CONST=.1;function Willow(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Willow.filterName=\"Willow\";export default Willow;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.15,SATURATION_CONST=.2;function LoFi(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}LoFi.filterName=\"LoFi\";export default LoFi;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.1,SATURATION_CONST=.15;function Hefe(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Hefe.filterName=\"Hefe\";export default Hefe;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[220,115,188,.12],CONTRAST_CONST=-.05;function Nashville(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Nashville.filterName=\"Nashville\";export default Nashville;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,SEPIA_CONST=.3;function Stinson(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.sepia(SEPIA_CONST))}Stinson.filterName=\"Stinson\";export default Stinson;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,225,0,.05],BRIGHTNESS_CONST=.06,CONTRAST_CONST=.06;function Vesper(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Vesper.filterName=\"Vesper\";export default Vesper;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,165,40,.2];function Earlybird(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST))}Earlybird.filterName=\"Earlybird\";export default Earlybird;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.2,COLOR_FILTER_CONST=[140,10,185,.1];function Brannan(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Brannan.filterName=\"Brannan\";export default Brannan;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=-.1,SATURATION_CONST=-.1;function Sutro(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Sutro.filterName=\"Sutro\";export default Sutro;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.1,COLOR_FILTER_CONST=[255,145,0,.2];function Toaster(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Toaster.filterName=\"Toaster\";export default Toaster;","import BaseFilters from\"./BaseFilters\";var BRIGHTNESS_CONST=.1,COLOR_FILTER_CONST=[255,255,0,.2];function Walden(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Walden.filterName=\"Walden\";export default Walden;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,25,0,.15],BRIGHTNESS_CONST=.1;function NinteenSeventySeven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}NinteenSeventySeven.filterName=\"NinteenSeventySeven\";export default NinteenSeventySeven;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,140,0,.1],ADJUST_RGB_CONST=[1.15,1.05,1],SATURATION_CONST=.35;function Kelvin(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Kelvin.filterName=\"Kelvin\";export default Kelvin;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[225,240,0,.1],SATURATION_CONST=.25,CONTRAST_CONST=.05;function Maven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Maven.filterName=\"Maven\";export default Maven;","import BaseFilters from\"./BaseFilters\";var SEPIA_CONST=.06,BRIGHTNESS_CONST=.1;function Ginza(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ginza.filterName=\"Ginza\";export default Ginza;","import BaseFilters from\"./BaseFilters\";var SATURATION_CONST=.35,BRIGHTNESS_CONST=.1;function Skyline(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Skyline.filterName=\"Skyline\";export default Skyline;","import BaseFilters from\"./BaseFilters\";var CONTRAST_CONST=.15,BRIGHTNESS_CONST=.1;function Dogpatch(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Dogpatch.filterName=\"Dogpatch\";export default Dogpatch;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[25,240,252,.05],SEPIA_CONST=.3;function Brooklyn(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.sepia(SEPIA_CONST))}Brooklyn.filterName=\"Brooklyn\";export default Brooklyn;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[208,208,86,.2],CONTRAST_CONST=.15;function Helena(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Helena.filterName=\"Helena\";export default Helena;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,160,25,.1],BRIGHTNESS_CONST=.1;function Ashby(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ashby.filterName=\"Ashby\";export default Ashby;","import BaseFilters from\"./BaseFilters\";var COLOR_FILTER_CONST=[255,50,80,.12],CONTRAST_CONST=.05;function Charmes(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Charmes.filterName=\"Charmes\";export default Charmes;","import Konva from\"konva\";import*as CustomFilters from\"../custom/filters\";var filterStrToClass=function(a){return a?CustomFilters[a]||Konva.Filters[a]:null};export default filterStrToClass;","import Konva from\"konva\";import{Factory as KonvaFactory}from\"konva/lib/Factory\";import{getNumberValidator as konvaGetNumberValidator}from\"konva/lib/Validators\";function Warmth(a){for(var b=this.warmth(),c=a.data,d=c.length,e=0;e=b?255:0,c[e+1]=c[e+1]>=b?255:0,c[e+2]=c[e+2]>=b?255:0)}CustomThreshold.finetuneName=\"CustomThreshold\";export default CustomThreshold;KonvaFactory.addGetterSetter(Konva.Image,\"threshold\",0,konvaGetNumberValidator,KonvaFactory.afterSetFilter);","import Konva from\"konva\";import*as CustomFinetunes from\"../custom/finetunes\";var finetunesStrsToClasses=function(a){return Array.isArray(a)&&0d.status)b(d.response);else{var a;console.warn(\"Error in sending translation key to backend \".concat(null===(a=d.response)||void 0===a?void 0:a.hint,\", \").concat(d.status)),c()}},d.onerror=function(){var a;console.warn(\"Error in sending translation key to backend \".concat(null===(a=d.response)||void 0===a?void 0:a.hint,\", \").concat(d.status)),c()};d.open(\"POST\",\"https://neo.wordplex.io/api/import/request-translations?grid_uuid=\".concat(TRANSLATIONS_GRID_UUID)),d.send(JSON.stringify({grid_uuid:TRANSLATIONS_GRID_UUID,translations_requests:a}))})};export var getBackendTranslations=function(){var a=0f.status){(f.response||[]).forEach(function(a){backendTranslations[e]=_objectSpread(_objectSpread({},backendTranslations[e]),{},_defineProperty({},a.translation_key,a.translations[e]))});var a=[];Object.keys(defaultTranslations).forEach(function(b){var c;b&&!(null!==(c=backendTranslations[e])&&void 0!==c&&c[b])&&a.push({key:b,lang:e,default:defaultTranslations[b]})}),0d,l=0>e;switch(b){case TOOLS_IDS.RECT:c?(h.width=Math.sqrt(i*i+j*j),h.height=h.width,h.x-=k?h.width-i:0,h.y-=l?h.height-j:0):(h.width=i,h.height=j);break;case TOOLS_IDS.ELLIPSE:c?(h.radiusX=Math.sqrt(i*i+j*j)/2,h.radiusY=h.radiusX,h.x-=k?2*h.radiusX-i:0,h.y-=l?2*h.radiusY-j:0):(h.radiusX=i/2,h.radiusY=j/2),h.offsetX=-h.radiusX,h.offsetY=-h.radiusY;break;case TOOLS_IDS.POLYGON:h.radius=(i+j)/2,h.x-=k?2*h.radius-i:0,h.y-=l?2*h.radius-j:0,h.offsetX=-h.radius,h.offsetY=-h.radius;break;case TOOLS_IDS.LINE:case TOOLS_IDS.ARROW:h.x=f,h.y=g,h.points=[0,0],c?h.points.push(i>=j?d:0,j>i?e:0):h.points=[0,0,d,e];break;default:h.width=i,h.height=j}return h};export default getNewAnnotationPreview;","import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";var _excluded=[\"id\",\"x\",\"y\",\"points\"],_excluded2=[\"startedX\",\"startedY\",\"offsetX\",\"offsetY\",\"width\",\"height\"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c=MIN_PIXELS&&latestAnnotationProps.height>=MIN_PIXELS||latestAnnotationProps.radiusX>=MIN_PIXELS&&latestAnnotationProps.radiusY>=MIN_PIXELS||null!==(c=latestAnnotationProps.points)&&void 0!==c&&c[2]||null!==(e=latestAnnotationProps.points)&&void 0!==e&&e[3]||latestAnnotationProps.radius>=MIN_PIXELS)){var f=latestAnnotationProps,g=f.startedX,h=f.startedY,i=f.offsetX,o=f.offsetY,p=f.width,q=f.height,r=_objectWithoutProperties(f,_excluded2);NO_WIDTH_HEIGHT_ANNOTATIONS.includes(b.name)||(r.width=p,r.height=q),d(r,!0)}shownAnnotationPreview=null,textAnnotationWrappedRect=null,latestAnnotationProps=null,a.setAttrs({isDrawing:!1}),a.off(\"mousemove touchmove\",l),a.off(\"mouseleave touchcancel\",m),document.removeEventListener(\"mouseup\",n,eventsOptions),document.removeEventListener(\"touchend\",n,eventsOptions),document.removeEventListener(\"mouseleave\",n,eventsOptions),document.removeEventListener(\"touchcancel\",n,eventsOptions),document.removeEventListener(\"mousemove\",j,eventsOptions),document.removeEventListener(\"touchmove\",j,eventsOptions),pointerDown.isOutOfCanvas=!1},o=function handlePointerDown(b){var d;if(b.evt.preventDefault(),!(b.target.attrs.draggable||1<(null===(d=b.evt.touches)||void 0===d?void 0:d.length))){k();var e=getPointerOffsetPositionBoundedToObject(c,f());pointerDown.startedX=e.offsetX,pointerDown.startedY=e.offsetY,pointerDown.isOutOfCanvas=!1,a.on(\"mousemove touchmove\",l),a.on(\"mouseleave touchcancel\",m),document.addEventListener(\"mouseup\",n,eventsOptions),document.addEventListener(\"touchend\",n,eventsOptions),document.addEventListener(\"mouseleave\",n,eventsOptions),document.addEventListener(\"touchcancel\",n,eventsOptions)}};return a.on(\"mousedown touchstart\",o),function(){k(),a.off(\"mousedown touchstart\",o)}};export default previewThenCallAnnotationAdding;","import{useCallback}from\"react\";import debounce from\"../utils/debounce\";var useDebouncedCallback=function(a,b){var c=2=e?0:function getTopOffset(){return 0>e&&-90=e&&-90<=e?0:function getLeftOffset(){return 90>>32-b},cvtHex=function(a){var b,c,d=\"\";for(b=7;0<=b;b--)c=15&a>>>4*b,d+=c.toString(16);return d},Utf8Encode=function(a){for(var b,d=a.replace(/\\r\\n/g,\"\\n\"),e=\"\",f=0;fb?e+=String.fromCharCode(b):127b?(e+=String.fromCharCode(192|b>>6),e+=String.fromCharCode(128|63&b)):(e+=String.fromCharCode(224|b>>12),e+=String.fromCharCode(128|63&b>>6),e+=String.fromCharCode(128|63&b));return e},sha1=function(a){var b,c,d,e,f,g,h,k,l,m=a,n=Array(80),o=1732584193,p=4023233417,q=2562383102,r=271733878,s=3285377520;m=Utf8Encode(m);var t=m.length,u=[];for(c=0;c>>29),u.push(4294967295&t<<3),b=0;bc;c++)n[c]=u[b+c];for(c=16;79>=c;c++)n[c]=rotateLeft(n[c-3]^n[c-8]^n[c-14]^n[c-16],1);for(e=o,f=p,g=q,h=r,k=s,c=0;19>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|~f&h)+k+n[c]+1518500249,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=20;39>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+1859775393,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=40;59>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|f&h|g&h)+k+n[c]+2400959708,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=60;79>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+3395469782,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;o=4294967295&o+e,p=4294967295&p+f,q=4294967295&q+g,r=4294967295&r+h,s=4294967295&s+k}return l=cvtHex(o)+cvtHex(p)+cvtHex(q)+cvtHex(r)+cvtHex(s),l.toLowerCase()};export default sha1;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import sha1 from\"./sha1\";var encodeBase64=function(a){return btoa(a).replace(/=*$/g,\"\")},getSha1=function(a,b){return sha1(a).slice(0,b)},getSealingParams=function(a,b,c,d){var e=encodeBase64(a),f=getSha1(b+e+c,d);return[f?\"ci_seal=\".concat(f):\"\",e?\"ci_eqs=\".concat(e):\"\"].filter(function(a){return a}).join(\"&\")},getImageSealingParams=function(a,b,c){var d=b||{},e=d.salt,f=d.charCount,g=d.includeParams,h=void 0===g?[]:g,i=!h||0===(null===h||void 0===h?void 0:h.length),j=\"\",k=\"\",l=[],m=[];return a.split(\"&\").forEach(function(a){var b=a.split(\"=\"),c=_slicedToArray(b,1),d=c[0];-1<(null===h||void 0===h?void 0:h.indexOf(d))||i?l.push(a):m.push(a)}),0o?e*k/p:f*m/q),2);return\"\".concat(t,\"&wat_opacity=\").concat(i,\"&wat_scale=\").concat(A,\"p\").concat(z?\"&wat_url=\".concat(encodeURIComponent(z)):\"\")};export var finetuneNameToParamInfo={Brighten:{cloudimage:{name:\"bright\",min:-100,max:100},internal:{propName:\"brightness\",min:-1,max:1}},Contrast:{cloudimage:{name:\"contrast\",min:-100,max:100},internal:{propName:\"contrast\",min:-100,max:100}},Blur:{cloudimage:{name:\"blur\",min:0,max:100},internal:{propName:\"blurRadius\",min:0,max:100}}};var generateFinetuneQuery=function(a){var b=1 input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}\"]);\nvar LabelTooltip = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'label')\n}).withConfig({\n componentId: \"sc-jjink6-4\"\n})(function (_ref2) {\n var theme = _ref2.theme,\n _ref2$open = _ref2.open,\n open = _ref2$open === void 0 ? false : _ref2$open,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;\n return css([\"display:flex;align-items:center;justify-content:center;padding:6px 6px;border-radius:2px;position:absolute;top:-10px;font-size:10px;z-index:1;white-space:nowrap;transition:transform 150ms cubic-bezier(0.4,0,0.2,1) 0ms;transform-origin:bottom center;transform:\", \";background-color:\", \";color:#fff;cursor:pointer;transition:all 100ms ease-out;&::before{position:absolute;content:'';background-color:inherit;width:8px;height:8px;bottom:0px;left:50%;transform:translate(-50%,50%) rotate(45deg);}\"], open ? 'translateY(-100%) scale(1)' : 'translateY(-100%) scale(0)', disabled ? theme.palette[PC.AccentPrimaryDisabled] : theme.palette[PC.LinkStateless]);\n});\nvar SliderAnnotation = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'annotation')\n}).withConfig({\n componentId: \"sc-jjink6-5\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"display:flex;justify-content:space-between;margin-top:12px;color:\", \";\"], theme.palette[PC.TextSecondary]);\n});\nvar Styled = applyDisplayNames({\n Slider: Slider,\n Rail: Rail,\n Track: Track,\n Thumb: Thumb,\n SliderAnnotation: SliderAnnotation,\n LabelTooltip: LabelTooltip\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"defaultValue\", \"disabled\", \"disableSwap\", \"hideTrack\", \"hideAnnotation\", \"value\", \"min\", \"max\", \"onChange\", \"onMouseDown\", \"onMouseUp\", \"step\", \"labelTooltip\", \"annotation\", \"components\", \"componentsProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { intrinsicComponent, asc, valueToPercent, percentToValue, roundValueToStep, setValueIndex, findClosest, ownerDocument, clamp, trackFinger, focusThumb, axisProps, useForkRef } from '../../utils/functions';\nimport useControlled from '../../hooks/use-controlled';\nimport useEventCallback from '../../hooks/use-event-callback';\nimport { LabelTooltip } from './types';\nimport Styled from './slider.styles';\nvar INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nvar dataIndex = 'data-index';\nvar Slider = intrinsicComponent(function (_ref, ref) {\n var defaultValue = _ref.defaultValue,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$disableSwap = _ref.disableSwap,\n disableSwap = _ref$disableSwap === void 0 ? false : _ref$disableSwap,\n _ref$hideTrack = _ref.hideTrack,\n hideTrack = _ref$hideTrack === void 0 ? false : _ref$hideTrack,\n _ref$hideAnnotation = _ref.hideAnnotation,\n hideAnnotation = _ref$hideAnnotation === void 0 ? false : _ref$hideAnnotation,\n valueProp = _ref.value,\n _ref$min = _ref.min,\n min = _ref$min === void 0 ? 0 : _ref$min,\n _ref$max = _ref.max,\n max = _ref$max === void 0 ? 100 : _ref$max,\n onChange = _ref.onChange,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n _ref$step = _ref.step,\n step = _ref$step === void 0 ? 1 : _ref$step,\n _ref$labelTooltip = _ref.labelTooltip,\n labelTooltip = _ref$labelTooltip === void 0 ? LabelTooltip.Off : _ref$labelTooltip,\n _ref$annotation = _ref.annotation,\n annotation = _ref$annotation === void 0 ? 'MB' : _ref$annotation,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n _ref$componentsProps = _ref.componentsProps,\n componentsProps = _ref$componentsProps === void 0 ? {} : _ref$componentsProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n open = _useState4[0],\n setOpen = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n dragging = _useState6[0],\n setDragging = _useState6[1];\n var moveCount = useRef(0);\n var previousIndex = useRef(0);\n var touchId = useRef();\n var sliderRef = useRef(null);\n var handleRef = useForkRef(ref, sliderRef);\n var _useControlled = useControlled({\n controlled: valueProp,\n \"default\": defaultValue !== null && defaultValue !== void 0 ? defaultValue : min\n }),\n _useControlled2 = _slicedToArray(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n var axis = 'horizontal';\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n var getFingerNewValue = function getFingerNewValue(_ref2) {\n var finger = _ref2.finger,\n _ref2$move = _ref2.move,\n move = _ref2$move === void 0 ? false : _ref2$move,\n values2 = _ref2.values;\n var slider = sliderRef.current;\n if (slider) {\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n var percent;\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n if (axis.includes('-reverse')) {\n percent = 1 - percent;\n }\n var newValue;\n newValue = percentToValue(percent, min, max);\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n if (disableSwap) {\n newValue = clamp(newValue, values2[activeIndex - 1] || -Infinity, values2[activeIndex + 1] || Infinity);\n }\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n newValue: newValue,\n index: activeIndex\n });\n if (!(disableSwap && move) && Array.isArray(newValue)) {\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n }\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n }\n return null;\n };\n var handleChange = function handleChange(event, value, thumbIndex) {\n if (onChange) {\n onChange(event, value, thumbIndex);\n }\n };\n var handleHiddenInputChange = function handleHiddenInputChange(event) {\n var index = Number(event.currentTarget.getAttribute(dataIndex));\n var newValue = event.target.valueAsNumber;\n if (range) {\n if (disableSwap) {\n newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);\n }\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n newValue: newValue,\n index: index\n });\n var activeIndex = index;\n if (!disableSwap) {\n activeIndex = newValue.indexOf(previousValue);\n }\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex\n });\n }\n setValueState(newValue);\n handleChange(event, newValue, index);\n if (onMouseUp) {\n onMouseUp(event);\n }\n };\n var handleTouchMove = useEventCallback(function (nativeEvent) {\n var finger = trackFinger(nativeEvent, touchId);\n if (!finger) {\n return;\n }\n moveCount.current += 1;\n if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {\n handleTouchEnd(nativeEvent);\n return;\n }\n var _ref3 = getFingerNewValue({\n finger: finger,\n move: true,\n values: values\n }),\n newValue = _ref3.newValue,\n activeIndex = _ref3.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n handleChange(nativeEvent, newValue, activeIndex);\n });\n var handleTouchEnd = useEventCallback(function (nativeEvent) {\n var finger = trackFinger(nativeEvent, touchId);\n setDragging(false);\n if (!finger) {\n return;\n }\n setActive(-1);\n if (nativeEvent.type === 'touchend') {\n setOpen(-1);\n }\n if (onMouseUp) {\n onMouseUp(nativeEvent);\n }\n touchId.current = undefined;\n stopListening();\n });\n var handleTouchStart = useEventCallback(function (nativeEvent) {\n var touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n touchId.current = touch.identifier;\n }\n var finger = trackFinger(nativeEvent, touchId);\n var _ref4 = getFingerNewValue({\n finger: finger,\n values: values\n }),\n newValue = _ref4.newValue,\n activeIndex = _ref4.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n handleChange(nativeEvent, newValue, activeIndex);\n moveCount.current = 0;\n var doc = ownerDocument(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n var handleMouseOver = useEventCallback(function (event) {\n var index = Number(event.currentTarget.getAttribute(dataIndex));\n setOpen(index);\n });\n var handleMouseLeave = useEventCallback(function () {\n setOpen(-1);\n });\n var handleMouseDown = useEventCallback(function (event) {\n if (!disabled) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n if (event.button !== 0) {\n return;\n }\n\n // Avoid text selection\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n var _ref5 = getFingerNewValue({\n finger: finger,\n values: values\n }),\n newValue = _ref5.newValue,\n activeIndex = _ref5.activeIndex;\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n handleChange(event, newValue, activeIndex);\n moveCount.current = 0;\n var doc = ownerDocument(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n } else {\n // Avoid text selection\n event.preventDefault();\n }\n });\n var stopListening = useCallback(function () {\n var doc = ownerDocument(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n }, [handleTouchEnd, handleTouchMove]);\n useEffect(function () {\n var slider = sliderRef.current;\n if (slider) {\n return function () {\n stopListening();\n };\n }\n }, [stopListening, handleTouchStart]);\n useEffect(function () {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n var trackStyle = _objectSpread(_objectSpread({}, axisProps[axis].offset(trackOffset)), axisProps[axis].leap(trackLeap));\n var railProps = componentsProps.rail;\n var Rail = typeof components.Rail === 'function' ? /*#__PURE__*/React.createElement(components.Rail, _extends({}, railProps, {\n style: _objectSpread({}, railProps === null || railProps === void 0 ? void 0 : railProps.style)\n })) : /*#__PURE__*/React.createElement(Styled.Rail, _extends({}, railProps, {\n style: _objectSpread({}, railProps === null || railProps === void 0 ? void 0 : railProps.style)\n }));\n var trackProps = componentsProps.track;\n var Track = !hideTrack && (typeof components.Track === 'function' ? /*#__PURE__*/React.createElement(components.Track, _extends({}, trackProps, {\n style: _objectSpread(_objectSpread({}, trackStyle), trackProps === null || trackProps === void 0 ? void 0 : trackProps.style)\n })) : /*#__PURE__*/React.createElement(Styled.Track, _extends({}, trackProps, {\n style: _objectSpread(_objectSpread({}, trackStyle), trackProps === null || trackProps === void 0 ? void 0 : trackProps.style)\n })));\n var thumbProps = componentsProps.thumb;\n var Thumb = components.Thumb || Styled.Thumb;\n var LabelTooltipComponent = components.LabelTooltip || Styled.LabelTooltip;\n var labelTooltipProps = componentsProps.labelTooltip;\n var annotationText = annotation ? \" \".concat(annotation) : '';\n return /*#__PURE__*/React.createElement(Styled.Slider, _extends({\n ref: handleRef,\n disabled: disabled,\n onTouchStart: handleTouchStart,\n onMouseDown: handleMouseDown\n }, rest), Rail, Track, values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: index\n }, /*#__PURE__*/React.createElement(Thumb, _extends({\n \"data-index\": index,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }, thumbProps, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n pointerEvents: disableSwap && active !== index ? 'none' : undefined\n }, thumbProps === null || thumbProps === void 0 ? void 0 : thumbProps.style)\n }), /*#__PURE__*/React.createElement(\"input\", {\n \"data-index\": index,\n type: \"range\",\n min: min,\n max: max,\n value: values[index],\n step: step,\n disabled: disabled,\n onChange: handleHiddenInputChange\n }), /*#__PURE__*/React.createElement(LabelTooltipComponent, {\n open: (open === index || active === index || labelTooltip === 'on') && labelTooltip !== 'off',\n disabled: disabled,\n style: _objectSpread({}, labelTooltipProps === null || labelTooltipProps === void 0 ? void 0 : labelTooltipProps.style)\n }, values[index], annotationText)));\n }), !hideAnnotation && /*#__PURE__*/React.createElement(Styled.SliderAnnotation, null, /*#__PURE__*/React.createElement(\"span\", null, min, annotationText), /*#__PURE__*/React.createElement(\"span\", null, max, annotationText)));\n});\nexport default Slider;","import styled from\"styled-components\";import Slider from\"@scaleflex/ui/core/slider\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledSlider=styled(Slider).withConfig({componentId:\"sc-1wort0h-0\"})([\"width:\",\";max-width:\",\";user-select:none;padding:0;margin-bottom:\",\";.SfxSlider-thumb{background-color:\",\";}.SfxSlider-Track{height:2px;color:\",\";}.SfxSlider-rail{height:2px;background-color:\",\";}\"],function(a){var b=a.width;return b||\"104px\"},function(a){var b=a.width;return b||\"104px\"},function(a){var b=a.noMargin;return b?\"\":\"16px\"},function(a){var b=a.theme.palette;return b[PC.AccentStateless]},function(a){var b=a.theme.palette;return b[PC.AccentStateless]},function(a){var b=a.theme.palette;return b[PC.BordersItem]});export{StyledSlider};","import _extends from\"@babel/runtime/helpers/extends\";import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";var _excluded=[\"onChange\"];import React from\"react\";import{StyledSlider}from\"./Slider.styled\";var Slider=function(a){var b=a.onChange,c=_objectWithoutProperties(a,_excluded);return React.createElement(StyledSlider,_extends({annotation:\"\",onChange:function onChange(a,c){return b?b(c):void 0},hideAnnotation:!0,labelTooltip:\"auto\"},c))};export default Slider;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowBottom = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 11 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.8468 3.13984C11.0457 3.33138 11.0517 3.64791 10.8602 3.84682L6.04534 8.84682C5.95332 8.94238 5.82709 8.99746 5.69445 8.99991C5.5618 9.00237 5.43362 8.95201 5.33812 8.85992L0.152931 3.85992C-0.0458479 3.66824 -0.0516033 3.35171 0.140078 3.15293C0.331758 2.95415 0.648288 2.9484 0.847067 3.14008L5.67208 7.79277L10.1398 3.15318C10.3314 2.95427 10.6479 2.9483 10.8468 3.13984Z\",\n fill: color\n }));\n});\nexport default ArrowBottom;","export var Position = {\n Left: 'left',\n Right: 'right',\n Top: 'top',\n Bottom: 'bottom'\n};","export var ButtonColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n Basic: 'basic',\n LinkPrimary: 'link-primary',\n LinkSecondary: 'link-secondary',\n LinkBasicPrimary: 'link-basic-primary',\n LinkBasicSecondary: 'link-basic-secondary',\n ErrorPrimary: 'error-primary',\n ErrorSecondary: 'error-secondary',\n ErrorBasic: 'error-basic',\n WarningPrimary: 'warning-primary',\n WarningSecondary: 'warning-secondary',\n WarningBasic: 'warning-basic'\n};","export var IconButtonColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n Basic: 'basic'\n};","export var ButtonSize = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","export var InputSize = {\n Sm: 'sm',\n Md: 'md'\n};","export var Type = {\n Left: 'left',\n Right: 'right',\n Top: 'top',\n Bottom: 'bottom'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Type } from './arrow-tick.props';\nexport var typeArrowTickMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Type.Right, css([\"svg{transform:rotate(-90deg);transition:transform 150ms ease-out;}\"])), Type.Left, css([\"svg{transform:rotate(90deg);transition:transform 150ms ease-out;}\"])), Type.Top, css([\"svg{transform:rotate(180deg);transition:transform 150ms ease-out;}\"])), Type.Bottom, css([\"svg{transform:rotate(0);transition:transform 150ms ease-out;}\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { typeArrowTickMixin } from './arrow-tick.mixin';\nimport { Position } from '../../utils/types';\nvar baseClassName = 'ArrowTick';\nvar ArrowTick = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-tlypde-0\"\n})(function (_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Position.Right : _ref$type;\n return css([\"display:inline-flex;\", \"\"], typeArrowTickMixin[type]);\n});\nvar Styled = applyDisplayNames({\n ArrowTick: ArrowTick\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"type\", \"IconProps\"];\nimport React from 'react';\nimport ArrowBottom from '@scaleflex/icons/arrow-bottom';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Position } from '../../utils/types';\nimport Styled from './arrow-tick.styles';\nvar ArrowTick = intrinsicComponent(function (_ref, ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Position.Right : _ref$type,\n IconPropsData = _ref.IconProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ArrowTick, _extends({}, rest, {\n type: type,\n ref: ref\n }), /*#__PURE__*/React.createElement(ArrowBottom, IconPropsData));\n});\nexport default ArrowTick;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nvar baseClassName = 'AccordionHeader';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-1dtjsgt-0\"\n})(function () {\n return css([\"display:inline-flex;padding-left:8px;\"]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'label')\n}).withConfig({\n componentId: \"sc-1dtjsgt-1\"\n})(function (_ref) {\n var theme = _ref.theme;\n return css([\"\", \"\"], theme.typography.font[FontVariant.ButtonSm]);\n});\nvar Header = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1dtjsgt-2\"\n})(function (_ref2) {\n var theme = _ref2.theme,\n $fullWidth = _ref2.$fullWidth;\n return css([\"display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;width:\", \";color:\", \";user-select:none;\"], $fullWidth ? '100%' : 'auto', theme.palette[PColor.LinkPrimary]);\n});\nvar Wrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-1dtjsgt-3\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"color:\", \";\"], theme.palette[PColor.LinkPrimary]);\n});\nvar Styled = applyDisplayNames({\n Header: Header,\n Wrapper: Wrapper,\n Icon: Icon,\n Label: Label\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"expanded\", \"label\", \"onChange\", \"onClick\", \"onContextMenu\", \"hideIcon\", \"fullWidth\", \"iconProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport ArrowTick from '../arrow-tick';\nimport { Position as ArrowTickType } from '../../utils/types';\nimport Styled from './accordion-header.styles';\nvar AccordionHeader = intrinsicComponent(function (_ref, ref) {\n var _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n label = _ref.label,\n onChange = _ref.onChange,\n _onClick = _ref.onClick,\n onContextMenu = _ref.onContextMenu,\n _ref$hideIcon = _ref.hideIcon,\n hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n iconPropsData = _ref.iconProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Header, _extends({\n ref: ref,\n onClick: function onClick(event) {\n if (typeof onChange === 'function') {\n onChange(!expanded);\n }\n if (typeof _onClick === 'function') {\n _onClick(event);\n }\n },\n $fullWidth: fullWidth\n }, rest), /*#__PURE__*/React.createElement(Styled.Label, {\n onContextMenu: onContextMenu\n }, label), !hideIcon && /*#__PURE__*/React.createElement(Styled.Icon, {\n onContextMenu: onContextMenu\n }, /*#__PURE__*/React.createElement(ArrowTick, {\n type: expanded ? ArrowTickType.Top : ArrowTickType.Bottom,\n IconProps: _objectSpread({\n size: 11\n }, iconPropsData)\n })));\n});\nexport default AccordionHeader;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'AccordionDetails';\nvar AccordionDetails = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1wr6wpr-0\"\n})([\"margin:16px 0;\"]);\nvar Styled = applyDisplayNames({\n AccordionDetails: AccordionDetails\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"expanded\", \"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './accordion-details.styles';\nvar AccordionDetails = intrinsicComponent(function (_ref, ref) {\n var _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(React.Fragment, null, expanded && /*#__PURE__*/React.createElement(Styled.AccordionDetails, _extends({\n ref: ref\n }, rest), children));\n});\nexport default AccordionDetails;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'Accordion';\nvar Accordion = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1g4tz7s-0\"\n})([\"\"]);\nvar Styled = applyDisplayNames({\n Accordion: Accordion\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"label\", \"expanded\", \"children\", \"detailStyle\", \"headerStyle\", \"fullWidth\", \"iconProps\", \"onClick\", \"onChange\", \"onContextMenu\", \"hideIcon\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport AccordionHeader from '../accordion-header';\nimport AccordionDetails from '../accordion-details';\nimport Styled from './accordion.styles';\nvar Accordion = intrinsicComponent(function (_ref, ref) {\n var label = _ref.label,\n _ref$expanded = _ref.expanded,\n expanded = _ref$expanded === void 0 ? false : _ref$expanded,\n children = _ref.children,\n detailStyle = _ref.detailStyle,\n headerStyle = _ref.headerStyle,\n fullWidth = _ref.fullWidth,\n iconPropsData = _ref.iconProps,\n onClick = _ref.onClick,\n onChange = _ref.onChange,\n onContextMenu = _ref.onContextMenu,\n _ref$hideIcon = _ref.hideIcon,\n hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,\n rest = _objectWithoutProperties(_ref, _excluded);\n var handleOnClick = function handleOnClick(event) {\n if (typeof onChange === 'function') {\n onChange(!expanded, event);\n }\n if (typeof onClick === 'function') {\n onClick(event);\n }\n };\n return /*#__PURE__*/React.createElement(Styled.Accordion, _extends({\n ref: ref\n }, rest), /*#__PURE__*/React.createElement(AccordionHeader, {\n label: label,\n expanded: expanded,\n style: _objectSpread({}, headerStyle),\n hideIcon: hideIcon,\n onClick: handleOnClick,\n onContextMenu: onContextMenu,\n iconProps: iconPropsData,\n fullWidth: fullWidth\n }), /*#__PURE__*/React.createElement(AccordionDetails, {\n expanded: expanded,\n style: _objectSpread({}, detailStyle)\n }, children));\n});\nexport default Accordion;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"stroke\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Arrow = intrinsicComponent(function (_ref, ref) {\n var _ref$stroke = _ref.stroke,\n stroke = _ref$stroke === void 0 ? 'currentColor' : _ref$stroke,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 10 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size * (51 / 56),\n height: size,\n viewBox: \"0 0 51 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2754 3L37.2754 27.0741L12.2754 53\",\n stroke: stroke,\n strokeWidth: \"5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }));\n});\nexport default Arrow;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Tick = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9783 2.30184C12.7972 2.12074 12.586 2 12.3143 2C12.0728 2 11.8314 2.09055 11.6503 2.30184L4.73816 9.84779L2.29327 7.34254C2.11217 7.16143 1.8707 7.07088 1.62923 7.07088C1.38776 7.07088 1.14629 7.19162 0.995367 7.37272C0.663345 7.76511 0.663345 8.36879 1.02555 8.73099L4.13448 11.9003C4.31559 12.0814 4.52687 12.1719 4.76835 12.1719C5.00982 12.1719 5.25129 12.0814 5.43239 11.8701L12.9783 3.62993C13.3406 3.2979 13.3406 2.66404 12.9783 2.30184Z\",\n fill: color\n }));\n});\nexport default Tick;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CopyOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z\",\n fill: color\n }));\n});\nexport default CopyOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var EyeOpen = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 31.625C8.64336 31.625 0.533984 17.3656 0.196875 16.759C-0.065625 16.2867 -0.065625 15.7129 0.196875 15.2406C0.533984 14.6344 8.64336 0.375 25 0.375C41.3566 0.375 49.466 14.6344 49.8031 15.241C50.0656 15.7133 50.0656 16.2871 49.8031 16.7594C49.466 17.3656 41.3566 31.625 25 31.625ZM3.40117 15.9977C5.25977 18.8145 12.557 28.5 25 28.5C37.4824 28.5 44.7473 18.8223 46.5988 16.0023C44.7402 13.1855 37.443 3.5 25 3.5C12.5176 3.5 5.25273 13.1777 3.40117 15.9977ZM25 25.375C19.8305 25.375 15.625 21.1695 15.625 16C15.625 10.8305 19.8305 6.625 25 6.625C30.1695 6.625 34.375 10.8305 34.375 16C34.375 21.1695 30.1695 25.375 25 25.375ZM25 9.75C21.5539 9.75 18.75 12.5539 18.75 16C18.75 19.4461 21.5539 22.25 25 22.25C28.4461 22.25 31.25 19.4461 31.25 16C31.25 12.5539 28.4461 9.75 25 9.75Z\",\n fill: color\n }));\n});\nexport default EyeOpen;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var EyeClosed = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 44 44\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.2553 6.05501C36.5966 5.71376 37.1514 5.71376 37.4926 6.05501C37.8339 6.39626 37.8339 6.95103 37.4926 7.29228L32.3765 12.4084C38.3601 15.8067 42.6046 20.7607 42.7917 20.9825C43.0682 21.3097 43.0699 21.7874 42.7936 22.113C42.3893 22.5908 32.7818 33.7978 22.0001 33.7978C18.9909 33.7978 15.9678 33.1203 13.0065 31.7785L7.74272 37.0423C7.57292 37.2121 7.34897 37.2978 7.12495 37.2978C6.90092 37.2978 6.67698 37.212 6.50545 37.0423C6.1642 36.701 6.1642 36.1462 6.50545 35.805L17.0426 25.2678C17.0453 25.265 17.0481 25.2622 17.0509 25.2595C17.0531 25.2573 17.0553 25.2551 17.0575 25.2529L25.7063 16.6041C25.7081 16.6023 25.7098 16.6005 25.7116 16.5987C25.7134 16.5969 25.7152 16.5952 25.717 16.5934L30.2895 12.0208C30.3028 12.0067 30.3164 11.9931 30.3304 11.9799L36.2553 6.05501ZM31.0895 13.6954L27.5301 17.2548C28.4835 18.476 28.9998 19.9721 28.9998 21.5478C28.9998 25.4083 25.8603 28.5478 21.9999 28.5478C20.4242 28.5478 18.9281 28.0314 17.7069 27.078L14.3353 30.4497C16.8728 31.5113 19.445 32.0478 22 32.0478C30.6537 32.0478 38.863 23.8071 40.9489 21.5478C39.6267 20.1195 35.855 16.3016 31.0895 13.6954ZM18.9574 25.8276C19.8392 26.458 20.8929 26.7977 21.9999 26.7977C24.8943 26.7977 27.2499 24.4422 27.2499 21.5477C27.2499 20.4409 26.9092 19.3873 26.2793 18.5056L18.9574 25.8276Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.7418 10.3057C25.7504 9.63545 23.8184 9.29773 22.0001 9.29773C11.2183 9.29773 1.61084 20.5047 1.20659 20.9825C0.951064 21.2835 0.930064 21.721 1.15762 22.0482C1.27837 22.2215 4.17111 26.3287 9.18485 29.659C9.33358 29.7587 9.49985 29.806 9.66785 29.806C9.94963 29.806 10.2279 29.6695 10.3959 29.4122C10.6636 29.0115 10.5534 28.4672 10.1509 28.2012C6.46889 25.753 3.94889 22.7973 3.00561 21.595C5.01989 19.4075 13.2834 11.0478 22.0001 11.0478C23.6293 11.0478 25.3741 11.3558 27.1835 11.963C27.642 12.1275 28.139 11.8738 28.2913 11.4135C28.4453 10.955 28.2003 10.4598 27.7418 10.3057Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2197 14.6685C22.8224 14.5985 22.4164 14.5477 22 14.5477C18.1395 14.5477 15 17.6872 15 21.5477C15 21.9642 15.0508 22.3702 15.1225 22.7674C15.1977 23.1909 15.567 23.4902 15.9817 23.4902C16.0325 23.4902 16.0832 23.4867 16.1357 23.4762C16.6099 23.3922 16.9285 22.9371 16.8445 22.4629C16.7902 22.1654 16.75 21.8627 16.75 21.5477C16.75 18.6532 19.1055 16.2977 22 16.2977C22.315 16.2977 22.6177 16.338 22.9152 16.3905C23.3807 16.485 23.8444 16.1559 23.9284 15.6817C24.0124 15.2075 23.694 14.7525 23.2197 14.6685Z\",\n fill: color\n }));\n});\nexport default EyeClosed;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Success = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.5 10.5001C20.5 16.023 16.0228 20.5001 10.5 20.5001C4.97714 20.5001 0.5 16.023 0.5 10.5001C0.5 4.97727 4.97714 0.500122 10.5 0.500122C16.0228 0.500122 20.5 4.97727 20.5 10.5001ZM7.88239 9.56904C8.00439 9.62145 8.11473 9.69763 8.20698 9.79314L9.49998 11.0861L12.793 7.79314C12.8852 7.69763 12.9956 7.62145 13.1176 7.56904C13.2396 7.51663 13.3708 7.48905 13.5036 7.48789C13.6363 7.48674 13.768 7.51204 13.8909 7.56232C14.0138 7.6126 14.1255 7.68686 14.2194 7.78075C14.3133 7.87464 14.3875 7.98629 14.4378 8.10919C14.4881 8.23208 14.5134 8.36376 14.5122 8.49654C14.5111 8.62932 14.4835 8.76054 14.4311 8.88255C14.3787 9.00455 14.3025 9.1149 14.207 9.20714L10.207 13.2071C10.0194 13.3946 9.76514 13.4999 9.49998 13.4999C9.23482 13.4999 8.98051 13.3946 8.79298 13.2071L6.79298 11.2071C6.69747 11.1149 6.62129 11.0046 6.56888 10.8825C6.51647 10.7605 6.48889 10.6293 6.48773 10.4965C6.48658 10.3638 6.51188 10.2321 6.56216 10.1092C6.61244 9.98629 6.6867 9.87464 6.78059 9.78075C6.87448 9.68686 6.98613 9.6126 7.10903 9.56232C7.23193 9.51204 7.3636 9.48674 7.49638 9.48789C7.62916 9.48905 7.76038 9.51663 7.88239 9.56904Z\",\n fill: color\n }));\n});\nexport default Success;","import { lightPalette } from '../../theme/roots/palette';\nimport { Color } from '../../utils/types/palette';\nexport var getInputBackgroundColor = function getInputBackgroundColor(readOnly, disabled) {\n if (readOnly || disabled) {\n return lightPalette[Color.BackgroundHover];\n }\n return lightPalette[Color.BackgroundStateless];\n};\nexport var getInputTextColor = function getInputTextColor(readOnly, disabled) {\n if (readOnly) {\n return lightPalette[Color.AccentPrimaryHover];\n }\n if (disabled) {\n return lightPalette[Color.TextPlaceholder];\n }\n return lightPalette[Color.TextPrimary];\n};\nexport var getInputBorderColor = function getInputBorderColor(readOnly, disabled) {\n if (readOnly) {\n return lightPalette[Color.BordersItem];\n }\n if (disabled) {\n return lightPalette[Color.BordersSecondary];\n }\n return lightPalette[Color.BorderPrimaryStateless];\n};\nexport var handleCopyIcon = function handleCopyIcon(value, setShowCopyMessage) {\n navigator.clipboard.writeText(value);\n setShowCopyMessage(true);\n};","export var Type = {\n Text: 'text',\n Password: 'password'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { InputSize } from '../../utils/types';\nexport var sizeInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, \"\\n padding: 8px 12px;\\n height: 32px;\\n \"), InputSize.Md, \"\\n padding: 11px 16px;\\n height: 40px;\\n \");\nexport var sizeCrossInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, \"\\n padding: 4px 6px 4px 12px;\\n max-height: 32px;\\n \"), InputSize.Md, \"\\n padding: 0px 4px 0px 16px;\\n max-height: 40px;\\n \");\nexport var fontSizeInputMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css([\"\", \"\"], font[FV.InputMd]);\n}), InputSize.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"\", \"\"], font[FV.InputLg]);\n});\nexport var sizeInputLabelMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref3) {\n var font = _ref3.theme.typography.font;\n return css(font[FV.LabelSmall]);\n}), InputSize.Md, function (_ref4) {\n var font = _ref4.theme.typography.font;\n return css(font[FV.LabelMedium]);\n});\nexport var errorMixin = function errorMixin(_ref5) {\n var palette = _ref5.theme.palette;\n return css([\"background:\", \" !important;border:1px solid \", \" !important;\"], palette[PaletteColor.BackgroundSecondary], palette[PaletteColor.Error]);\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { sizeInputMixin, fontSizeInputMixin, errorMixin } from './input.mixin';\nimport { InputSize } from '../../utils/types';\nimport { getInputBackgroundColor, getInputTextColor, getInputBorderColor } from './input.utils';\nvar baseClassName = 'Input';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-150k0cz-0\"\n})(function (_ref) {\n var iconClickStart = _ref.iconClickStart,\n iconClickEnd = _ref.iconClickEnd,\n disabled = _ref.disabled,\n readOnly = _ref.readOnly,\n $iconType = _ref.$iconType,\n palette = _ref.theme.palette;\n return css([\"display:flex;color:\", \";cursor:\", \";flex-shrink:0;\", \"\"], palette[PColor.IconsPrimary], (iconClickStart || iconClickEnd) && !disabled && !readOnly ? 'pointer' : 'default', $iconType === 'end' && css([\"color:\", \";\"], palette[PColor.IconsSecondary]));\n});\nvar CopyIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'CopyIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"display:flex;color:\", \";cursor:pointer;\"], palette[PColor.IconsSecondary]);\n});\nvar PasswordIcon = /*#__PURE__*/styled(CopyIcon).attrs({\n className: generateClassNames(baseClassName, 'PasswordIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-2\"\n})([\"\"]);\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-150k0cz-3\"\n})(function () {\n return css([\"display:block;color:inherit;font-size:inherit;width:100%;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;\"]);\n});\nvar Base = /*#__PURE__*/styled.input.attrs({\n className: generateClassNames(baseClassName, 'Base')\n}).withConfig({\n componentId: \"sc-150k0cz-4\"\n})(function (_ref3) {\n var palette = _ref3.theme.palette,\n _ref3$$isEllipsis = _ref3.$isEllipsis,\n $isEllipsis = _ref3$$isEllipsis === void 0 ? false : _ref3$$isEllipsis;\n return css([\"display:block;color:inherit;width:100%;min-width:fit-content;margin:0;padding:0;border:0;background-color:transparent;outline:none;\", \" &::placeholder{color:\", \";}\"], $isEllipsis && css([\"text-overflow:ellipsis;\"]), palette[PColor.TextPlaceholder]);\n});\nvar Input = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-150k0cz-5\"\n})(function (_ref4) {\n var _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? InputSize.Md : _ref4$size,\n _ref4$$error = _ref4.$error,\n $error = _ref4$$error === void 0 ? false : _ref4$$error,\n _ref4$$fullWidth = _ref4.$fullWidth,\n $fullWidth = _ref4$$fullWidth === void 0 ? false : _ref4$$fullWidth,\n _ref4$readOnly = _ref4.readOnly,\n readOnly = _ref4$readOnly === void 0 ? false : _ref4$readOnly,\n _ref4$disabled = _ref4.disabled,\n disabled = _ref4$disabled === void 0 ? false : _ref4$disabled,\n _ref4$isHovering = _ref4.isHovering,\n isHovering = _ref4$isHovering === void 0 ? false : _ref4$isHovering,\n _ref4$$isSelectedItem = _ref4.$isSelectedItems,\n $isSelectedItems = _ref4$$isSelectedItem === void 0 ? false : _ref4$$isSelectedItem,\n _ref4$hasInputActions = _ref4.hasInputActions,\n hasInputActions = _ref4$hasInputActions === void 0 ? false : _ref4$hasInputActions,\n theme = _ref4.theme;\n return css([\"position:relative;display:flex;flex-direction:\", \";\", \" box-sizing:border-box;column-gap:8px;cursor:text;transition:all 100ms ease-out;width:\", \";pointer-events:\", \";background-color:\", \";border-radius:\", \";border:1px solid \", \";color:\", \";\", \" \", \";\", \"{\", \"}\", \" \", \" &:hover{color:\", \";}\", \"\"], !hasInputActions ? 'row' : 'column', hasInputActions && 'align-items: stretch;', $fullWidth ? '100%' : '300px', disabled ? 'none' : 'auto', getInputBackgroundColor(readOnly, disabled), theme.shape.borderRadius[BRSize.Md], getInputBorderColor(readOnly, disabled), disabled ? theme.palette[PColor.TextPlaceholder] : theme.palette[PColor.TextPrimary], sizeInputMixin[size], $isSelectedItems && \"\\n height: fit-content;\\n\\n \".concat(Base, \" {\\n max-width: fit-content;\\n min-width: 20px;\\n flex-grow: 1;\\n width: 40px;\\n }\\n \"), Base, fontSizeInputMixin[size], !readOnly && !disabled && css([\"&:focus-within{background-color:\", \"!important;border:1px solid \", \";&:hover{border:1px solid \", \";\", \"{color:\", \";}}}\", \" &:hover{background-color:\", \";border:1px solid \", \";\", \"{color:\", \";}}\"], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.AccentStateless], theme.palette[PColor.AccentStateless], Icon, theme.palette[PColor.IconsPrimary], isHovering && css([\"\", \"{color:\", \";}\"], Icon, theme.palette[PColor.IconsPrimaryHover]), theme.palette[PColor.BackgroundStateless], theme.palette[PColor.BordersPrimaryHover], Icon, theme.palette[PColor.IconsPrimaryHover]), disabled && css([\"\", \"{color:\", \";}\"], Icon, theme.palette[PColor.IconsMuted]), getInputTextColor(readOnly, disabled), $error && errorMixin);\n});\nvar ClearIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'ClearIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-6\"\n})(function (_ref5) {\n var palette = _ref5.theme.palette;\n return css([\"display:flex;cursor:pointer;color:\", \";\"], palette[PColor.IconsPrimary]);\n});\nvar NotificationBox = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'NotificationBox')\n}).withConfig({\n componentId: \"sc-150k0cz-7\"\n})(function (_ref6) {\n var _ref6$size = _ref6.size,\n size = _ref6$size === void 0 ? InputSize.Md : _ref6$size,\n _ref6$isTextarea = _ref6.isTextarea,\n isTextarea = _ref6$isTextarea === void 0 ? false : _ref6$isTextarea,\n palette = _ref6.theme.palette;\n return css([\"display:flex;position:absolute;align-items:center;max-height:34px;right:0px;padding:8px 12px;gap:6px;bottom:\", \";box-shadow:0px 2px 6px \", \";background-color:\", \";border-radius:4px;align-items:center;\", \"\"], size === InputSize.Md ? '45px' : '35px', palette[PColor.LargeShadow], palette[PColor.BackgroundStateless], isTextarea && \"\\n bottom: \".concat(size === InputSize.Md ? 27 : 22, \"px;\\n right: \").concat(size === InputSize.Md ? 16 : 12, \"px;\\n \"));\n});\nvar NotificationIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'NotificationIcon')\n}).withConfig({\n componentId: \"sc-150k0cz-8\"\n})(function (_ref7) {\n var palette = _ref7.theme.palette;\n return css([\"display:flex;color:\", \";\"], palette[PColor.IconsPrimary]);\n});\nvar NotificationText = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'NotificationText')\n}).withConfig({\n componentId: \"sc-150k0cz-9\"\n})(function (_ref8) {\n var _ref8$theme = _ref8.theme,\n palette = _ref8$theme.palette,\n font = _ref8$theme.typography.font;\n return css([\"display:flex;white-space:nowrap;\", \";color:\", \";\"], font[FV.TextSmall], palette[PColor.TextPrimary]);\n});\nvar FieldWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'fieldWrapper')\n}).withConfig({\n componentId: \"sc-150k0cz-10\"\n})(function (_ref9) {\n var $isSelectedItems = _ref9.$isSelectedItems;\n return css([\"width:100%;height:100%;display:inline-flex;flex-wrap:wrap;gap:8px;max-height:120px;\", \";::-webkit-scrollbar{display:none;}\"], $isSelectedItems && \"\\n overflow-y: auto;\\n \");\n});\nvar InputActions = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'inputActions')\n}).withConfig({\n componentId: \"sc-150k0cz-11\"\n})([\"padding-top:16px;width:100%;box-sizing:border-box;\"]);\nvar InputContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'inputContent')\n}).withConfig({\n componentId: \"sc-150k0cz-12\"\n})([\"display:flex;align-items:center;width:100%;column-gap:8px;box-sizing:border-box;\"]);\nvar Styled = applyDisplayNames({\n Input: Input,\n Container: Container,\n Base: Base,\n Icon: Icon,\n CopyIcon: CopyIcon,\n PasswordIcon: PasswordIcon,\n ClearIcon: ClearIcon,\n NotificationBox: NotificationBox,\n NotificationIcon: NotificationIcon,\n NotificationText: NotificationText,\n FieldWrapper: FieldWrapper,\n InputActions: InputActions,\n InputContent: InputContent\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"inputType\", \"children\", \"iconStart\", \"iconEnd\", \"iconChange\", \"inputActions\", \"clearIcon\", \"iconClickStart\", \"iconClickEnd\", \"clearIconClick\", \"size\", \"className\", \"style\", \"fullWidth\", \"readOnly\", \"disabled\", \"hideCopyIcon\", \"focusOnMount\", \"focusOnClick\", \"isEllipsis\", \"copyTextMessage\", \"copySuccessIcon\", \"error\", \"renderTags\", \"showPlaceholder\", \"InputProps\"];\nimport React, { useState, useRef, useEffect } from 'react';\nimport CopyOutline from '@scaleflex/icons/copy-outline';\nimport EyeOpen from '@scaleflex/icons/eye-open';\nimport EyeClosed from '@scaleflex/icons/eye-closed';\nimport Success from '@scaleflex/icons/success';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { handleCopyIcon } from './input.utils';\nimport { Type } from './types';\nimport Styled from './input.styles';\nvar getIconSize = function getIconSize(sizeName, iconType) {\n switch (sizeName) {\n case InputSize.Md:\n return iconType === 'start' ? 15 : 14;\n case InputSize.Sm:\n default:\n return iconType === 'start' ? 13 : 10;\n }\n};\nvar getPasswordIconSize = function getPasswordIconSize(sizeName) {\n switch (sizeName) {\n case InputSize.Md:\n return 16;\n case InputSize.Sm:\n default:\n return 14;\n }\n};\nvar Input = intrinsicComponent(function (_ref, ref) {\n var _rest$selectedItems;\n var inputType = _ref.inputType,\n children = _ref.children,\n iconStart = _ref.iconStart,\n iconEnd = _ref.iconEnd,\n iconChange = _ref.iconChange,\n inputActions = _ref.inputActions,\n clearIcon = _ref.clearIcon,\n iconClickStart = _ref.iconClickStart,\n iconClickEnd = _ref.iconClickEnd,\n clearIconClick = _ref.clearIconClick,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n className = _ref.className,\n style = _ref.style,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$hideCopyIcon = _ref.hideCopyIcon,\n hideCopyIcon = _ref$hideCopyIcon === void 0 ? false : _ref$hideCopyIcon,\n _ref$focusOnMount = _ref.focusOnMount,\n focusOnMount = _ref$focusOnMount === void 0 ? false : _ref$focusOnMount,\n _ref$focusOnClick = _ref.focusOnClick,\n focusOnClick = _ref$focusOnClick === void 0 ? true : _ref$focusOnClick,\n _ref$isEllipsis = _ref.isEllipsis,\n isEllipsis = _ref$isEllipsis === void 0 ? false : _ref$isEllipsis,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n renderTags = _ref.renderTags,\n showPlaceholder = _ref.showPlaceholder,\n InputPropsData = _ref.InputProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHovering = _useState2[0],\n setIsHovering = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showCopyMessage = _useState4[0],\n setShowCopyMessage = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isVisible = _useState6[0],\n setIsVisible = _useState6[1];\n var inputRef = useRef(null);\n var isSelectedItems = (_rest$selectedItems = rest.selectedItems) === null || _rest$selectedItems === void 0 ? void 0 : _rest$selectedItems.length;\n var placeholder = rest.value || isSelectedItems ? '' : rest.placeholder;\n var showCopyIcon = isHovering && readOnly && rest.value.length > 0 && !hideCopyIcon;\n var handleFocus = function handleFocus() {\n var _inputRef$current;\n if (disabled || readOnly) return;\n showPlaceholder === null || showPlaceholder === void 0 || showPlaceholder(false);\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();\n };\n useEffect(function () {\n if (focusOnMount) {\n handleFocus();\n }\n }, []);\n useEffect(function () {\n setTimeout(function () {\n return setShowCopyMessage(false);\n }, 2000);\n }, [showCopyMessage]);\n var handleEntering = function handleEntering() {\n setTimeout(function () {\n setIsHovering(true);\n }, 150);\n };\n var handleLeaving = function handleLeaving() {\n setTimeout(function () {\n setIsHovering(false);\n }, 200);\n };\n var handleIconClick = function handleIconClick(event, type) {\n if (disabled || readOnly) return;\n if (focusOnClick) {\n handleFocus();\n }\n if (type === 'start') {\n if (iconClickStart) {\n iconClickStart(event);\n }\n } else if (type === 'end') {\n if (iconClickEnd) {\n iconClickEnd(event);\n }\n } else if (clearIconClick) {\n clearIconClick(event);\n }\n };\n var renderIcon = function renderIcon(_icon, type) {\n return _icon ? /*#__PURE__*/React.createElement(Styled.Icon, {\n onClick: function onClick(event) {\n return handleIconClick(event, type);\n },\n iconClickStart: iconClickStart,\n iconClickEnd: iconClickEnd,\n $iconType: type,\n disabled: disabled,\n readOnly: readOnly\n }, typeof _icon === 'function' ? _icon({\n size: getIconSize(size, type)\n }) : _icon) : undefined;\n };\n var renderClearIcon = function renderClearIcon() {\n return disabled || readOnly || !clearIcon ? undefined : /*#__PURE__*/React.createElement(Styled.ClearIcon, {\n onClick: function onClick(event) {\n return handleIconClick(event, 'clear');\n }\n }, typeof clearIcon === 'function' ? clearIcon({\n size: getIconSize(size, 'clear')\n }) : clearIcon);\n };\n var renderCopyIcon = function renderCopyIcon(icon) {\n return showCopyIcon ? /*#__PURE__*/React.createElement(Styled.CopyIcon, {\n onClick: function onClick() {\n return handleCopyIcon(rest.value, setShowCopyMessage);\n }\n }, icon) : undefined;\n };\n var toggleVisibility = function toggleVisibility(event) {\n event.stopPropagation();\n setIsVisible(!isVisible);\n };\n var renderPasswordIcon = function renderPasswordIcon() {\n return /*#__PURE__*/React.createElement(Styled.PasswordIcon, {\n onClick: function onClick(event) {\n return toggleVisibility(event);\n }\n }, isVisible ? /*#__PURE__*/React.createElement(EyeClosed, {\n size: getPasswordIconSize(size)\n }) : /*#__PURE__*/React.createElement(EyeOpen, {\n size: getPasswordIconSize(size)\n }));\n };\n var getInputType = function getInputType() {\n if (!inputType && rest !== null && rest !== void 0 && rest.type) {\n return rest === null || rest === void 0 ? void 0 : rest.type;\n }\n if (inputType === Type.Password && !isVisible) {\n return Type.Password;\n }\n return Type.Text;\n };\n var renderField = function renderField() {\n return /*#__PURE__*/React.createElement(Styled.FieldWrapper, {\n $isSelectedItems: Boolean(isSelectedItems)\n }, renderTags && renderTags(), /*#__PURE__*/React.createElement(Styled.Base, _extends({}, rest, {\n placeholder: placeholder,\n ref: inputRef,\n readOnly: Boolean(readOnly),\n type: getInputType(),\n $isEllipsis: isEllipsis\n })));\n };\n var renderCopyText = function renderCopyText() {\n return /*#__PURE__*/React.createElement(Styled.NotificationBox, {\n size: size\n }, /*#__PURE__*/React.createElement(Styled.NotificationIcon, null, copySuccessIcon), /*#__PURE__*/React.createElement(Styled.NotificationText, null, copyTextMessage));\n };\n var renderInputActions = function renderInputActions(inputActions) {\n if (!inputActions) return;\n return /*#__PURE__*/React.createElement(Styled.InputActions, null, inputActions);\n };\n return /*#__PURE__*/React.createElement(Styled.Input, _extends({\n onClick: focusOnClick ? handleFocus : undefined,\n ref: ref,\n size: size,\n onMouseEnter: handleEntering,\n onMouseLeave: handleLeaving,\n className: className,\n style: style,\n readOnly: readOnly,\n disabled: disabled,\n $fullWidth: Boolean(fullWidth),\n $error: error,\n clearIcon: clearIcon,\n isHovering: rest.isHovering,\n $isSelectedItems: Boolean(isSelectedItems || inputActions),\n hasInputActions: Boolean(inputActions)\n }, InputPropsData || {}), /*#__PURE__*/React.createElement(Styled.InputContent, null, renderIcon(iconStart, 'start'), renderField(), renderCopyIcon( /*#__PURE__*/React.createElement(CopyOutline, {\n size: getIconSize(size, 'copy')\n })), showCopyMessage && renderCopyText(), renderClearIcon(), inputType === Type.Password && renderPasswordIcon(), renderIcon(iconEnd, 'end'), renderIcon(iconChange, ''), children && /*#__PURE__*/React.createElement(React.Fragment, null, children)), renderInputActions(inputActions));\n});\nexport default Input;","export var Position = {\n AutoStart: 'auto-start',\n Auto: 'auto',\n AutoEnd: 'auto-end',\n TopStart: 'top-start',\n Top: 'top',\n TopEnd: 'top-end',\n BottomStart: 'bottom-start',\n Bottom: 'bottom',\n BottomEnd: 'bottom-end',\n LeftStart: 'left-start',\n Left: 'left',\n LeftEnd: 'left-end',\n RightStart: 'right-start',\n Right: 'right',\n RightEnd: 'right-end'\n};","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.0.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { useRef, useEffect } from 'react';\n/**\r\n * Creates DOM element to be used as React root.\r\n */\nfunction createRootElement(id) {\n var rootContainer = document.createElement('div');\n rootContainer.setAttribute('id', id);\n return rootContainer;\n}\n\n/**\r\n * Appends element as last child of body.\r\n */\nfunction addRootElement(rootElem) {\n document.body.append(rootElem);\n}\n\n/**\r\n * Hook to create a React Portal.\r\n * Automatically handles creating and tearing-down the root elements (no SRR\r\n * makes this trivial), so there is no need to ensure the parent target already\r\n * exists.\r\n * @example\r\n * const target = usePortal(id, [id]);\r\n * return createPortal(children, target);\r\n * @param {String} id The id of the target container, e.g 'modal' or 'spotlight'\r\n * @returns {HTMLElement} The DOM node to use as the Portal target.\r\n */\nfunction usePortal(id) {\n var rootElemRef = useRef(null);\n useEffect(function () {\n // Look for existing target dom element to append to\n var existingParent = document.querySelector(\"#\".concat(id));\n // Parent is either a new root or the existing dom element\n var parentElem = existingParent || createRootElement(id);\n\n // If there is no existing DOM element, add a new one.\n if (!existingParent) {\n addRootElement(parentElem);\n }\n\n // Add the detached element to the parent\n if (rootElemRef.current) {\n parentElem.append(rootElemRef.current);\n }\n return function removeElement() {\n if (rootElemRef.current) {\n rootElemRef.current.remove();\n }\n if (parentElem.childNodes.length === -1) {\n parentElem.remove();\n }\n };\n }, []);\n\n /**\r\n * It's important we evaluate this lazily:\r\n * - We need first render to contain the DOM element, so it shouldn't happen\r\n * in useEffect. We would normally put this in the constructor().\r\n * - We can't do 'const rootElemRef = useRef(document.createElement('div))',\r\n * since this will run every single render (that's a lot).\r\n * - We want the ref to consistently point to the same DOM element and only\r\n * ever run once.\r\n * @link https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily\r\n */\n function getRootElem() {\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement('div');\n }\n return rootElemRef.current;\n }\n return getRootElem();\n}\nexport default usePortal;\nexport { usePortal };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _PopperMixin;\nimport { css } from 'styled-components';\nimport { Position } from './types';\nexport var PopperMixin = (_PopperMixin = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_PopperMixin, Position.Auto, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.AutoEnd, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.AutoStart, css([\"top:0px;bottom:0px;left:0px;right:0px;\"])), Position.Right, css([\"left:-4px;\"])), Position.RightEnd, css([\"left:-4px;\"])), Position.RightStart, css([\"left:-4px;\"])), Position.Left, css([\"right:-4px;\"])), Position.LeftEnd, css([\"right:-4px;\"])), Position.LeftStart, css([\"right:-4px;\"])), Position.Top, css([\"bottom:-4px;\"])), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_PopperMixin, Position.TopEnd, css([\"bottom:-4px;\"])), Position.TopStart, css([\"bottom:-4px;\"])), Position.Bottom, css([\"top:-4px;\"])), Position.BottomEnd, css([\"top:-4px;\"])), Position.BottomStart, css([\"top:-4px;\"])));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { PopperMixin } from './popper.mixin';\nimport { Position } from './types';\nvar baseClassName = 'Popper';\nvar Popper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1373tsp-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"display:\", \";\"], !open && 'none');\n});\nvar PopperWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-1373tsp-1\"\n})(function (_ref2) {\n var $zIndex = _ref2.$zIndex;\n return css([\"position:relative;z-index:\", \";\"], $zIndex);\n});\nvar Arrow = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'arrow')\n}).withConfig({\n componentId: \"sc-1373tsp-2\"\n})(function (_ref3) {\n var _ref3$warning = _ref3.warning,\n warning = _ref3$warning === void 0 ? false : _ref3$warning,\n _ref3$position = _ref3.position,\n position = _ref3$position === void 0 ? Position.Right : _ref3$position,\n theme = _ref3.theme;\n return css([\"width:8px;height:8px;position:absolute;&::before{content:'';background:\", \";width:8px;height:8px;transform:rotate(45deg);position:absolute;top:0;left:0;z-index:-1;}\", \"\"], warning ? theme.palette[PColor.BackgroundOrange] : theme.palette[PColor.BackgroundGrey], PopperMixin[position]);\n});\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-1373tsp-3\"\n})(function () {\n return css([\"position:fixed;right:0;bottom:0;top:0;left:0;background-color:transparent;\"]);\n});\nvar Styled = applyDisplayNames({\n Popper: Popper,\n Overlay: Overlay,\n Arrow: Arrow,\n PopperWrapper: PopperWrapper\n});\nexport default Styled;","export var passEventToUnderLayingEvent = function passEventToUnderLayingEvent(event) {\n setTimeout(function () {\n if (event.clientX && event.clientY) {\n var elem = document.elementFromPoint(event.clientX, event.clientY);\n if (elem) {\n elem.dispatchEvent(event.nativeEvent);\n }\n }\n }, 0);\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"anchorEl\", \"children\", \"open\", \"warning\", \"position\", \"arrow\", \"popperOptions\", \"overlay\", \"zIndex\", \"enableUnderlayingEvent\", \"wrapperStyles\", \"disablePortal\", \"onClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useRef, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { createPopper } from '@popperjs/core';\nimport usePortal from '../../hooks/use-portal';\nimport { intrinsicComponent, generateClassNames, useForkRef } from '../../utils/functions';\nimport { Position } from './types';\nimport Styled from './popper.styles';\nimport { passEventToUnderLayingEvent } from './popper.utils';\nvar Popper = intrinsicComponent(function (_ref, ref) {\n var anchorEl = _ref.anchorEl,\n children = _ref.children,\n open = _ref.open,\n _ref$warning = _ref.warning,\n warning = _ref$warning === void 0 ? false : _ref$warning,\n _ref$position = _ref.position,\n initialPlacement = _ref$position === void 0 ? Position.Bottom : _ref$position,\n _ref$arrow = _ref.arrow,\n arrow = _ref$arrow === void 0 ? false : _ref$arrow,\n _ref$popperOptions = _ref.popperOptions,\n popperOptions = _ref$popperOptions === void 0 ? {} : _ref$popperOptions,\n _ref$overlay = _ref.overlay,\n overlay = _ref$overlay === void 0 ? false : _ref$overlay,\n _ref$zIndex = _ref.zIndex,\n zIndex = _ref$zIndex === void 0 ? 1300 : _ref$zIndex,\n _ref$enableUnderlayin = _ref.enableUnderlayingEvent,\n enableUnderlayingEvent = _ref$enableUnderlayin === void 0 ? false : _ref$enableUnderlayin,\n _ref$wrapperStyles = _ref.wrapperStyles,\n wrapperStyles = _ref$wrapperStyles === void 0 ? {} : _ref$wrapperStyles,\n _ref$disablePortal = _ref.disablePortal,\n disablePortal = _ref$disablePortal === void 0 ? false : _ref$disablePortal,\n onClick = _ref.onClick,\n rest = _objectWithoutProperties(_ref, _excluded);\n var target = usePortal(generateClassNames('Popper'));\n var popperRef = useRef(null);\n var handlePopperRef = useForkRef(popperRef, ref);\n useEffect(function () {\n if (!anchorEl || !open || popperRef.current === null) {\n return undefined;\n }\n var defaultModifiers = [{\n name: 'arrow',\n options: {\n element: '[data-popper-arrow]'\n }\n }, {\n name: 'offset',\n options: {\n offset: [0, 10]\n }\n }];\n var popperModifiers = arrow ? defaultModifiers : [];\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n var popper = createPopper(anchorEl, popperRef.current, _objectSpread(_objectSpread({\n placement: initialPlacement\n }, popperOptions), {}, {\n modifiers: popperModifiers\n }));\n handlePopperRef.current = popper;\n return function () {\n popper.destroy();\n handlePopperRef.current = null;\n };\n }, [anchorEl, open, popperOptions, initialPlacement, arrow]);\n var handleOnClicking = function handleOnClicking(event) {\n event.persist();\n event.preventDefault();\n event.stopPropagation();\n if (onClick) {\n onClick(event);\n }\n if (enableUnderlayingEvent) {\n passEventToUnderLayingEvent(event);\n }\n };\n var renderOverlay = function renderOverlay() {\n return /*#__PURE__*/React.createElement(Styled.Overlay, {\n onClick: handleOnClicking,\n onContextMenu: handleOnClicking\n });\n };\n var render = function render() {\n var _handlePopperRef$stat;\n return /*#__PURE__*/React.createElement(Styled.PopperWrapper, {\n $zIndex: zIndex,\n style: _objectSpread({}, wrapperStyles)\n }, overlay && open && renderOverlay(), /*#__PURE__*/React.createElement(Styled.Popper, _extends({\n ref: handlePopperRef,\n open: open\n }, rest), children, arrow && /*#__PURE__*/React.createElement(Styled.Arrow, {\n warning: warning,\n \"data-popper-arrow\": true,\n position: (handlePopperRef === null || handlePopperRef === void 0 || (_handlePopperRef$stat = handlePopperRef.state) === null || _handlePopperRef$stat === void 0 ? void 0 : _handlePopperRef$stat.placement) || initialPlacement\n })));\n };\n return disablePortal ? render() : /*#__PURE__*/createPortal(render(), target);\n});\nexport default Popper;","import styled, { css, keyframes } from 'styled-components';\nimport { generateClassNames, applyDisplayNames, scrollBar } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nvar baseClassName = 'Menu';\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-10okxhw-0\"\n})(function () {\n return css([\"position:fixed;right:0;bottom:0;top:0;left:0;background-color:transparent;z-index:-1;\"]);\n});\nvar opacityKeyframes = /*#__PURE__*/keyframes([\"from{opacity:0;}to{opacity:1;}\"]);\nvar transformKeyframes = /*#__PURE__*/keyframes([\"from{transform:scale(0.97);margin-top:0px;}to{transform:scale(1);margin-top:4px;}\"]);\nvar fadeInAnimation = /*#__PURE__*/css([\"animation:\", \" 250ms 0ms cubic-bezier(0.4,0,0.2,1),\", \" 250ms cubic-bezier(0.4,0,0.2,1);\"], opacityKeyframes, transformKeyframes);\nvar Menu = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-10okxhw-1\"\n})(function (_ref) {\n var theme = _ref.theme,\n _ref$$maxHeight = _ref.$maxHeight,\n $maxHeight = _ref$$maxHeight === void 0 ? '' : _ref$$maxHeight,\n $rect = _ref.$rect;\n return css([\"min-width:\", \"px;width:195px;min-height:16px;overflow-x:hidden;overflow-y:auto;transition:opacity 250ms cubic-bezier(0.4,0,0,1),transform 250ms cubic-bezier(0.4,0,0,1),margin-top 250ms cubic-bezier(0.4,0,0,1);outline:0;box-shadow:0 2px 4px \", \";border-radius:\", \";padding:4px 0;background-color:\", \";margin-top:4px;\", \" \", \" \", \"\"], $rect.width, theme.palette[PColor.MediumShadow], theme.shape.borderRadius[BRSize.Md], theme.palette[PColor.BackgroundStateless], scrollBar, fadeInAnimation, $maxHeight && css([\"max-height:\", \";\"], Number.isNaN(+$maxHeight) ? $maxHeight : \"\".concat($maxHeight, \"px\")));\n});\nvar Styled = applyDisplayNames({\n Menu: Menu,\n Overlay: Overlay\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"anchorEl\", \"maxHeight\", \"position\", \"zIndex\", \"open\", \"enableOverlay\", \"hideScroll\", \"enableUnderlayingEvent\", \"containerProps\", \"popperOptions\", \"popperWrapperStyles\", \"onClose\"];\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Position } from '../popper/types';\nimport Popper from '../popper';\nimport Styled from './menu.styles';\nvar Menu = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n anchorEl = _ref.anchorEl,\n _ref$maxHeight = _ref.maxHeight,\n maxHeight = _ref$maxHeight === void 0 ? 250 : _ref$maxHeight,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? Position.BottomStart : _ref$position,\n zIndex = _ref.zIndex,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? false : _ref$open,\n _ref$enableOverlay = _ref.enableOverlay,\n enableOverlay = _ref$enableOverlay === void 0 ? true : _ref$enableOverlay,\n _ref$hideScroll = _ref.hideScroll,\n hideScroll = _ref$hideScroll === void 0 ? true : _ref$hideScroll,\n _ref$enableUnderlayin = _ref.enableUnderlayingEvent,\n enableUnderlayingEvent = _ref$enableUnderlayin === void 0 ? false : _ref$enableUnderlayin,\n _ref$containerProps = _ref.containerProps,\n containerProps = _ref$containerProps === void 0 ? {} : _ref$containerProps,\n popperOptions = _ref.popperOptions,\n _ref$popperWrapperSty = _ref.popperWrapperStyles,\n popperWrapperStyles = _ref$popperWrapperSty === void 0 ? {} : _ref$popperWrapperSty,\n onClose = _ref.onClose,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n timeout = _useState2[0],\n setTimeoutState = _useState2[1];\n var _useState3 = useState(new DOMRect()),\n _useState4 = _slicedToArray(_useState3, 2),\n rect = _useState4[0],\n setRect = _useState4[1];\n var menuRef = useRef(null);\n var updateRect = useCallback(function () {\n var _anchorEl$getBounding;\n var defaultPosition = {\n top: 0,\n left: 0,\n height: 0,\n width: 0\n };\n var defaultRect = new DOMRect(defaultPosition.left, defaultPosition.top, defaultPosition.width, defaultPosition.height);\n setRect((_anchorEl$getBounding = anchorEl === null || anchorEl === void 0 ? void 0 : anchorEl.getBoundingClientRect()) !== null && _anchorEl$getBounding !== void 0 ? _anchorEl$getBounding : defaultRect);\n }, [open, timeout, anchorEl]);\n var handleWindowSizeChanged = useCallback(function () {\n if (open) {\n if (timeout) {\n clearTimeout(timeout);\n }\n setTimeoutState(setTimeout(updateRect, 300));\n }\n }, [open, timeout]);\n useEffect(function () {\n window.addEventListener('resize', handleWindowSizeChanged);\n return function () {\n window.removeEventListener('resize', handleWindowSizeChanged);\n };\n }, [handleWindowSizeChanged]);\n useEffect(function () {\n updateRect();\n }, [updateRect]);\n useEffect(function () {\n if (hideScroll) {\n if (open) {\n document.body.classList.add('Menu-open');\n updateRect();\n } else {\n document.body.classList.remove('Menu-open');\n }\n return function () {\n document.body.classList.remove('Menu-open');\n };\n }\n }, [open, updateRect]);\n var handleClose = function handleClose(event) {\n if (typeof onClose === 'function') {\n onClose(event);\n }\n };\n return /*#__PURE__*/React.createElement(Popper, {\n ref: menuRef,\n position: position,\n open: open,\n anchorEl: anchorEl,\n overlay: enableOverlay,\n popperOptions: popperOptions,\n zIndex: zIndex,\n enableUnderlayingEvent: enableUnderlayingEvent,\n wrapperStyles: popperWrapperStyles,\n onClick: handleClose\n }, /*#__PURE__*/React.createElement(Styled.Menu, _extends({\n ref: ref,\n $maxHeight: maxHeight,\n $rect: rect\n }, containerProps, rest), children));\n});\nexport default Menu;","export var Size = {\n Sm: 'sm',\n Md: 'md'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { Size } from './types';\nexport var sizeMenuItemMixin = _defineProperty(_defineProperty({}, Size.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css([\"padding:8px 16px;min-height:32px;\", \"\"], font[FV.LabelMedium]);\n}), Size.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"padding:11px 16px;min-height:40px;\", \"\"], font[FV.LabelLarge]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { sizeMenuItemMixin } from './menu-item.mixin';\nimport { Size } from './types';\nvar baseClassName = 'MenuItem';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-rrzye0-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette,\n disabled = _ref.disabled;\n return css([\"flex-shrink:0;margin-right:10px;color:\", \";\"], disabled ? palette[PColor.TextPlaceholder] : palette[PColor.IconsPrimary]);\n});\nvar Actions = /*#__PURE__*/styled(Icon).attrs({\n className: generateClassNames(baseClassName, 'Actions')\n}).withConfig({\n componentId: \"sc-rrzye0-1\"\n})(function () {\n return css([\"margin-right:0px;margin-left:16px;\"]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-rrzye0-2\"\n})([\"align-items:center;column-gap:4px;flex-grow:1;\"]);\nvar MenuItemWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'wrapper')\n}).withConfig({\n componentId: \"sc-rrzye0-3\"\n})(function (_ref2) {\n var _ref2$divider = _ref2.divider,\n divider = _ref2$divider === void 0 ? false : _ref2$divider,\n _ref2$disabled = _ref2.disabled,\n disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,\n theme = _ref2.theme;\n return css([\"\", \" \", \"\"], divider && css([\"width:100%;height:1px;background:\", \";box-sizing:border-box;margin:4px 0;\"], theme.palette[PColor.BordersSecondary]), disabled && css([\"color:\", \";\"], theme.palette[PColor.ButtonDisabledText]));\n});\nvar MenuItem = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-rrzye0-4\"\n})(function (_ref3) {\n var _ref3$size = _ref3.size,\n size = _ref3$size === void 0 ? Size.Sm : _ref3$size,\n $active = _ref3.$active,\n theme = _ref3.theme,\n _ref3$disableHover = _ref3.disableHover,\n disableHover = _ref3$disableHover === void 0 ? false : _ref3$disableHover,\n disabled = _ref3.disabled,\n $isFocused = _ref3.$isFocused;\n return css([\"display:flex;justify-content:space-between;flex-direction:row;align-items:center;width:100%;background:\", \";color:\", \";cursor:pointer;box-sizing:border-box;transition:all 100ms ease-out;\", \" &:focus-within,&:focus,&:hover{\", \";\", \"}\", \" \", \"\"], theme.palette[$active ? PColor.BackgroundActive : PColor.BackgroundSecondary], theme.palette[PColor.TextPrimary], sizeMenuItemMixin[size], !disableHover && css([\"background-color:\", \";\"], theme.palette[PColor.BackgroundHover]), disabled && css([\"cursor:default;background-color:white;\"]), disabled && css([\"& > svg{path{fill:\", \";}}color:\", \";\"], theme.palette[PColor.ButtonDisabledText], theme.palette[PColor.ButtonDisabledText]), $isFocused && !disableHover && css([\"background-color:\", \";\"], theme.palette[PColor.BackgroundHover]));\n});\nvar MenuPrefix = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'prefix')\n}).withConfig({\n componentId: \"sc-rrzye0-5\"\n})(function () {\n return css([\"display:flex;\"]);\n});\nvar MenuContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'content')\n}).withConfig({\n componentId: \"sc-rrzye0-6\"\n})(function () {\n return css([\"flex-grow:1;line-height:16px;\"]);\n});\nvar MenuSuffix = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'suffix')\n}).withConfig({\n componentId: \"sc-rrzye0-7\"\n})(function () {\n return css([\"display:flex;margin-left:8px;\"]);\n});\nvar Styled = applyDisplayNames({\n MenuItemWrapper: MenuItemWrapper,\n MenuItem: MenuItem,\n MenuPrefix: MenuPrefix,\n MenuContent: MenuContent,\n MenuSuffix: MenuSuffix,\n Label: Label,\n Icon: Icon,\n Actions: Actions\n});\nexport default Styled;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useRef, useEffect } from 'react';\nimport Arrow from '@scaleflex/icons/arrow';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Menu from '../menu';\nimport Styled from './menu-item.styles';\nvar MenuItem = intrinsicComponent(function (props, ref) {\n var list = props.list,\n children = props.children,\n disableHover = props.disableHover,\n disabled = props.disabled,\n enableScrollIntoView = props.enableScrollIntoView,\n _props$isFocused = props.isFocused,\n isFocused = _props$isFocused === void 0 ? false : _props$isFocused,\n active = props.active,\n value = props.value,\n dividerStyle = props.dividerStyle,\n _props$depth = props.depth,\n depth = _props$depth === void 0 ? 0 : _props$depth;\n var menuItemRef = useRef(null);\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n anchorEl = _React$useState2[0],\n setAnchorEl = _React$useState2[1];\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n selectedIds = _React$useState4[0],\n setSelectedIds = _React$useState4[1];\n var handleOpenMenu = function handleOpenMenu(event) {\n setAnchorEl(event.currentTarget);\n };\n var handleScroll = function handleScroll() {\n var _menuItemRef$current;\n (_menuItemRef$current = menuItemRef.current) === null || _menuItemRef$current === void 0 || _menuItemRef$current.scrollIntoView({\n behavior: 'auto',\n block: 'nearest'\n });\n };\n useEffect(function () {\n if ((active || isFocused) && enableScrollIntoView) {\n handleScroll();\n }\n }, [active, isFocused]);\n var handleSelectedId = function handleSelectedId(ev, selected, depthLevel) {\n var updatedArray = selectedIds.slice(0);\n updatedArray[depthLevel] = selected;\n setSelectedIds(updatedArray);\n handleOpenMenu(ev);\n };\n var handleCloseSubMenu = function handleCloseSubMenu(depthLevel) {\n var updatedArray = selectedIds.slice(0);\n updatedArray[depthLevel] = '';\n setSelectedIds(updatedArray);\n setAnchorEl(null);\n };\n var renderItems = function renderItems(options) {\n var depthLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return options.map(function (option) {\n var hasOptions = option.subList && option.subList.length > 0;\n var subMenu;\n if (selectedIds[depthLevel] === option.key && hasOptions) {\n var newDepthLevel = depthLevel + 1;\n subMenu = /*#__PURE__*/React.createElement(Menu, _extends({\n key: option.key,\n position: \"right\",\n open: Boolean(anchorEl),\n anchorEl: anchorEl,\n enableOverlay: false\n }, option.subMenuProps), /*#__PURE__*/React.createElement(MenuItem, _extends({}, props, {\n list: option.subList,\n depth: newDepthLevel\n })));\n }\n if (option.content === 'divider') {\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n divider: true,\n key: option.key,\n style: option.dividerStyle\n });\n }\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, _extends({\n disabled: false,\n key: option.key,\n onMouseLeave: function onMouseLeave() {\n return handleCloseSubMenu(depthLevel);\n }\n }, props), /*#__PURE__*/React.createElement(Styled.MenuItem, _extends({}, props, {\n className: option.className,\n ref: ref,\n $isFocused: isFocused,\n $active: Boolean(option.active),\n onClick: function onClick(event) {\n var _option$onClick;\n return (_option$onClick = option.onClick) === null || _option$onClick === void 0 ? void 0 : _option$onClick.call(option, _objectSpread({\n event: event\n }, props));\n },\n onMouseEnter: function onMouseEnter(ev) {\n return handleSelectedId(ev, option.key, depthLevel);\n },\n disableHover: disableHover || option.disableHover\n }), option.prefix && /*#__PURE__*/React.createElement(Styled.MenuPrefix, null, typeof option.prefix === 'function' ? option.prefix(props) : option.prefix), option.content && /*#__PURE__*/React.createElement(Styled.MenuContent, null, typeof option.content === 'function' ? option.content(props) : option.content), (option.suffix || option.subList) && /*#__PURE__*/React.createElement(Styled.MenuSuffix, null, typeof option.suffix === 'function' ? option.suffix(props) : option.suffix, option.subList && /*#__PURE__*/React.createElement(Arrow, {\n size: 10,\n color: \"#768A9F\"\n }))), subMenu);\n });\n };\n if (!list) {\n if (value === 'divider') {\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n divider: true,\n key: value,\n style: dividerStyle\n });\n }\n return /*#__PURE__*/React.createElement(Styled.MenuItemWrapper, {\n disabled: Boolean(disabled)\n }, /*#__PURE__*/React.createElement(Styled.MenuItem, _extends({}, props, {\n ref: menuItemRef,\n disableHover: disableHover,\n disabled: disabled,\n $isFocused: isFocused,\n $active: active\n }), children));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, renderItems(list, depth));\n});\nMenuItem.displayName = 'MenuItem';\nexport default MenuItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"disabled\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './menu-item.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Md:\n return 16;\n case Size.Sm:\n default:\n return 14;\n }\n};\nvar MenuItemIcon = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Md : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Icon, _extends({\n disabled: disabled\n }, rest, {\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: getIconSize(size)\n }) : children);\n});\nexport default MenuItemIcon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './menu-item.styles';\nvar MenuItemLabel = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Label, _extends({}, rest, {\n ref: ref\n }), children);\n});\nMenuItemLabel.displayName = 'MenuItemLabel';\nexport default MenuItemLabel;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './menu-item.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Md:\n return 16;\n case Size.Sm:\n default:\n return 14;\n }\n};\nvar MenuItemActions = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Actions, _extends({}, rest, {\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: getIconSize(rest.size)\n }) : children);\n});\nMenuItemActions.displayName = 'MenuItemActions';\nexport default MenuItemActions;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CrossOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 44 44\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.3196 40.0403C44.2253 40.9461 44.2253 42.4146 43.3196 43.3204C42.4138 44.2262 40.9453 44.2262 40.0396 43.3204L21.9997 25.2802L3.95952 43.3207C3.05376 44.2264 1.58525 44.2264 0.679494 43.3207C-0.226258 42.4149 -0.226258 40.9464 0.679495 40.0406L18.7197 22.0001L0.679313 3.95941C-0.226437 3.05364 -0.226439 1.5851 0.679314 0.679328C1.58507 -0.226442 3.05358 -0.226443 3.95934 0.679328L21.9997 18.72L40.0398 0.679604C40.9455 -0.226163 42.414 -0.226165 43.3198 0.679605C44.2255 1.58537 44.2255 3.05392 43.3198 3.95969L25.2797 22.0001L43.3196 40.0403Z\",\n fill: color\n }));\n});\nexport default CrossOutline;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { FontVariant as FV } from '../../utils/types/typography';\nimport { InputSize } from '../../utils/types';\nexport var sizeHintMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref) {\n var font = _ref.theme.typography.font;\n return css(font[FV.LabelExtraSmallUp]);\n}), InputSize.Md, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css(font[FV.LabelSmall]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { sizeHintMixin } from './form-hint.mixin';\nvar baseClassName = 'FormHint';\nvar FormHint = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1vu99sv-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$$error = _ref.$error,\n $error = _ref$$error === void 0 ? false : _ref$$error,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n theme = _ref.theme;\n return css([\"display:flex;align-items:center;color:\", \";\", \" \", \"\"], $error ? theme.palette[PColor.Error] : theme.palette[PColor.TextSecondary], disabled && css([\"color:\", \";\"], theme.palette[PColor.ButtonDisabledText]), sizeHintMixin[size]);\n});\nvar Styled = applyDisplayNames({\n FormHint: FormHint\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"error\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './form-hint.styles';\nvar FormHint = intrinsicComponent(function (_ref, ref) {\n var _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.FormHint, _extends({\n ref: ref,\n $error: error\n }, rest));\n});\nexport default FormHint;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Spinner = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 28 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.3465 44.355C33.5656 50.7844 22.9687 51.6268 14.3708 47.3665L17.8949 44.4545C24.754 47.117 32.7424 46.1093 38.709 41.1792C44.6755 36.249 47.1546 28.6071 45.8085 21.3893L49.3325 18.4773C51.9291 27.6967 49.1274 37.9256 41.3465 44.355Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.1749 2.63356L32.6509 5.54555C25.821 2.91828 17.838 3.86187 11.8366 8.82088C5.87009 13.7511 3.42028 21.4282 4.7372 28.6107L1.21311 31.5227C-1.38344 22.3034 1.45314 12.0456 9.19916 5.64502C16.9801 -0.784402 27.5768 -1.62682 36.1749 2.63356Z\",\n fill: color\n }));\n});\nexport default Spinner;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TwoArrowsRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74299 0.152553C5.95998 -0.056404 6.30528 -0.0498885 6.51424 0.167105C6.7232 0.384099 6.71668 0.7294 6.49969 0.938357L1.43832 5.81227L6.51398 11.0759C6.72309 11.2928 6.71681 11.6381 6.49996 11.8472C6.28311 12.0563 5.9378 12.05 5.7287 11.8332L0.274151 6.1766C0.17369 6.07242 0.118752 5.93258 0.121433 5.78788C0.124113 5.64317 0.184193 5.50547 0.288444 5.40508L5.74299 0.152553Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9549 0.152554C11.1719 -0.0564031 11.5172 -0.0498876 11.7262 0.167106C11.9351 0.3841 11.9286 0.729401 11.7116 0.938357L6.65023 5.81227L11.7259 11.0759C11.935 11.2928 11.9287 11.6381 11.7119 11.8472C11.495 12.0563 11.1497 12.05 10.9406 11.8332L5.48606 6.1766C5.3856 6.07242 5.33067 5.93258 5.33335 5.78788C5.33603 5.64317 5.39611 5.50547 5.50036 5.40508L10.9549 0.152554Z\",\n fill: color\n }));\n});\nexport default TwoArrowsRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TwoArrowsLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.25714 11.8474C6.04014 12.0564 5.69484 12.0499 5.48588 11.8329C5.27693 11.6159 5.28344 11.2706 5.50043 11.0616L10.5618 6.18773L5.48614 0.924074C5.27704 0.707224 5.28331 0.361919 5.50016 0.152813C5.71701 -0.0562931 6.06232 -0.0500145 6.27143 0.166835L11.726 5.8234C11.8264 5.92758 11.8814 6.06742 11.8787 6.21212C11.876 6.35683 11.8159 6.49453 11.7117 6.59492L6.25714 11.8474Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.04522 11.8474C0.828227 12.0564 0.482925 12.0499 0.273969 11.8329C0.065012 11.6159 0.0715275 11.2706 0.288521 11.0616L5.34989 6.18773L0.274227 0.924074C0.0651226 0.707224 0.0714006 0.361919 0.28825 0.152813C0.5051 -0.0562931 0.850407 -0.0500145 1.05951 0.166835L6.51406 5.8234C6.61452 5.92758 6.66946 6.06742 6.66678 6.21212C6.6641 6.35683 6.60402 6.49453 6.49977 6.59492L1.04522 11.8474Z\",\n fill: color\n }));\n});\nexport default TwoArrowsLeft;","export var BadgeColor = {\n Primary: 'primary',\n Secondary: 'secondary',\n White: 'white'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { BadgeColor } from './badge.props';\nexport var colorBadgeMixin = _defineProperty(_defineProperty(_defineProperty({}, BadgeColor.Primary, function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.AccentPrimary], palette[PaletteColor.ButtonPrimaryText]);\n}), BadgeColor.White, function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimary]);\n}), BadgeColor.Secondary, function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"background-color:\", \";color:\", \";\"], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.TextPrimary]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { colorBadgeMixin } from './badge.mixin';\nvar baseClassName = 'Badge';\nvar defaultSize = 20;\nvar BadgeRoot = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1rfm40m-0\"\n})([\"position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle;\"]);\nvar Badge = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName)\n}).withConfig({\n componentId: \"sc-1rfm40m-1\"\n})(function (_ref) {\n var size = _ref.size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'secondary' : _ref$color,\n fontSize = _ref.fontSize,\n _ref$padding = _ref.padding,\n padding = _ref$padding === void 0 ? '0 6px' : _ref$padding,\n inline = _ref.inline;\n return css([\"\", \" display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;align-items:center;align-content:center;height:\", \"px;min-width:\", \"px;line-height:1;padding:\", \";font-size:\", \";box-sizing:border-box;transition:transform 225ms cubic-bezier(0.4,0,0.2,1) 0ms;border-radius:\", \"px;z-index:1;\", \"\"], inline ? '' : 'position: absolute;', size || defaultSize, size || defaultSize, typeof padding === 'number' ? \"\".concat(padding, \"px\") : padding, typeof fontSize === 'number' ? \"\".concat(fontSize, \"px\") : fontSize, (size || defaultSize) / 2, colorBadgeMixin[color]);\n});\nvar Styled = applyDisplayNames({\n BadgeRoot: BadgeRoot,\n Badge: Badge\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"inline\", \"badgeContent\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { BadgeColor } from './badge.props';\nimport Styled from './badge.styles';\nvar Badge = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? BadgeColor.Secondary : _ref$color,\n _ref$inline = _ref.inline,\n inline = _ref$inline === void 0 ? false : _ref$inline,\n badgeContent = _ref.badgeContent,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.BadgeRoot, {\n ref: ref\n }, /*#__PURE__*/React.createElement(Styled.Badge, _extends({\n color: color,\n inline: inline,\n badgeContent: badgeContent\n }, rest), badgeContent));\n});\nexport default Badge;","export var ButtonType = {\n Default: 'default',\n Sidebar: 'sidebar'\n};","export var SideBarType = {\n Left: 'left',\n Right: 'right'\n};","import { ButtonSize } from '../../utils/types';\nexport var getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case ButtonSize.Lg:\n return 18;\n case ButtonSize.Md:\n return 16;\n case ButtonSize.Sm:\n return 14;\n case ButtonSize.Xs:\n return 12;\n default:\n return 16;\n }\n};\nexport var getSideBarIconSize = function getSideBarIconSize(sizeName) {\n switch (sizeName) {\n case ButtonSize.Lg:\n return 12;\n case ButtonSize.Md:\n return 11;\n case ButtonSize.Sm:\n return 10;\n default:\n return 11;\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _colorButtonMixin;\nimport { css } from 'styled-components';\nimport StyledBadge from '../badge/badge.styles';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nexport var colorButtonMixin = (_colorButtonMixin = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_colorButtonMixin, ButtonColor.Primary, function (_ref) {\n var palette = _ref.theme.palette,\n active = _ref.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.Secondary, function (_ref2) {\n var palette = _ref2.theme.palette,\n active = _ref2.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background:transparent;}&:hover{color:\", \";background-color:\", \";\", \"{color:\", \";}}&:focus{color:\", \";background-color:\", \";border:1px solid \", \";\", \"{color:\", \";}}&:active{color:\", \";background-color:\", \";\", \"{color:\", \";}}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentStateless], StyledBadge.Badge, palette[PaletteColor.AccentStateless], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryHover], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], active && css([\"color:\", \";background-color:\", \";\", \"{color:\", \";}&:hover,&:focus{color:\", \";background-color:\", \";\", \"{color:\", \";}}\"], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.AccentPrimaryActive], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.Basic, function (_ref3) {\n var palette = _ref3.theme.palette,\n active = _ref3.active;\n return css([\"background-color:transparent;border:1px solid \", \";color:\", \";\", \"{background-color:transparent;color:\", \";}&:hover{background-color:\", \";color:\", \";\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";\", \"{color:\", \";}}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;border:none;\", \"{color:\", \";}}\"], palette[PaletteColor.BordersButton], palette[PaletteColor.LinkStateless], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.BackgroundHover], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], active && css([\"background-color:\", \";color:\", \";\", \"{color:\", \";}&:hover,&:focus{background-color:\", \";color:\", \";}\"], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover], StyledBadge.Badge, palette[PaletteColor.LinkHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkHover]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkPrimary, function (_ref4) {\n var palette = _ref4.theme.palette,\n active = _ref4.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkSecondary, function (_ref5) {\n var palette = _ref5.theme.palette,\n active = _ref5.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkBasicPrimary, function (_ref6) {\n var palette = _ref6.theme.palette,\n active = _ref6.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.LinkBasicSecondary, function (_ref7) {\n var palette = _ref7.theme.palette,\n active = _ref7.active;\n return css([\"color:\", \";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:\", \";}&:active{color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorPrimary, function (_ref8) {\n var palette = _ref8.theme.palette,\n active = _ref8.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.Error], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorHover], palette[PaletteColor.ErrorActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ErrorActive]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorSecondary, function (_ref9) {\n var palette = _ref9.theme.palette,\n active = _ref9.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background-color:transparent;}&:hover{background-color:\", \";color:\", \";border:none;\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";border:none;}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.LinkStateless], palette[PaletteColor.BordersButton], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.ErrorHover], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorActive], palette[PaletteColor.ButtonPrimaryText], active && css([\"background-color:\", \";color:\", \";border:none;&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.ErrorActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.ErrorBasic, function (_ref10) {\n var palette = _ref10.theme.palette,\n active = _ref10.active;\n return css([\"color:\", \";background-color:transparent;&:hover{color:\", \";}&:active{color:\", \";}\", \" &:disabled{color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.ErrorHover], palette[PaletteColor.ErrorActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.ErrorActive], palette[PaletteColor.ErrorActive]), palette[PaletteColor.BordersDisabled]);\n}), _defineProperty(_defineProperty(_defineProperty(_colorButtonMixin, ButtonColor.WarningPrimary, function (_ref11) {\n var palette = _ref11.theme.palette,\n active = _ref11.active;\n return css([\"background-color:\", \";color:\", \";\", \"{color:\", \";background:transparent;}&:hover{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{background-color:\", \";color:\", \";cursor:default;\", \"{color:\", \";background:transparent;}}\"], palette[PaletteColor.Warning], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningHover], palette[PaletteColor.WarningActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.WarningActive]), palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.BordersDisabled], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.WarningSecondary, function (_ref12) {\n var palette = _ref12.theme.palette,\n active = _ref12.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \"{color:\", \";background-color:transparent;}&:hover{background-color:\", \";color:\", \";border:none;\", \"{color:\", \";}}&:active{background-color:\", \";color:\", \";border:none;}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;\", \"{color:\", \";}}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.LinkStateless], palette[PaletteColor.BordersButton], StyledBadge.Badge, palette[PaletteColor.LinkStateless], palette[PaletteColor.WarningHover], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningActive], palette[PaletteColor.ButtonPrimaryText], active && css([\"background-color:\", \";color:\", \";border:none;\", \"{color:\", \";background-color:transparent;}&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.ButtonPrimaryText], StyledBadge.Badge, palette[PaletteColor.ButtonPrimaryText], palette[PaletteColor.WarningActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity], StyledBadge.Badge, palette[PaletteColor.BordersDisabled]);\n}), ButtonColor.WarningBasic, function (_ref13) {\n var palette = _ref13.theme.palette,\n active = _ref13.active;\n return css([\"color:\", \";background-color:transparent;&:hover{color:\", \";}&:active{color:\", \";}\", \" &:disabled{color:\", \";cursor:default;}\"], palette[PaletteColor.LinkStateless], palette[PaletteColor.WarningHover], palette[PaletteColor.WarningActive], active && css([\"color:\", \";&:hover,&:focus{color:\", \";}\"], palette[PaletteColor.WarningActive], palette[PaletteColor.WarningActive]), palette[PaletteColor.BordersDisabled]);\n}));\nexport var sizeButtonMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:5px 10px;\"])), ButtonSize.Sm, css([\"padding:8px 12px;\"])), ButtonSize.Md, css([\"padding:11px 16px;\"])), ButtonSize.Lg, css([\"padding:14px 24px;\"]));\nexport var sizeSecondaryButtonMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:4px 10px;\"])), ButtonSize.Sm, css([\"padding:7px 12px;\"])), ButtonSize.Md, css([\"padding:10px 16px;\"])), ButtonSize.Lg, css([\"padding:13px 24px;\"]));\nexport var sizeSidebarMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:5px 10px;\"])), ButtonSize.Sm, css([\"padding:8px 12px;\"])), ButtonSize.Md, css([\"padding:11px 14px;\"])), ButtonSize.Lg, css([\"padding:14px 16px;\"]));\nexport var sizeSidebarDividerMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"height:14px;\"])), ButtonSize.Sm, css([\"height:16px;\"])), ButtonSize.Md, css([\"height:18px;\"])), ButtonSize.Lg, css([\"height:20px;\"]));\nexport var paddingIconLabelMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"margin-right:5px;\"])), ButtonSize.Sm, css([\"margin-right:6px;\"])), ButtonSize.Md, css([\"margin-right:7px;\"])), ButtonSize.Lg, css([\"margin-right:8px;\"]));\nexport var sizeButtonLabelMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, function (_ref14) {\n var font = _ref14.theme.typography.font;\n return css(font[FontVariant.ButtonSmEmphasis]);\n}), ButtonSize.Sm, function (_ref15) {\n var font = _ref15.theme.typography.font;\n return css(font[FontVariant.ButtonMdEmphasis]);\n}), ButtonSize.Md, function (_ref16) {\n var font = _ref16.theme.typography.font;\n return css(font[FontVariant.ButtonLgEmphasis]);\n}), ButtonSize.Lg, function (_ref17) {\n var font = _ref17.theme.typography.font;\n return css(font[FontVariant.ButtonLgUpEmphasis]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { colorButtonMixin, sizeButtonMixin, sizeButtonLabelMixin, sizeSidebarMixin, sizeSidebarDividerMixin, paddingIconLabelMixin, sizeSecondaryButtonMixin } from './button.mixin';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nimport { ButtonType as ButtonValueType, SideBarType as SideBarValueType } from './types';\nvar baseClassName = 'Button';\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-lxwit0-0\"\n})([\"display:flex;\"]);\nvar Badge = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Badge')\n}).withConfig({\n componentId: \"sc-lxwit0-1\"\n})([\"display:flex;margin-left:5px;\"]);\nvar Wrapper = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Body')\n}).withConfig({\n componentId: \"sc-lxwit0-2\"\n})([\"display:flex;align-items:center;\"]);\nvar Button = /*#__PURE__*/styled.button.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-lxwit0-3\"\n})(function (_ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? ButtonColor.Secondary : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n $buttonType = _ref.$buttonType,\n active = _ref.active,\n theme = _ref.theme;\n return css([\"display:inline-flex;flex-shrink:0;flex-direction:row;align-items:center;justify-content:center;border-radius:\", \";transition:all 100ms ease-out;border:0;cursor:pointer;outline:none;\", \" \", \" \", \" \", \"{\", \" \", \"}\", \"{\", \"}\", \"\"], theme.shape.borderRadius[BRSize.Md], $buttonType !== ButtonValueType.Sidebar && colorButtonMixin[color], $buttonType === ButtonValueType.Sidebar ? sizeSidebarMixin[size] : sizeButtonMixin[size], color === ButtonColor.Secondary && sizeSecondaryButtonMixin[size], Label, sizeButtonLabelMixin[size], (color === ButtonColor.LinkBasicPrimary || color === ButtonColor.LinkBasicSecondary) && \"font-weight: 400\", Badge, sizeButtonLabelMixin[size], $buttonType === ButtonValueType.Sidebar && css([\"background-color:\", \";color:\", \";border:1px solid \", \";\", \" \", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;}\"], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.LinkStateless], theme.palette[PaletteColor.BordersButton], !active && css([\"&:hover{color:\", \";background-color:\", \";border:none;}&:active{color:\", \";background-color:\", \";border:none;}\"], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.AccentPrimaryHover], theme.palette[PaletteColor.ButtonPrimaryText], theme.palette[PaletteColor.AccentPrimaryActive]), active && css([\"background-color:\", \";color:\", \";border:1px solid \", \";\"], theme.palette[PaletteColor.Accent_1_2_Opacity], theme.palette[PaletteColor.AccentPrimaryActive], theme.palette[PaletteColor.AccentPrimaryActive]), theme.palette[PaletteColor.BordersDisabled], theme.palette[PaletteColor.AccentPrimaryDisabled]));\n});\nvar StartIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'StartIcon')\n}).withConfig({\n componentId: \"sc-lxwit0-4\"\n})(function (_ref2) {\n var $loading = _ref2.$loading,\n _ref2$size = _ref2.size,\n size = _ref2$size === void 0 ? ButtonSize.Md : _ref2$size;\n return css([\"display:flex;svg{animation:\", \";}\", \"\"], $loading ? 'spinner 1.2s linear infinite' : '1.2s', paddingIconLabelMixin[size]);\n});\nvar SideArrows = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'SideBar')\n}).withConfig({\n componentId: \"sc-lxwit0-5\"\n})(function (_ref3) {\n var $sideBarType = _ref3.$sideBarType;\n return css([\"display:flex;\", \":12px;\"], \"margin-\".concat($sideBarType === SideBarValueType.Left ? 'right' : 'left'));\n});\nvar Divider = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Divider')\n}).withConfig({\n componentId: \"sc-lxwit0-6\"\n})(function (_ref4) {\n var $sideBarType = _ref4.$sideBarType,\n _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? ButtonSize.Md : _ref4$size;\n return css([\"border-left-style:solid;border-width:1px;\", \" \", \":12px;\"], sizeSidebarDividerMixin[size], \"margin-\".concat($sideBarType === SideBarValueType.Left ? 'right' : 'left'));\n});\nvar EndIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'EndIcon')\n}).withConfig({\n componentId: \"sc-lxwit0-7\"\n})([\"display:flex;margin-left:6px;\"]);\nvar Styled = applyDisplayNames({\n Button: Button,\n Wrapper: Wrapper,\n Label: Label,\n SideArrows: SideArrows,\n Divider: Divider,\n StartIcon: StartIcon,\n EndIcon: EndIcon,\n Badge: Badge\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"startIcon\", \"endIcon\", \"badge\", \"color\", \"active\", \"buttonType\", \"sideBarType\", \"size\", \"loading\", \"disabled\"];\nimport React from 'react';\nimport SpinnerIcon from '@scaleflex/icons/spinner';\nimport TwoArrowsRight from '@scaleflex/icons/two-arrows-right';\nimport TwoArrowsLeft from '@scaleflex/icons/two-arrows-left';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Badge from '../badge';\n// TODO: move both types inside buttons.props file instead having them inside utils\nimport { ButtonSize, ButtonColor } from '../../utils/types';\nimport { ButtonType, SideBarType } from './types';\nimport { getIconSize, getSideBarIconSize } from './button.utils';\nimport Styled from './button.styles';\nvar Button = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n startIcon = _ref.startIcon,\n endIcon = _ref.endIcon,\n badge = _ref.badge,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? ButtonColor.Primary : _ref$color,\n _ref$active = _ref.active,\n active = _ref$active === void 0 ? false : _ref$active,\n _ref$buttonType = _ref.buttonType,\n buttonType = _ref$buttonType === void 0 ? ButtonType.Default : _ref$buttonType,\n _ref$sideBarType = _ref.sideBarType,\n sideBarType = _ref$sideBarType === void 0 ? SideBarType.Left : _ref$sideBarType,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$loading = _ref.loading,\n loading = _ref$loading === void 0 ? false : _ref$loading,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n rest = _objectWithoutProperties(_ref, _excluded);\n var getSideBarArrows = function getSideBarArrows(props) {\n switch (sideBarType) {\n case SideBarType.Right:\n return active ? /*#__PURE__*/React.createElement(TwoArrowsLeft, props) : /*#__PURE__*/React.createElement(TwoArrowsRight, props);\n case SideBarType.Left:\n return active ? /*#__PURE__*/React.createElement(TwoArrowsRight, props) : /*#__PURE__*/React.createElement(TwoArrowsLeft, props);\n default:\n }\n };\n var getSideBarSection = function getSideBarSection() {\n var sideBarSection = [/*#__PURE__*/React.createElement(Styled.SideArrows, {\n key: \"arrows\",\n $sideBarType: sideBarType\n }, getSideBarArrows({\n size: getSideBarIconSize(size)\n }))];\n var divider = /*#__PURE__*/React.createElement(Styled.Divider, {\n key: \"divider\",\n size: size,\n $sideBarType: sideBarType\n });\n if (sideBarType === SideBarType.Right) {\n sideBarSection.unshift(divider);\n } else {\n sideBarSection.push(divider);\n }\n return buttonType === ButtonType.Sidebar && sideBarSection;\n };\n return /*#__PURE__*/React.createElement(Styled.Button, _extends({\n type: \"button\",\n $buttonType: buttonType\n }, rest, {\n disabled: loading || disabled,\n color: color,\n active: active,\n size: size,\n ref: ref\n }), sideBarType === SideBarType.Left && getSideBarSection(), /*#__PURE__*/React.createElement(Styled.Wrapper, null, startIcon && /*#__PURE__*/React.createElement(Styled.StartIcon, {\n $loading: loading,\n size: size\n }, typeof startIcon === 'function' ? loading ? /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n }) : startIcon({\n size: getIconSize(size)\n }) : loading ? /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n }) : startIcon), loading && !startIcon && /*#__PURE__*/React.createElement(Styled.StartIcon, {\n $loading: loading\n }, /*#__PURE__*/React.createElement(SpinnerIcon, {\n size: getIconSize(size)\n })), /*#__PURE__*/React.createElement(Styled.Label, null, children), endIcon && /*#__PURE__*/React.createElement(Styled.EndIcon, null, typeof endIcon === 'function' ? endIcon({\n size: getIconSize(size)\n }) : endIcon)), sideBarType === SideBarType.Right && getSideBarSection(), badge && /*#__PURE__*/React.createElement(Styled.Badge, null, /*#__PURE__*/React.createElement(Badge, {\n inline: true,\n size: 14,\n padding: \"0 1px\",\n badgeContent: badge,\n color: color === ButtonColor.Primary ? 'white' : 'secondary'\n })));\n});\nexport default Button;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Image2 = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 42 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.483002 4.49014V37.5097C0.483002 38.5725 0.90519 39.5917 1.65669 40.3432C2.40819 41.0947 3.42745 41.5169 4.49023 41.5169H37.5098C38.5726 41.5169 39.5918 41.0947 40.3433 40.3432C41.0948 39.5917 41.517 38.5725 41.517 37.5097V4.49014C41.517 3.42735 41.0948 2.4081 40.3433 1.6566C39.5918 0.905099 38.5726 0.48291 37.5098 0.48291H4.49023C3.42745 0.48291 2.40819 0.905099 1.65669 1.6566C0.90519 2.4081 0.483002 3.42735 0.483002 4.49014ZM38.9272 5.87776V31.3044L26.3817 19.5446L21.8068 22.3356L14.8048 15.3337L3.07279 23.0543V6.06233C3.07279 5.2695 3.38775 4.50913 3.94836 3.94851C4.50898 3.38789 5.26935 3.07294 6.06218 3.07294H36.1222C36.8661 3.07294 37.5795 3.36844 38.1055 3.89444C38.6316 4.42044 38.9272 5.13385 38.9272 5.87776Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.4602 15.6943C33.066 15.6943 35.1784 13.5819 35.1784 10.976C35.1784 8.37021 33.066 6.25777 30.4602 6.25777C27.8543 6.25777 25.7419 8.37021 25.7419 10.976C25.7419 13.5819 27.8543 15.6943 30.4602 15.6943Z\",\n fill: color\n }));\n});\nexport default Image2;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Undo = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 40 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.5112 31.2036C39.5112 41.568 31.0785 50 20.7148 50H14.0613C12.9587 50 12.0652 49.1066 12.0652 48.004V47.3386C12.0652 46.2359 12.9586 45.3425 14.0613 45.3425H20.7148C28.5107 45.3425 34.8537 38.9995 34.8537 31.2036C34.8537 23.4078 28.5107 17.0648 20.7148 17.0648H8.4394L16.8935 25.5189C17.8015 26.4266 17.8015 27.9042 16.8935 28.8119C16.0124 29.6923 14.479 29.691 13.5999 28.8119L1.17111 16.3828C0.731285 15.943 0.488892 15.3581 0.488892 14.7359C0.488892 14.1142 0.731285 13.529 1.17111 13.0894L13.6006 0.65976C14.4797 -0.220001 16.0144 -0.220001 16.8936 0.65976C17.8016 1.56722 17.8016 3.04511 16.8936 3.95246L8.43951 12.4072H20.7148C31.0785 12.4072 39.5112 20.8395 39.5112 31.2036Z\",\n fill: color\n }));\n});\nexport default Undo;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Redo = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 40 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.98 31.2037C0.98 41.568 9.41216 50 19.7752 50H26.4284C27.5309 50 28.4244 49.1066 28.4244 48.004V47.3386C28.4244 46.2359 27.531 45.3425 26.4284 45.3425H19.7752C11.9798 45.3425 5.6372 38.9995 5.6372 31.2037C5.6372 23.4079 11.9798 17.0648 19.7752 17.0648H32.05L23.5964 25.5189C22.6884 26.4266 22.6884 27.9043 23.5964 28.812C24.4774 29.6924 26.0107 29.6911 26.8897 28.812L39.3178 16.3828C39.7576 15.943 40 15.3582 40 14.736C40 14.1142 39.7576 13.5291 39.3178 13.0895L26.8891 0.659821C26.01 -0.21994 24.4754 -0.21994 23.5962 0.659821C22.6883 1.56728 22.6883 3.04517 23.5962 3.95252L32.0498 12.4073H19.7752C9.41216 12.4073 0.98 20.8396 0.98 31.2037Z\",\n fill: color\n }));\n});\nexport default Redo;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Line = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.1901 7.27549L7.59689 39.8687C6.83412 40.6315 6.83412 41.8681 7.59689 42.6308C8.35965 43.3936 9.59626 43.3936 10.359 42.6308L42.9522 10.0376C43.715 9.27486 43.715 8.03825 42.9522 7.27549C42.1895 6.51272 40.9529 6.51272 40.1901 7.27549Z\",\n fill: color\n }));\n});\nexport default Line;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ImageFilters = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.2229 16.7653C41.3215 12.426 39.7436 8.284 36.6864 5.02956C33.6292 1.77513 29.4872 -2.09808e-05 25.0493 -2.09808e-05C20.6114 -2.09808e-05 16.3708 1.77513 13.3136 5.02956C10.2564 8.18538 8.6785 12.3274 8.77712 16.7653C3.45168 19.5266 0 25.1479 0 31.1637C0 37.2781 3.25444 42.6035 8.57988 45.4635C11.0454 46.7455 13.7081 47.4359 16.2722 47.4359C19.3294 47.4359 22.288 46.5483 24.9507 44.8718C29.9803 48.1262 36.0947 48.3234 41.4201 45.4635C46.7456 42.6035 50 37.2781 50 31.1637C50 25.0493 46.6469 19.5266 41.2229 16.7653ZM22.7811 43.0966C18.6391 45.3649 13.7081 45.3649 9.56607 42.998C5.22682 40.5325 2.66272 36.1933 2.66272 31.1637C2.66272 26.43 5.12821 22.0907 9.1716 19.6252C10.1578 24.359 13.3136 28.501 17.6529 30.6706C17.4556 35.4043 19.3294 39.8422 22.7811 43.0966ZM32.1499 27.8106C31.4596 24.5562 29.783 21.499 27.3176 19.2307C30.6706 17.357 34.8126 17.0611 38.4615 18.3432C37.7712 22.2879 35.503 25.7396 32.1499 27.8106ZM20.6114 28.1065C21.3018 25.2465 22.8797 22.6824 25.0493 20.8087C27.5148 22.8797 29.1913 25.8382 29.6844 28.9941C26.7258 30.0789 23.4714 30.0789 20.4142 28.9941C20.4142 28.6982 20.5128 28.4023 20.6114 28.1065ZM25.0493 17.4556C23.57 16.4694 21.8935 15.7791 20.1183 15.3846C19.428 15.1874 18.6391 15.6805 18.5404 16.3708C18.4418 16.7653 18.5404 17.0611 18.7377 17.357C18.9349 17.6528 19.2308 17.8501 19.5266 17.9487C20.7101 18.2446 21.7949 18.639 22.7811 19.2307C20.3156 21.499 18.6391 24.4576 17.9487 27.8106C14.5957 25.7396 12.2288 22.2879 11.6371 18.3432C11.9329 18.2446 12.1302 18.1459 12.426 18.0473C12.7219 17.9487 13.0178 17.7515 13.215 17.357C13.4122 17.0611 13.4122 16.6666 13.3136 16.3708C13.1164 15.6805 12.3274 15.286 11.6371 15.4832C11.5385 15.4832 11.5385 15.4832 11.4398 15.5818C11.8343 8.48124 17.7515 2.6627 25.0493 2.6627C32.3471 2.6627 38.2643 8.38262 38.6588 15.5818C34.0237 14.2012 28.9941 14.8915 25.0493 17.4556ZM29.783 31.7554C29.5858 35.5029 27.9093 39.0532 25.0493 41.5187C22.1893 39.0532 20.4142 35.6016 20.3156 31.7554C23.3728 32.7416 26.7258 32.7416 29.783 31.7554ZM32.4458 30.6706C36.785 28.4023 39.8422 24.359 40.927 19.6252C44.9704 22.0907 47.4359 26.43 47.4359 31.1637C47.4359 36.0947 44.8718 40.5325 40.5325 42.998C36.3905 45.3649 31.4596 45.3649 27.3176 43.0966C30.7692 39.8422 32.643 35.4043 32.4458 30.6706Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5819 14.8915C14.9901 14.9901 14.497 15.5818 14.497 16.1735C14.497 16.8639 15.0888 17.5542 15.8777 17.5542C16.6667 17.5542 17.2584 16.9625 17.2584 16.1735C17.2584 15.7791 17.0611 15.3846 16.7653 15.1874C16.3708 14.9901 15.9763 14.8915 15.5819 14.8915Z\",\n fill: color\n }));\n});\nexport default ImageFilters;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Crop = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 2.00049C3.34315 2.00049 2 3.34364 2 5.00049V16.7505H5.5V5.50049H16.75V2.00049H5ZM45 2.00049H33.25V5.50049H44.5V16.7505H48V5.00049C48 3.34363 46.6569 2.00049 45 2.00049ZM5.5 33.2505H2V45.0005C2 46.6573 3.34315 48.0005 5 48.0005H16.75V44.5005H5.5V33.2505ZM48 33.2505H44.5V44.5005H33.25V48.0005H45C46.6569 48.0005 48 46.6573 48 45.0005V33.2505Z\",\n fill: color\n }));\n});\nexport default Crop;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CropLandscape = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 53 37\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.11841 3.93799V32.063H47.8684V3.93799H4.11841ZM3.49341 0.812988C2.1127 0.812988 0.993408 1.91229 0.993408 3.26835V32.7326C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7326V3.26835C50.9934 1.91229 49.8741 0.812988 48.4934 0.812988H3.49341Z\",\n fill: color\n }));\n});\nexport default CropLandscape;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Resize = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 0.5H3V2.375H2.375V3H0.5V0.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 21.125H3V21.2693H24.7308V43H24.875V45.5L0.5 45.5001V21.125ZM22.2308 43L3 43.0001V23.7693H22.2308V43Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 45.5H45.5V43H43.625V43.625H43V45.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 3V0.5H43V2.375H43.625V3H45.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.125 0.5V3H9.875V0.5H6.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.625 0.5V3H17.375V0.5H13.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.125 0.5V3H24.875V0.5H21.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.625 0.5V3H32.375V0.5H28.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.125 0.5V3H39.875V0.5H36.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 6.125H43V9.875H45.5V6.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 13.625H43V17.375H45.5V13.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 21.125H43V24.875H45.5V21.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 28.625H43V32.375H45.5V28.625Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 36.125H43V39.875H45.5V36.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 45.5V43H36.125V45.5H39.875Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.375 45.5V43H28.625V45.5H32.375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 17.375H3V13.625H0.5V17.375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 9.875H3V6.125H0.5V9.875Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.1391 9.23718L26.3209 17.8619C25.8274 18.3446 25.8186 19.136 26.3013 19.6295C26.784 20.1231 27.5754 20.1319 28.069 19.6492L37.1012 10.815V16.9907C37.1012 17.681 37.6609 18.2407 38.3512 18.2407C39.0416 18.2407 39.6012 17.681 39.6012 16.9907V7.98718C39.6012 7.29683 39.0416 6.73718 38.3512 6.73718L29.3477 6.73718C28.6574 6.73718 28.0977 7.29683 28.0977 7.98718C28.0977 8.67754 28.6574 9.23718 29.3477 9.23718L35.1391 9.23718Z\",\n fill: color\n }));\n});\nexport default Resize;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Watermark = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.1323 0.500031H2.73399C1.42693 0.500031 0.399963 1.527 0.399963 2.83406V43.166C0.399963 44.4731 1.42693 45.5 2.73399 45.5H42.1323C43.4394 45.5 44.4664 44.4731 44.4664 43.166V2.83406C44.4664 1.527 43.4394 0.500031 42.1323 0.500031ZM41.6655 3.30086V25.8942L36.624 21.693C36.1572 21.2262 35.4103 21.2262 34.8502 21.5996L28.595 26.2677L15.5244 11.2365C15.3377 10.9565 14.9643 10.7697 14.5908 10.7697C14.2174 10.7697 13.8439 10.9565 13.5639 11.1432L3.20079 21.693V3.30086H41.6655ZM3.20079 42.6992V39.8984C4.22776 40.3652 5.72154 40.832 7.58876 40.832C9.36262 40.832 10.483 40.2718 11.3232 39.805C12.0701 39.4316 12.5369 39.1515 13.3771 39.2448C14.3108 39.3382 14.8709 39.5249 15.4311 39.805C16.2713 40.0851 17.2049 40.4585 18.9788 40.4585V38.3112C17.6717 38.3112 17.0182 38.0312 16.178 37.7511C15.5244 37.471 14.6842 37.1909 13.5639 37.0975C12.0701 36.9108 11.1365 37.471 10.2962 37.8444C9.54934 38.2179 8.80245 38.5913 7.4954 38.5913C5.06801 38.5913 3.6676 37.7511 3.10743 37.2843V35.0436C4.1344 35.5104 5.62818 35.9772 7.4954 35.9772C9.26926 35.9772 10.3896 35.417 11.2298 34.9502C11.9767 34.5768 12.4435 34.2967 13.2838 34.3901C14.2174 34.4834 14.7776 34.6702 15.3377 34.9502C16.178 35.2303 17.1116 35.6038 18.8854 35.6038V33.4565C17.5784 33.4565 16.9249 33.1764 16.0846 32.8963C15.4311 32.6162 14.5908 32.3361 13.4705 32.2428C11.9767 32.056 11.0431 32.6162 10.2029 32.9897C9.45598 33.3631 8.70909 33.7365 7.40204 33.7365C4.97465 33.7365 3.57424 32.8963 3.01407 32.4295V30.1888C4.04104 30.6556 5.53482 31.1224 7.40204 31.1224C9.1759 31.1224 10.2962 30.5623 11.1365 30.0955C11.8834 29.722 12.3502 29.4419 13.1904 29.5353C14.124 29.6287 14.6842 29.8154 15.2444 30.0955C16.0846 30.3755 17.0182 30.749 18.7921 30.749V28.6017C17.485 28.6017 16.8315 28.3216 15.9912 28.0415C15.3377 27.7614 14.4975 27.4814 13.3771 27.388C11.8834 27.2013 10.9498 27.7614 10.1095 28.1349C9.36262 28.5083 8.61573 28.8818 7.30868 28.8818C4.88129 28.8818 3.48088 28.0415 2.92071 27.5747V25.7075L14.124 14.2241L27.1012 29.0685C27.568 29.6287 28.4083 29.722 28.9684 29.2552L35.4103 24.4004L41.3854 29.4419V42.6058H3.20079V42.6992Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.7029 15.7179C35.4103 15.7179 37.651 13.4772 37.651 10.7697C37.651 8.06227 35.4103 5.82161 32.7029 5.82161C29.9954 5.82161 27.7547 8.06227 27.7547 10.7697C27.7547 13.4772 29.9954 15.7179 32.7029 15.7179ZM32.7029 8.15563C34.1966 8.15563 35.317 9.36933 35.317 10.7697C35.317 12.1702 34.1033 13.3838 32.7029 13.3838C31.3025 13.3838 30.0888 12.1702 30.0888 10.7697C30.0888 9.36933 31.2091 8.15563 32.7029 8.15563Z\",\n fill: color\n }));\n});\nexport default Watermark;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Images = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.4164 5.98527H1.06762C0.533808 5.98527 0 6.53674 0 7.08821V49C0 49.7353 0.533808 50.1029 1.06762 50.1029H43.4164C44.1281 50.1029 44.484 49.7353 44.484 49V7.08821C44.484 6.53674 44.1281 5.98527 43.4164 5.98527ZM35.7651 13.1544C37.9004 13.1544 39.5 15.0809 39.5 17.1029C39.5 19.3088 37.7224 20.6029 35.7651 20.6029C33.8078 20.6029 32 19.125 32 17.1029C31.8221 14.897 33.6299 13.1544 35.7651 13.1544ZM1.9573 45.875C2.13523 45.6912 14.2349 30.9853 16.548 27.8603C16.726 27.4926 17.2598 27.4926 17.4377 27.8603L29.7153 43.4853L35.0534 37.4191C35.4093 37.0514 35.7651 37.2353 35.9431 37.4191L42.5267 45.875H1.9573Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9164 -3.8147e-06H6.74555C6.03381 -3.8147e-06 5.5 0.367643 5.5 1.10294V4.29294H7.5V2.20588H47.6892V39H46.2473V44.1176H48.9164C49.6281 44.1176 49.984 43.75 49.984 43.0147V1.10294C49.984 0.367643 49.6281 -3.8147e-06 48.9164 -3.8147e-06Z\",\n fill: color\n }));\n});\nexport default Images;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Reset = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 0C38.8071 0 50 11.1929 50 25C50 38.807 38.8071 50 25 50C14.111 50 4.854 43.0397 1.42326 33.333C0.963005 32.0312 1.6455 30.603 2.94725 30.143C4.249 29.6828 5.67725 30.365 6.1375 31.667C8.88425 39.4382 16.2957 45 25 45C36.0457 45 45 36.0457 45 25C45 13.9543 36.0457 5 25 5C21.121 5 17.8345 6.40292 14.7095 8.6015C12.6078 10.0803 10.663 11.8526 8.6895 13.75H16.25C17.6308 13.75 18.75 14.8693 18.75 16.25C18.75 17.6307 17.6308 18.75 16.25 18.75H2.5C1.11926 18.75 0 17.6307 0 16.25V2.5C0 1.1193 1.11926 0 2.5 0C3.88075 0 5 1.1193 5 2.5V10.3593C7.12075 8.31457 9.38601 6.23342 11.8325 4.51222C15.5128 1.9229 19.7882 0 25 0Z\",\n fill: color\n }));\n});\nexport default Reset;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Text = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.4229 8.89453L39.7891 16.6582H38.8613C38.6823 15.291 38.4382 14.3145 38.1289 13.7285C37.6243 12.7845 36.9489 12.0928 36.1025 11.6533C35.2725 11.1976 34.1738 10.9697 32.8066 10.9697H28.1436V36.2627C28.1436 38.2972 28.3633 39.5667 28.8027 40.0713C29.4212 40.7549 30.3734 41.0967 31.6592 41.0967H32.8066V42H18.7686V41.0967H19.9404C21.3402 41.0967 22.333 40.6735 22.9189 39.8271C23.277 39.3063 23.4561 38.1182 23.4561 36.2627V10.9697H19.4766C17.9303 10.9697 16.8317 11.0837 16.1807 11.3115C15.3343 11.6208 14.61 12.2148 14.0078 13.0938C13.4056 13.9727 13.0475 15.1608 12.9336 16.6582H12.0059L12.3965 8.89453H39.4229Z\",\n fill: color\n }));\n});\nexport default Text;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TextAlignLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 45 29\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1.89502C0 1.20466 0.559644 0.64502 1.25 0.64502H28.75C29.4404 0.64502 30 1.20466 30 1.89502C30 2.58538 29.4404 3.14502 28.75 3.14502H1.25C0.559645 3.14502 0 2.58538 0 1.89502Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 14.395C0 13.7047 0.559644 13.145 1.25 13.145H43.75C44.4404 13.145 45 13.7047 45 14.395C45 15.0854 44.4404 15.645 43.75 15.645H1.25C0.559645 15.645 0 15.0854 0 14.395Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.25 25.645C0.559644 25.645 0 26.2047 0 26.895C0 27.5854 0.559645 28.145 1.25 28.145H28.75C29.4404 28.145 30 27.5854 30 26.895C30 26.2047 29.4404 25.645 28.75 25.645H1.25Z\",\n fill: color\n }));\n});\nexport default TextAlignLeft;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var TextAlignCenter = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38 1.50049C38 0.810132 37.4404 0.250488 36.75 0.250488H9.25C8.55964 0.250488 8 0.810132 8 1.50049C8 2.19084 8.55964 2.75049 9.25 2.75049H36.75C37.4404 2.75049 38 2.19084 38 1.50049Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 14.0005C45.5 13.3101 44.9404 12.7505 44.25 12.7505H1.75C1.05964 12.7505 0.5 13.3101 0.5 14.0005C0.5 14.6908 1.05964 15.2505 1.75 15.2505H44.25C44.9404 15.2505 45.5 14.6908 45.5 14.0005Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.75 25.2505C37.4404 25.2505 38 25.8101 38 26.5005C38 27.1908 37.4404 27.7505 36.75 27.7505H9.25C8.55964 27.7505 8 27.1908 8 26.5005C8 25.8101 8.55964 25.2505 9.25 25.2505H36.75Z\",\n fill: color\n }));\n});\nexport default TextAlignCenter;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RotationLeft = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 45 43\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.66027 14.6997L3.59752 14.4437L3.09232 3.93218C3.05918 3.24262 2.47331 2.71049 1.78375 2.74363C1.09419 2.77677 0.562061 3.36263 0.595202 4.05219L1.16041 15.8123C1.19355 16.5018 1.77942 17.034 2.46898 17.0008L14.2291 16.4356C14.9186 16.4025 15.4508 15.8166 15.4176 15.1271C15.3845 14.4375 14.7986 13.9054 14.1091 13.9385L5.48447 14.353C8.23224 7.41077 15.0052 2.50049 22.925 2.50049C33.2802 2.50049 41.6748 10.8951 41.6748 21.2503C41.6748 22.4035 41.5706 23.5324 41.3713 24.6281L43.7968 25.261C44.0449 23.9622 44.1748 22.6214 44.1748 21.2503C44.1748 9.51435 34.6609 0.000488281 22.925 0.000488281C15.0467 0.000488281 8.16974 4.28779 4.50001 10.6566L2.66027 14.6997Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.88491 34.708L8.27773 36.6309C8.82614 37.1539 9.40248 37.6479 10.0043 38.1103L11.5276 36.128C10.9528 35.6863 10.4043 35.2121 9.88491 34.708Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3142 39.6567C13.9038 40.5764 15.6235 41.2961 17.439 41.7814L18.0846 39.3662C16.4846 38.9385 14.9685 38.3041 13.5662 37.4928L12.3142 39.6567Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.1654 42.3209C21.0738 42.4394 22.0002 42.5005 22.9408 42.5005C23.8815 42.5005 24.8079 42.4394 25.7162 42.3209L25.3929 39.8419C24.5915 39.9465 23.7731 40.0005 22.9408 40.0005C22.1086 40.0005 21.2902 39.9465 20.4888 39.8419L20.1654 42.3209Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.4427 41.7814C30.2582 41.2961 31.9779 40.5764 33.5674 39.6567L32.3154 37.4928C30.9132 38.3041 29.397 38.9385 27.7971 39.3662L28.4427 41.7814Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.8774 38.1103C37.3494 36.9791 38.6692 35.6594 39.8004 34.1873L37.8181 32.664C36.8193 33.9638 35.6538 35.1292 34.354 36.128L35.8774 38.1103Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.3468 31.8773C42.2665 30.2878 42.9862 28.5681 43.4715 26.7526L41.0563 26.107C40.6286 27.707 39.9942 29.2231 39.1829 30.6253L41.3468 31.8773Z\",\n fill: color\n }));\n});\nexport default RotationLeft;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RotationRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.2753 26.8064H24.4689L36.5656 14.7096C32.735 11.0806 28.7027 9.66933 23.6624 9.66933C13.3802 9.66933 6.32372 15.3145 3.50118 25.5967L0.275391 24.7903C3.50118 13.0968 11.9689 6.44355 23.6625 6.44355C29.7109 6.44355 34.348 8.25806 38.9851 12.2903L50.2754 1L50.2753 26.8064Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.5495 46.3628L33.1382 44.3467C33.743 43.9435 34.3479 43.3386 34.9527 42.9355L36.5656 44.75C35.9608 45.1532 35.3559 45.758 34.5495 46.3628Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.2913 49.387C26.6865 49.5886 26.0817 49.5886 25.4768 49.7903L25.0736 47.3709C26.4848 47.1693 27.8962 46.7661 29.3074 46.3628L30.1139 48.5806C29.1058 48.9838 28.2994 49.1854 27.2913 49.387ZM20.4365 49.9919C18.8235 49.7903 17.2107 49.5886 15.5978 48.9838L16.4042 46.766C17.8155 47.1693 19.2268 47.5724 20.6381 47.5724L20.4365 49.9919ZM11.1623 46.9677C9.75104 46.1612 8.33971 45.1532 7.13003 43.9435L8.74296 42.129C9.75104 43.137 10.9607 43.9435 12.372 44.7499L11.1623 46.9677ZM3.90425 40.3144C2.89617 38.9032 2.08974 37.2903 1.6865 35.879L3.90425 35.0726C4.50909 36.4838 5.11393 37.6935 5.92036 38.9032L3.90425 40.3144Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.2996 30.0322L0.880241 30.2338C0.678647 29.2257 0.678647 28.4193 0.678647 27.4112H3.09801C3.09801 28.4193 3.2996 29.2258 3.2996 30.0322Z\",\n fill: color\n })), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"50\",\n height: \"50\",\n fill: \"white\",\n transform: \"translate(0.275391)\"\n })));\n});\nexport default RotationRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var LockOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 51 51\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.5 20H38V12.5C38 5.6 32.4 0 25.5 0C18.6 0 13 5.6 13 12.5V20H10.5C9.1 20 8 21.1 8 22.5V47.5C8 48.9 9.1 50 10.5 50H40.5C41.9 50 43 48.9 43 47.5V22.5C43 21.1 41.9 20 40.5 20ZM15.5 12.5C15.5 7 20 2.5 25.5 2.5C31 2.5 35.5 7 35.5 12.5V20H15.5V12.5ZM40.5 47.5H10.5V22.5H40.5V47.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.3 37.3V41.3H26.8V37.3C28.3 36.8 29.3 35.4 29.3 33.8C29.3 31.7 27.6 30 25.5 30C23.4 30 21.7 31.7 21.7 33.8C21.8 35.4 22.8 36.8 24.3 37.3ZM25.5 32.5C26.2 32.5 26.8 33.1 26.8 33.8C26.8 34.5 26.2 35.1 25.5 35.1C24.8 35.1 24.2 34.5 24.2 33.8C24.3 33.1 24.8 32.5 25.5 32.5Z\",\n fill: color\n }));\n});\nexport default LockOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var UnlockOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.2754 7.5C34.2754 3.1 29.8754 0 24.7754 0C17.8754 0 12.2754 5.6 12.2754 12.5V20H9.77539C8.37539 20 7.27539 21.1 7.27539 22.5V47.5C7.27539 48.9 8.37539 50 9.77539 50H39.7754C41.1754 50 42.2754 48.9 42.2754 47.5V22.5C42.2754 21.1 41.1754 20 39.7754 20H14.7754V12.5C14.7754 7 19.2754 2.5 24.7754 2.5C28.4754 2.5 31.7754 4.5 33.4754 7.6L36.2754 7.5ZM39.7754 47.5H9.77539V22.5H39.7754V47.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7754 30C22.6754 30 20.9754 31.7 20.9754 33.7C20.9754 35.3 21.9754 36.7 23.4754 37.2V41.2H25.9754V37.2C27.4754 36.7 28.4754 35.3 28.4754 33.7C28.5754 31.7 26.8754 30 24.7754 30ZM24.7754 35C24.0754 35 23.4754 34.4 23.4754 33.7C23.4754 33 24.0754 32.4 24.7754 32.4C25.4754 32.4 25.9754 33 25.9754 33.7C25.9754 34.4 25.4754 35 24.7754 35Z\",\n fill: color\n }));\n});\nexport default UnlockOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Point = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"25\",\n r: \"8.33333\",\n fill: color\n }));\n});\nexport default Point;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var About = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.6793 7.32203C32.916 -2.44013 17.0863 -2.44122 7.32197 7.32203C-2.44128 17.0853 -2.4402 32.915 7.32197 42.6793C17.0852 52.4404 32.9149 52.4415 42.6793 42.6793C52.4414 32.915 52.4403 17.0864 42.6793 7.32203ZM28.2605 35.8705C28.2605 37.6716 26.8007 39.1314 24.9995 39.1314C23.1984 39.1314 21.7386 37.6716 21.7386 35.8705V22.8267C21.7386 21.0256 23.1984 19.5658 24.9995 19.5658C26.8007 19.5658 28.2605 21.0256 28.2605 22.8267V35.8705ZM24.9419 17.2527C23.0636 17.2527 21.8114 15.9222 21.8506 14.2798C21.8114 12.558 23.0636 11.2678 24.98 11.2678C26.8974 11.2678 28.1105 12.5591 28.1507 14.2798C28.1496 15.9222 26.8985 17.2527 24.9419 17.2527Z\",\n fill: color\n }));\n});\nexport default About;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Warning = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9856 38.314L31.3034 3.80423C29.9688 1.42247 27.6118 0 24.9985 0C22.3852 0 20.0282 1.42247 18.6936 3.80423C18.6836 3.82245 18.6751 3.84067 18.665 3.8589L1.04158 38.2594C-0.321602 40.6914 -0.347383 43.612 0.971367 46.0713C2.29314 48.5321 4.67439 50 7.345 50H42.5544C45.225 50 47.7041 48.5321 49.0258 46.0713C50.3445 43.6121 50.3188 40.6913 48.9856 38.314ZM22.0659 15.8013C22.0659 14.0842 23.3789 12.6924 24.9985 12.6924C26.6182 12.6924 27.9311 14.0843 27.9311 15.8013V28.2372C27.9311 29.9541 26.6181 31.3462 24.9985 31.3462C23.3789 31.3462 22.0659 29.954 22.0659 28.2372V15.8013ZM24.9985 43.7821C22.5728 43.7821 20.5995 41.6902 20.5995 39.1186C20.5995 36.5471 22.5727 34.4552 24.9985 34.4552C27.4242 34.4552 29.3974 36.5471 29.3974 39.1186C29.3975 41.6901 27.4243 43.7821 24.9985 43.7821Z\",\n fill: color\n }));\n});\nexport default Warning;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var InfoOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 50C11.2033 50 0 38.7967 0 25C0 11.2033 11.2033 0 25 0C38.7967 0 50 11.2033 50 25C50 38.7967 38.6929 50 25 50ZM25 3.52697C13.1743 3.52697 3.63071 13.1743 3.63071 24.8963C3.63071 36.6183 13.278 46.2656 25 46.2656C36.8257 46.2656 46.3693 36.6183 46.3693 24.8963C46.3693 13.1743 36.8257 3.52697 25 3.52697Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.3755 13.125C28.3755 11.3992 26.9765 10 25.2505 10C23.5245 10 22.1255 11.3992 22.1255 13.125C22.1255 14.8516 23.5245 16.25 25.2505 16.25C26.9765 16.25 28.3755 14.8516 28.3755 13.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.563 38.5H29.938C30.8009 38.5 31.5005 37.8012 31.5005 36.9375C31.5005 36.0746 30.8009 35.375 29.938 35.375H28.3755V20.9375C28.3755 20.0746 27.6759 19.375 26.813 19.375H20.563C19.7001 19.375 19.0005 20.0746 19.0005 20.9375C19.0005 21.8012 19.7001 22.5 20.563 22.5H22.1255V35.375H20.563C19.7001 35.375 19.0005 36.0746 19.0005 36.9375C19.0005 37.8012 19.7001 38.5 20.563 38.5Z\",\n fill: color\n }));\n});\nexport default InfoOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ImageOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.3032 17.8662C34.0646 17.8662 36.3032 15.6276 36.3032 12.8662C36.3032 10.1048 34.0646 7.86618 31.3032 7.86618C28.5418 7.86618 26.3032 10.1048 26.3032 12.8662C26.3032 15.6276 28.5418 17.8662 31.3032 17.8662ZM31.3032 15.3662C32.6839 15.3662 33.8032 14.2469 33.8032 12.8662C33.8032 11.4855 32.6839 10.3662 31.3032 10.3662C29.9225 10.3662 28.8032 11.4855 28.8032 12.8662C28.8032 14.2469 29.9225 15.3662 31.3032 15.3662Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.9372 15.1063C16.3967 15.0794 16.8338 15.3071 17.075 15.6991L25.0831 28.7141L29.8357 24.4289C30.0935 24.1966 30.4362 24.0818 30.7819 24.1121C31.1276 24.1424 31.4452 24.3151 31.6586 24.5887L40.2822 35.6497C40.5759 36.0264 40.6292 36.5376 40.4196 36.9668C40.21 37.396 39.7741 37.6683 39.2964 37.6683H6.70331C6.2766 37.6683 5.87937 37.4506 5.64974 37.091C5.42011 36.7313 5.38981 36.2794 5.56937 35.8923L14.8765 15.8282C15.0702 15.4106 15.4777 15.1333 15.9372 15.1063ZM16.1652 18.991L8.66108 35.1683H36.7368L30.5126 27.1848L25.6422 31.5761C25.3666 31.8246 24.9947 31.9378 24.6274 31.885C24.26 31.8322 23.9351 31.6189 23.7406 31.3027L16.1652 18.991Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z\",\n fill: color\n }));\n});\nexport default ImageOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Custom = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.562515 0.562512H3.68752V2.90626H2.90627V3.68751H0.562515V0.562512ZM0.562515 44.3125V47.4375H3.68752V45.0938H2.90627V44.3125H0.562515ZM44.3125 47.4375H47.4375V44.3125H45.0938V45.0938H44.3125V47.4375ZM47.4375 3.68751V0.562512H44.3125V2.90626H45.0938V3.68751H47.4375ZM7.59376 0.562512V3.68751H12.2813V0.562512H7.59376ZM16.9688 0.562512V3.68751H21.6563V0.562512H16.9688ZM26.3438 0.562512V3.68751H31.0313V0.562512H26.3438ZM35.7188 0.562512V3.68751H40.4063V0.562512H35.7188ZM47.4375 7.59376H44.3125V12.2813H47.4375V7.59376ZM47.4375 16.9688H44.3125V21.6563H47.4375V16.9688ZM47.4375 26.3438H44.3125V31.0313H47.4375V26.3438ZM47.4375 35.7188H44.3125V40.4063H47.4375V35.7188ZM40.4063 47.4375V44.3125H35.7188V47.4375H40.4063ZM31.0313 47.4375V44.3125H26.3438V47.4375H31.0313ZM21.6563 47.4375V44.3125H16.9688V47.4375H21.6563ZM12.2813 47.4375V44.3125H7.59377V47.4375H12.2813ZM0.562515 40.4063H3.68752V35.7188H0.562515V40.4063ZM0.562515 31.0313H3.68752V26.3438H0.562515V31.0313ZM0.562515 21.6563H3.68752V16.9688H0.562515V21.6563ZM0.562515 12.2813H3.68752V7.59376H0.562515V12.2813Z\",\n fill: color\n }));\n});\nexport default Custom;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FlipY = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.5001 24.0625C38.2086 24.0625 38.8284 23.5858 39.0102 22.901C39.1921 22.2162 38.8904 21.4948 38.2753 21.1433L3.27531 1.14333C2.79171 0.866989 2.19757 0.868973 1.71583 1.14854C1.23409 1.4281 0.937592 1.94298 0.937592 2.49996V22.5C0.937592 23.3629 1.63715 24.0625 2.50009 24.0625L37.5001 24.0625ZM4.06259 20.9375L4.06259 5.19243L31.6164 20.9375L4.06259 20.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.2753 28.8566C38.8904 28.5051 39.1921 27.7837 39.0102 27.0989C38.8284 26.4142 38.2086 25.9375 37.5001 25.9375H35.3126V26.9504L34.5374 27.3933L35.3126 28.75V29.0625H35.4912L36.0878 30.1066L38.2753 28.8566Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3378 35.1066L31.7128 32.6066L30.1624 29.8933L25.7874 32.3933L27.3378 35.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.9376 25.9375H26.5626L26.5626 29.0625H30.9376L30.9376 25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5878 40.1066L22.9628 37.6066L21.4124 34.8933L17.0374 37.3933L18.5878 40.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1876 25.9375H17.8126V29.0625H22.1876V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.83781 45.1066L14.2128 42.6066L12.6624 39.8933L8.28738 42.3933L9.83781 45.1066Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4376 25.9375H9.0626V29.0625H13.4376V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.27531 48.8566L5.46281 47.6066L4.06259 45.1562V45H3.97331L3.91238 44.8933L3.72578 45H0.937592V47.5C0.937592 48.0569 1.23409 48.5718 1.71583 48.8514C2.19758 49.1309 2.79171 49.1329 3.27531 48.8566Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.6876 25.9375L2.50009 25.9375C1.63715 25.9375 0.937592 26.637 0.937592 27.5V30H4.06259V29.0625H4.6876V25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.937592 35V40L4.06259 40V35H0.937592Z\",\n fill: color\n }));\n});\nexport default FlipY;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FlipX = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M24.0625 1.93758C24.0625 1.22909 23.5858 0.609274 22.901 0.427427C22.2163 0.245581 21.4949 0.547225 21.1434 1.16237L1.14337 39.2874C0.867028 39.771 0.869012 40.3651 1.14858 40.8468C1.42814 41.3286 1.94302 41.6251 2.5 41.6251H22.5C23.3629 41.6251 24.0625 40.9255 24.0625 40.0626V1.93758ZM20.9375 38.5001H5.19247L20.9375 7.82128V38.5001Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.8566 1.16237C28.5051 0.547225 27.7837 0.245581 27.099 0.427428C26.4142 0.609274 25.9375 1.22909 25.9375 1.93758V4.12508H26.9504L27.3934 4.9003L28.75 4.12508H29.0625V3.94651L30.1066 3.34986L28.8566 1.16237Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.1066 12.0999L32.6066 7.72486L29.8934 9.2753L32.3934 13.6503L35.1066 12.0999Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 8.50008V12.8751H29.0625V8.50008H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.1066 23.9749L37.6066 19.5999L34.8934 21.1503L37.3934 25.5253L40.1066 23.9749Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 20.3751V24.7501H29.0625V20.3751H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1066 32.7249L42.6066 28.3499L39.8934 29.9003L42.3934 34.2753L45.1066 32.7249Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 29.1251V33.5001H29.0625V29.1251H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.8566 39.2874L47.6066 37.0999L45.1562 38.5001H45V38.5894L44.8934 38.6503L45 38.8369V41.6251H47.5C48.057 41.6251 48.5719 41.3286 48.8514 40.8468C49.131 40.3651 49.133 39.771 48.8566 39.2874Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9375 37.8751V40.0626C25.9375 40.9255 26.6371 41.6251 27.5 41.6251H30V38.5001H29.0625V37.8751H25.9375Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35 41.6251H40V38.5001H35V41.6251Z\",\n fill: color\n }));\n});\nexport default FlipX;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Ellipse = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25.2047 46.875C37.2859 46.875 47.0797 37.0812 47.0797 25C47.0797 12.9188 37.2859 3.125 25.2047 3.125C13.1235 3.125 3.32968 12.9188 3.32968 25C3.32968 37.0812 13.1235 46.875 25.2047 46.875ZM25.2047 50C39.0118 50 50.2047 38.8071 50.2047 25C50.2047 11.1929 39.0118 0 25.2047 0C11.3976 0 0.204681 11.1929 0.204681 25C0.204681 38.8071 11.3976 50 25.2047 50Z\",\n fill: color\n }));\n});\nexport default Ellipse;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Landscape = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 51 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.11841 3.93805V32.063H47.8684V3.93805H4.11841ZM3.49341 0.813049C2.1127 0.813049 0.993408 1.91235 0.993408 3.26841V32.7327C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7327V3.26841C50.9934 1.91235 49.8741 0.813049 48.4934 0.813049H3.49341Z\",\n fill: color\n }));\n});\nexport default Landscape;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Stroke = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.50015 7.9997C5.50015 6.61898 6.61944 5.49969 8.00015 5.49969H38.0002C39.3809 5.49969 40.5002 6.61898 40.5002 7.99969V37.9997C40.5002 39.3804 39.3809 40.4997 38.0002 40.4997H8.00015C6.61944 40.4997 5.50015 39.3804 5.50015 37.9997V7.9997ZM8.00015 7.99969H38.0002V37.9997H8.00015V7.99969Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z\",\n fill: color\n }));\n});\nexport default Stroke;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Transparency = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.166672 0.166664H8.50001V8.5H0.166672V0.166664Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.8333 8.5H8.50001V16.8333H0.166672V25.1667H8.50001V33.5H0.166672V41.8333H8.50001V33.5H16.8333V41.8333H25.1667V33.5H33.5V41.8333H41.8333V33.5H33.5V25.1667H41.8333V16.8333H33.5V8.5H41.8333V0.166664H33.5V8.5H25.1667V0.166664H16.8333V8.5ZM16.8333 16.8333V8.5H25.1667V16.8333H16.8333ZM16.8333 25.1667V33.5H25.1667V25.1667H33.5V16.8333H25.1667V25.1667H16.8333ZM16.8333 25.1667H8.50001V16.8333H16.8333V25.1667Z\",\n fill: color\n }));\n});\nexport default Transparency;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Shadow = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.95831 0.458374C1.5776 0.458374 0.458313 1.57766 0.458313 2.95837V35.4584C0.458313 36.8391 1.5776 37.9584 2.95831 37.9584H7.54167V43.7917C7.54167 45.8627 9.2206 47.5417 11.2917 47.5417H43.7917C45.8627 47.5417 47.5417 45.8627 47.5417 43.7917V11.2917C47.5417 9.22059 45.8627 7.54166 43.7917 7.54166H37.9583V2.95837C37.9583 1.57766 36.839 0.458374 35.4583 0.458374H2.95831ZM35.4583 2.95837H2.95831L2.95831 35.4584H35.4583V2.95837ZM15.7267 37.9584L10.0417 43.746V37.9584H15.7267ZM11.5135 45.0417L18.4712 37.9584H28.5529L21.4696 45.0417H11.5135ZM24.4159 45.0417H34.2932L45.0417 34.1339V24.0207L37.9583 31.3242V35.4584C37.9583 36.8391 36.839 37.9584 35.4583 37.9584H31.4912C31.4689 37.9859 31.445 38.0126 31.4194 38.0382L24.4159 45.0417ZM45.0417 21.3515L37.9583 28.655V18.9107L45.0417 11.8338V21.3515ZM37.0311 45.0417H43.7917C44.482 45.0417 45.0417 44.482 45.0417 43.7917V36.9124L37.0311 45.0417ZM43.8844 10.045C43.8538 10.0428 43.8229 10.0417 43.7917 10.0417H37.9583V15.9657L43.8844 10.045Z\",\n fill: color\n }));\n});\nexport default Shadow;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var RadiusCorner = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 3H23V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V23H43V43H3V3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 7.25076H43V5.50076C43 5.15718 42.9321 4.83576 42.8113 4.54446L45.1206 3.58682C45.3651 4.17636 45.5 4.82281 45.5 5.50076V7.25076Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.75 0.500763V3.00076H28.25V0.500763H24.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.75 0.500763V3.00076H35.25V0.500763H31.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.75 0.500763V3.00076H40.5C40.8436 3.00076 41.165 3.06868 41.4563 3.18948L42.414 0.880166C41.8244 0.635694 41.178 0.500763 40.5 0.500763H38.75Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 10.7508H43V14.2508H45.5V10.7508Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.5 17.7508H43V21.2508H45.5V17.7508Z\",\n fill: color\n }));\n});\nexport default RadiusCorner;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Position = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 9.24878H11.7501V10.9675H10.9688V11.7488H9.25008V9.24878Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 34.2488V36.7488H11.7501V35.03H10.9688V34.2488H9.25008Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.2501 36.7488H36.7501V34.2488H35.0313V35.03H34.2501V36.7488Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 11.7488V9.24878H34.2501V10.9675H35.0313V11.7488H36.7501Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.4063 9.24878V11.7488H17.8438V9.24878H14.4063Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.2813 9.24878V11.7488H24.7188V9.24878H21.2813Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.1563 9.24878V11.7488H31.5938V9.24878H28.1563Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 14.405H34.2501V17.8425H36.7501V14.405Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 21.28H34.2501V24.7175H36.7501V21.28Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.7501 28.155H34.2501V31.5925H36.7501V28.155Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5938 36.7488V34.2488H28.1563V36.7488H31.5938Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7188 36.7488V34.2488H21.2813V36.7488H24.7188Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8438 36.7488V34.2488H14.4063V36.7488H17.8438Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 31.5925H11.7501V28.155H9.25008V31.5925Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 24.7175H11.7501V21.28H9.25008V24.7175Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.25008 17.8425H11.7501V14.405H9.25008V17.8425Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.0002 26.7497C25.0712 26.7497 26.7502 25.0708 26.7502 22.9997C26.7502 20.9286 25.0712 19.2497 23.0002 19.2497C20.9291 19.2497 19.2502 20.9286 19.2502 22.9997C19.2502 25.0708 20.9291 26.7497 23.0002 26.7497Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z\",\n fill: color\n }));\n});\nexport default Position;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Spacing = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.29986 0.991788C4.78802 0.503633 5.57947 0.503633 6.06763 0.991788L9.367 4.29116C9.85516 4.77932 9.85516 5.57077 9.367 6.05893C8.87885 6.54708 8.08739 6.54708 7.59924 6.05893L6.43374 4.89344V34.0829L7.59924 32.9174C8.08739 32.4293 8.87885 32.4293 9.367 32.9174C9.85516 33.4056 9.85516 34.197 9.367 34.6852L6.06763 37.9846C5.8332 38.219 5.51524 38.3507 5.18371 38.3507C4.85217 38.3507 4.53422 38.219 4.29981 37.9845L1.00084 34.6851C0.512712 34.1969 0.512761 33.4055 1.00095 32.9174C1.48913 32.4292 2.28059 32.4293 2.76871 32.9175L3.93374 34.0827V4.89344L2.76825 6.05893C2.2801 6.54708 1.48864 6.54708 1.00049 6.05893C0.51233 5.57077 0.51233 4.77932 1.00049 4.29116L4.29986 0.991788ZM13.1588 8.34109V1.49725H46.3156V8.34102H43.398V7.19776C43.398 5.54595 42.0562 4.20442 40.4047 4.20442H31.8516V26.0992C31.8516 28.1387 33.5088 29.7957 35.5481 29.7957H36.5137V32.4599H23.01V29.7957H23.9756C26.0151 29.7957 27.6721 28.1387 27.6721 26.0992V4.20448H19.0697C17.418 4.20448 16.0763 5.54604 16.0763 7.19783V8.34109H13.1588ZM46.9995 39.7088C47.4877 39.2207 47.4877 38.4292 46.9995 37.9411L43.7001 34.6417C43.212 34.1535 42.4205 34.1535 41.9324 34.6417C41.4442 35.1298 41.4442 35.9213 41.9324 36.4095L43.0979 37.5749L15.0832 37.5749L16.2484 36.4099C16.7366 35.9218 16.7366 35.1303 16.2485 34.6421C15.7604 34.154 14.9689 34.1539 14.4807 34.642L11.1814 37.941C10.9469 38.1754 10.8152 38.4934 10.8152 38.8249C10.8152 39.1564 10.9469 39.4744 11.1813 39.7088L14.4807 43.0082C14.9688 43.4964 15.7603 43.4964 16.2485 43.0082C16.7366 42.5201 16.7366 41.7286 16.2485 41.2404L15.083 40.0749L43.0979 40.0749L41.9324 41.2404C41.4442 41.7286 41.4442 42.5201 41.9324 43.0082C42.4205 43.4964 43.212 43.4964 43.7001 43.0082L46.9995 39.7088Z\",\n fill: color\n }));\n});\nexport default Spacing;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Padding = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8334 9.19949C13.8334 8.50914 14.3931 7.94949 15.0834 7.94949H31.3334C32.0238 7.94949 32.5834 8.50914 32.5834 9.19949C32.5834 9.88985 32.0238 10.4495 31.3334 10.4495H15.0834C14.3931 10.4495 13.8334 9.88985 13.8334 9.19949Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.0834 35.5496C14.3931 35.5496 13.8334 36.1092 13.8334 36.7996C13.8334 37.4899 14.3931 38.0496 15.0834 38.0496H31.3334C32.0238 38.0496 32.5834 37.4899 32.5834 36.7996C32.5834 36.1092 32.0238 35.5496 31.3334 35.5496H15.0834Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.8001 13.4163C37.4905 13.4163 38.0501 13.9759 38.0501 14.6663V30.9163C38.0501 31.6066 37.4905 32.1663 36.8001 32.1663C36.1098 32.1663 35.5501 31.6066 35.5501 30.9163V14.6663C35.5501 13.9759 36.1098 13.4163 36.8001 13.4163Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.45 14.6663C10.45 13.9759 9.89038 13.4163 9.20003 13.4163C8.50967 13.4163 7.95003 13.9759 7.95003 14.6663L7.95003 30.9163C7.95003 31.6066 8.50967 32.1663 9.20003 32.1663C9.89038 32.1663 10.45 31.6066 10.45 30.9163L10.45 14.6663Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z\",\n fill: color\n }));\n});\nexport default Padding;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Polygon = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.103 18.4866L24.0002 3.8811L3.89749 18.4866L11.5761 42.1188H36.4244L44.103 18.4866ZM25.8371 1.35293C24.7418 0.557164 23.2587 0.557162 22.1634 1.35292L2.06066 15.9584C0.96539 16.7542 0.507082 18.1647 0.925439 19.4523L8.604 43.0845C9.02236 44.372 10.2222 45.2438 11.5761 45.2438H36.4244C37.7782 45.2438 38.9781 44.372 39.3965 43.0845L47.075 19.4523C47.4934 18.1647 47.0351 16.7542 45.9398 15.9584L25.8371 1.35293Z\",\n fill: color\n }));\n});\nexport default Polygon;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PolygonSides = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 48\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.0078 29.9669H25.835L24.7803 35.9727H27.4609L28.5156 29.9669H32.2363V27.4473H28.9551L29.6875 23.2872H33.3496V20.7383H30.1416L31.2109 14.6446H28.5303L27.4609 20.7383H24.6191L25.6885 14.6446H23.0225L21.9531 20.7383H18.1006V23.2872H21.499L20.7666 27.4473H17.002V29.9669H20.3271L19.2725 35.9727H21.9531L23.0078 29.9669ZM26.2744 27.4473H23.4473L24.165 23.2872H27.0068L26.2744 27.4473Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.5448 0.821208C24.421 0.184598 25.6075 0.184597 26.4837 0.821207L48.4803 16.8026C49.3565 17.4392 49.7231 18.5677 49.3885 19.5977L40.9865 45.4562C40.6518 46.4862 39.692 47.1836 38.6089 47.1836H11.4197C10.3366 47.1836 9.37672 46.4862 9.04204 45.4562L0.640107 19.5977C0.305422 18.5677 0.672067 17.4392 1.54829 16.8026L23.5448 0.821208ZM25.0143 2.84375L47.0108 18.8252L38.6089 44.6836H11.4197L3.01775 18.8252L25.0143 2.84375Z\",\n fill: color\n }));\n});\nexport default PolygonSides;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowRight = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.5 15.0005C45.5 15.7079 45.2003 16.3822 44.6753 16.8562L30.8291 29.3562C29.8042 30.2814 28.2234 30.2006 27.2982 29.1758C26.373 28.1509 26.4537 26.57 27.4786 25.6448L36.5 17.5005L3 17.5005C1.61928 17.5005 0.499999 16.3812 0.499999 15.0005C0.499999 13.6198 1.61929 12.5005 3 12.5005L36.5 12.5005L27.4786 4.35618C26.4537 3.43096 26.373 1.85011 27.2982 0.82525C28.2234 -0.199608 29.8042 -0.280382 30.8291 0.644837L44.6753 13.1448C45.2003 13.6189 45.5 14.2931 45.5 15.0005Z\",\n fill: color\n }));\n});\nexport default ArrowRight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FontItalic = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19 48L26.9931 2H31.2019L23.2087 48H19Z\",\n fill: color\n }));\n});\nexport default FontItalic;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FontBold = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 14 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.214966 17.4813V0.518677H6.61123C8.82693 0.518677 10.5075 0.914783 11.653 1.70699C12.7985 2.49144 13.3712 3.64481 13.3712 5.16709C13.3712 5.99814 13.1413 6.7321 12.6814 7.36898C12.2216 7.99809 11.5819 8.46021 10.7625 8.75535C11.699 8.97282 12.4348 9.41164 12.9699 10.0718C13.5133 10.732 13.7851 11.5397 13.7851 12.4951C13.7851 14.1261 13.2249 15.361 12.1045 16.1998C10.9841 17.0386 9.38713 17.4658 7.31357 17.4813H0.214966ZM3.97748 10.0951V14.6736H7.20069C8.08697 14.6736 8.77677 14.4795 9.27007 14.0911C9.77174 13.695 10.0226 13.1513 10.0226 12.4601C10.0226 10.9067 9.1572 10.1184 7.42644 10.0951H3.97748ZM3.97748 7.62528H6.76173C8.65971 7.59421 9.6087 6.89132 9.6087 5.5166C9.6087 4.74769 9.36623 4.19625 8.88128 3.86228C8.4047 3.52054 7.64801 3.34967 6.61123 3.34967H3.97748V7.62528Z\",\n fill: color\n }));\n});\nexport default FontBold;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var UploadOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5911 1.54582C16.7075 0.680052 15.2937 0.680014 14.4101 1.54573L4.05296 11.6925C3.15635 12.5709 3.14159 14.0098 4.01999 14.9064C4.89839 15.8031 6.33733 15.8178 7.23394 14.9394L13.7278 8.57741V30.4419C13.7278 31.6971 14.7454 32.7147 16.0006 32.7147C17.2558 32.7147 18.2733 31.6971 18.2733 30.4419V8.57782L24.766 14.9393C25.6625 15.8178 27.1015 15.8031 27.9799 14.9065C28.8584 14.01 28.8437 12.571 27.9471 11.6926L17.5911 1.54582Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.78827 36.5543C1.53308 36.5543 0.515541 37.5719 0.515541 38.827C0.515541 40.0822 1.53308 41.0998 2.78827 41.0998H29.1519C30.4071 41.0998 31.4246 40.0822 31.4246 38.827C31.4246 37.5719 30.4071 36.5543 29.1519 36.5543H2.78827Z\",\n fill: color\n }));\n});\nexport default UploadOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowLeftOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 28 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.907 0.71085C25.7493 -0.292553 23.9445 -0.224769 22.8758 0.862251L0.931376 23.1837C-0.0773525 24.2097 -0.0773525 25.7913 0.931376 26.8173L22.8758 49.1388C23.9445 50.2258 25.7493 50.2936 26.907 49.2902C28.0647 48.2868 28.1369 46.5921 27.0683 45.5051L6.90997 25.0005L27.0683 4.49589C28.1369 3.40888 28.0647 1.71425 26.907 0.71085Z\",\n fill: color\n }));\n});\nexport default ArrowLeftOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowRightOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 28 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.09286 0.71085C2.25057 -0.292553 4.05541 -0.224769 5.12407 0.862251L27.0685 23.1837C28.0772 24.2097 28.0772 25.7913 27.0685 26.8173L5.12407 49.1388C4.05541 50.2258 2.25057 50.2936 1.09286 49.2902C-0.0648579 48.2868 -0.137051 46.5921 0.93161 45.5051L21.0899 25.0005L0.93161 4.49589C-0.137051 3.40888 -0.0648579 1.71425 1.09286 0.71085Z\",\n fill: color\n }));\n});\nexport default ArrowRightOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PlusOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.9167 27.0838L22.9167 41.6672C22.9167 42.8177 23.8494 43.7505 25 43.7505C26.1506 43.7505 27.0833 42.8177 27.0833 41.6672L27.0833 27.0838H41.6667C42.8173 27.0838 43.75 26.1511 43.75 25.0005C43.75 23.8499 42.8173 22.9172 41.6667 22.9172L27.0833 22.9172L27.0833 8.33382C27.0833 7.18323 26.1506 6.25049 25 6.25049C23.8494 6.25049 22.9167 7.18323 22.9167 8.33382L22.9167 22.9172H8.33333C7.18274 22.9172 6.25 23.8499 6.25 25.0005C6.25 26.1511 7.18274 27.0838 8.33333 27.0838H22.9167Z\",\n fill: color\n }));\n});\nexport default PlusOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowTool = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.04757 38.9503C0.437373 38.3401 0.437373 37.3508 1.04757 36.7406L33.9229 3.86697L23.8354 3.33584C22.9736 3.29047 22.3118 2.5551 22.3572 1.69335C22.4026 0.831601 23.138 0.169794 23.9997 0.215167L37.5909 0.930759C38.3892 0.972794 39.027 1.61063 39.0691 2.40894L39.7846 16.0001C39.83 16.8619 39.1682 17.5972 38.3065 17.6426C37.4447 17.688 36.7093 17.0262 36.664 16.1644L36.1328 6.07651L3.25728 38.9503C2.64708 39.5605 1.65776 39.5605 1.04757 38.9503Z\",\n fill: color\n }));\n});\nexport default ArrowTool;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Compare = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.1607 4.16667V2.08333C27.1607 0.93274 26.2279 0 25.0773 0C23.9267 0 22.994 0.932741 22.994 2.08333V4.16667H4.244C1.94281 4.16667 0.0773315 6.03215 0.0773315 8.33333V41.6667C0.0773315 43.9679 1.94281 45.8333 4.244 45.8333H22.994V47.9167C22.994 49.0673 23.9267 50 25.0773 50C26.2279 50 27.1607 49.0673 27.1607 47.9167V45.8333H45.9107C48.2118 45.8333 50.0773 43.9678 50.0773 41.6667V8.33333C50.0773 6.03215 48.2119 4.16667 45.9107 4.16667H27.1607ZM22.994 8.33333H4.244L4.244 41.6667H22.994V8.33333ZM27.1607 41.6667V8.33333H45.9107V41.6667H27.1607Z\",\n fill: color\n }));\n});\nexport default Compare;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MinusOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 38 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M35.835 5.0769L2.16498 5.0769C1.00277 5.0769 0.0606079 4.14726 0.0606079 3.00048C0.060608 1.85371 1.00277 0.924072 2.16498 0.924072L35.835 0.924074C36.9972 0.924074 37.9394 1.85372 37.9394 3.00049C37.9394 4.14726 36.9972 5.0769 35.835 5.0769Z\",\n fill: color\n }));\n});\nexport default MinusOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Temprature = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.48799 3.125H17.0311L17.0311 24.4063C17.0311 26.6148 18.1889 28.4084 19.5429 29.5401C21.7011 31.3438 23.0656 34.0456 23.0656 37.069C23.0656 42.4847 18.6753 46.875 13.2595 46.875C7.84382 46.875 3.45351 42.4847 3.45351 37.069C3.45351 34.0456 4.81799 31.3438 6.97617 29.5401C8.33021 28.4084 9.48799 26.6148 9.48799 24.4063V3.125ZM20.1561 3.125C20.1561 1.39911 18.757 0 17.0311 0H9.48799C7.7621 0 6.36299 1.39911 6.36299 3.125V24.4063C6.36299 25.4785 5.79482 26.4547 4.97216 27.1423C2.13398 29.5143 0.328506 33.0808 0.328506 37.069C0.328506 44.2106 6.11793 50 13.2595 50C20.4012 50 26.1906 44.2106 26.1906 37.069C26.1906 33.0808 24.3851 29.5143 21.5469 27.1423C20.7243 26.4547 20.1561 25.4785 20.1561 24.4063V3.125ZM35.6715 1.25C35.6715 0.559645 35.1119 0 34.4215 0H28.1715C27.4812 0 26.9215 0.559644 26.9215 1.25C26.9215 1.94036 27.4812 2.5 28.1715 2.5L34.4215 2.5C35.1119 2.5 35.6715 1.94036 35.6715 1.25ZM35.6715 8.24951C35.6715 7.55916 35.1119 6.99951 34.4215 6.99951H28.1715C27.4812 6.99951 26.9215 7.55916 26.9215 8.24951C26.9215 8.93987 27.4812 9.49951 28.1715 9.49951H34.4215C35.1119 9.49951 35.6715 8.93987 35.6715 8.24951ZM34.4215 13.999C35.1119 13.999 35.6715 14.5587 35.6715 15.249C35.6715 15.9394 35.1119 16.499 34.4215 16.499H28.1715C27.4812 16.499 26.9215 15.9394 26.9215 15.249C26.9215 14.5587 27.4812 13.999 28.1715 13.999H34.4215ZM13.2594 43.7501C16.366 43.7501 18.8844 41.2317 18.8844 38.1251C18.8844 35.4037 16.9519 33.1337 14.3844 32.6126V10.3662C14.3844 9.67582 13.8247 9.11617 13.1344 9.11617C12.444 9.11617 11.8844 9.67582 11.8844 10.3662V32.6694C9.44245 33.2829 7.63441 35.4928 7.63441 38.1251C7.63441 41.2317 10.1528 43.7501 13.2594 43.7501Z\",\n fill: color\n }));\n});\nexport default Temprature;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Contrast = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.4376 40.6858V38.5625V4.18746V3.31418C10.8133 4.10816 3.25006 12.1708 3.25006 22C3.25006 31.8292 10.8133 39.8918 20.4376 40.6858ZM40.7501 22C40.7501 31.8292 33.1868 39.8918 23.5626 40.6858V38.5625V4.18746V3.31418C33.1868 4.10816 40.7501 12.1708 40.7501 22ZM43.8751 22C43.8751 34.0812 34.0813 43.875 22.0001 43.875C9.91883 43.875 0.125061 34.0812 0.125061 22C0.125061 9.91877 9.91883 0.125 22.0001 0.125C34.0813 0.125 43.8751 9.91877 43.8751 22Z\",\n fill: color\n }));\n});\nexport default Contrast;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var FineTune = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.3679 7.50003C15.7995 10.005 13.5592 11.875 10.8823 11.875C8.20528 11.875 5.96506 10.005 5.39665 7.50003H1.5448C0.854444 7.50003 0.2948 6.94039 0.2948 6.25003C0.2948 5.55967 0.854444 5.00003 1.5448 5.00003H5.39665C5.96506 2.49504 8.20528 0.625031 10.8823 0.625031C13.5592 0.625031 15.7995 2.49504 16.3679 5.00003H48.4557C49.1461 5.00003 49.7057 5.55967 49.7057 6.25003C49.7057 6.94039 49.1461 7.50003 48.4557 7.50003H16.3679ZM14.0073 6.25003C14.0073 7.97592 12.6082 9.37503 10.8823 9.37503C9.15637 9.37503 7.75726 7.97592 7.75726 6.25003C7.75726 4.52414 9.15637 3.12503 10.8823 3.12503C12.6082 3.12503 14.0073 4.52414 14.0073 6.25003Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.5715 27.625C37.2485 27.625 39.4887 25.755 40.0571 23.25H48.4554C49.1458 23.25 49.7054 22.6904 49.7054 22C49.7054 21.3096 49.1458 20.75 48.4554 20.75H40.0571C39.4887 18.245 37.2485 16.375 34.5715 16.375C31.8946 16.375 29.6543 18.245 29.0859 20.75H1.5448C0.854444 20.75 0.2948 21.3096 0.2948 22C0.2948 22.6904 0.854444 23.25 1.5448 23.25H29.0859C29.6543 25.755 31.8946 27.625 34.5715 27.625ZM34.5715 25.125C36.2974 25.125 37.6965 23.7259 37.6965 22C37.6965 20.2741 36.2974 18.875 34.5715 18.875C32.8456 18.875 31.4465 20.2741 31.4465 22C31.4465 23.7259 32.8456 25.125 34.5715 25.125Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.7702 39C22.2018 41.505 19.9615 43.375 17.2845 43.375C14.6076 43.375 12.3673 41.505 11.7989 39H1.5448C0.854444 39 0.2948 38.4403 0.2948 37.75C0.2948 37.0596 0.854444 36.5 1.5448 36.5H11.7989C12.3673 33.995 14.6076 32.125 17.2845 32.125C19.9615 32.125 22.2018 33.995 22.7702 36.5H48.4554C49.1458 36.5 49.7054 37.0596 49.7054 37.75C49.7054 38.4403 49.1458 39 48.4554 39H22.7702ZM20.4095 37.75C20.4095 39.4759 19.0104 40.875 17.2845 40.875C15.5587 40.875 14.1595 39.4759 14.1595 37.75C14.1595 36.0241 15.5587 34.625 17.2845 34.625C19.0104 34.625 20.4095 36.0241 20.4095 37.75Z\",\n fill: color\n }));\n});\nexport default FineTune;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Saturation = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M37.2341 37.6984H37.5121V37.4237C41.4447 33.4687 43.875 28.0182 43.875 22C43.875 15.9819 41.4447 10.5314 37.5121 6.57632V6.30045H37.2328C33.2942 2.47819 27.9219 0.125031 22 0.125031C9.91877 0.125031 0.125 9.9188 0.125 22C0.125 34.0813 9.91877 43.875 22 43.875C24.718 43.875 27.3203 43.3793 29.7213 42.4733H30.5303V42.1494C33.0389 41.0861 35.308 39.5679 37.2341 37.6984ZM20.4257 3.31519C10.807 4.1148 3.25 12.1749 3.25 22C3.25 31.8252 10.807 39.8853 20.4257 40.6849V3.31519ZM34.3871 36.0759C33.221 37.1029 31.9263 37.9873 30.5303 38.7017V5.29836C31.9263 6.01281 33.221 6.89715 34.3871 7.92411V36.0759ZM37.5121 11.4641C39.5556 14.4669 40.75 18.094 40.75 22C40.75 25.9061 39.5556 29.5332 37.5121 32.536V11.4641ZM23.5507 40.6868C24.8796 40.578 26.1693 40.3307 27.4053 39.9592V4.04089C26.1693 3.66941 24.8796 3.42203 23.5507 3.31324V40.6868Z\",\n fill: color\n }));\n});\nexport default Saturation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Annotate = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.1442 31.379C45.4585 31.379 44.8974 31.9429 44.8974 32.6321V43.7349C44.8974 45.8025 43.2267 47.4817 41.157 47.4943H6.22156C4.16433 47.4943 2.49361 45.8151 2.48114 43.7349V11.1283C2.48114 9.06067 4.15186 7.38147 6.22156 7.36894H17.2807C17.9665 7.36894 18.5275 6.80503 18.5275 6.1158C18.5275 5.42658 17.9665 4.86267 17.2807 4.86267H6.22156C2.79284 4.8752 0 7.66969 0 11.1283V43.7349C0 47.1935 2.79284 50.0005 6.22156 50.0005H41.157C44.5982 50.0005 47.3786 47.1935 47.3786 43.7474V32.6321C47.391 31.9429 46.83 31.379 46.1442 31.379Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.8923 1.65462C44.698 -0.55089 41.157 -0.55089 38.9627 1.65462L16.7571 23.9729C16.6075 24.1233 16.4953 24.3113 16.4329 24.5243L13.5154 35.1258C13.3907 35.5644 13.5154 36.0281 13.8396 36.3413C14.1513 36.6546 14.6251 36.7799 15.049 36.6672L25.5969 33.7348C25.8089 33.6722 25.9959 33.5719 26.1455 33.409L48.3636 11.0782C50.5455 8.87267 50.5455 5.31377 48.3636 3.10826L46.8923 1.65462ZM19.4751 24.7875L37.6535 6.51678L43.5135 12.4065L25.3351 30.6897L19.4751 24.7875ZM18.3031 27.1559L22.9911 31.8677L16.5077 33.6722L18.3031 27.1559ZM46.5931 9.31127L45.2715 10.6396L39.4115 4.74986L40.7331 3.42154C41.9425 2.206 43.9249 2.206 45.1343 3.42154L46.5931 4.88771C47.815 6.11578 47.815 8.09573 46.5931 9.31127Z\",\n fill: color\n }));\n});\nexport default Annotate;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Blur = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.3626 41.293C17.5103 41.4285 16.7096 40.8474 16.5742 39.9952C16.4387 39.143 17.0198 38.3423 17.872 38.2068C18.2902 38.1403 18.6988 38.0456 19.0958 37.9246C21.9368 37.059 24.1957 34.8468 25.1254 32.0335C25.2671 31.6049 25.378 31.1621 25.4555 30.7076C25.6005 29.857 26.4076 29.2849 27.2583 29.4299C28.109 29.5749 28.681 30.3821 28.536 31.2327C28.432 31.8429 28.283 32.4379 28.0926 33.0142C26.8449 36.7893 23.8206 39.7519 20.0065 40.914C19.4728 41.0766 18.9239 41.2038 18.3626 41.293Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M33.9356 31.0645C33.9356 23.9644 24.1764 8.59028 19.4747 1.59549C18.2785 -0.184172 15.7216 -0.184172 14.5254 1.59548C9.82374 8.59028 0.0645752 23.9644 0.0645752 31.0645C0.0645752 40.4177 7.64685 48 17.0001 48C26.3533 48 33.9356 40.4177 33.9356 31.0645ZM30.8106 31.0645C30.8106 29.8836 30.375 28.0316 29.4236 25.578C28.5 23.1959 27.1988 20.5159 25.7187 17.7756C22.8106 12.3913 19.3287 6.98743 17.0001 3.51586C14.6715 6.98743 11.1895 12.3913 8.28145 17.7756C6.80135 20.5159 5.50017 23.1959 4.57655 25.578C3.62517 28.0316 3.18958 29.8836 3.18958 31.0645C3.18958 38.6918 9.37274 44.875 17.0001 44.875C24.6274 44.875 30.8106 38.6918 30.8106 31.0645Z\",\n fill: color\n }));\n});\nexport default Blur;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var PinOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.0081 15.2287L36.7869 17.6214L28.935 29.9601C30.5809 33.9266 30.3662 38.0903 27.1408 41.3158L26.5656 41.8909C25.9554 42.5011 24.9661 42.5011 24.3559 41.8909L14.4122 31.9472L2.99211 43.3673C2.38192 43.9775 1.3926 43.9775 0.782403 43.3673C0.17221 42.7571 0.172211 41.7678 0.782403 41.1576L12.2025 29.7375L2.25883 19.7938C1.64864 19.1836 1.64864 18.1943 2.25883 17.5841L2.50512 17.3378C5.73058 14.1123 10.2231 13.5688 14.1897 15.2147L26.5283 7.36283L28.9211 1.14165C29.327 0.0863053 30.6847 -0.201832 31.4843 0.597706L43.552 12.6655C44.3516 13.465 44.0634 14.8228 43.0081 15.2287ZM29.0752 9.44618L30.9747 4.50752L39.6422 13.1751L34.7035 15.0745L25.4251 29.655L26.0486 31.1577C27.234 34.0146 27.0773 36.5309 25.4342 38.5498L5.64209 18.7576C7.75439 17.2384 10.4304 17.0382 12.992 18.1011L14.4948 18.7246L29.0752 9.44618Z\",\n fill: color\n }));\n});\nexport default PinOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Duplicate = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z\",\n fill: color\n }));\n});\nexport default Duplicate;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var DeleteOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8571 19.6429C17.8571 18.6566 18.6566 17.8571 19.6429 17.8571C20.6291 17.8571 21.4286 18.6566 21.4286 19.6429L21.4286 37.5C21.4286 38.4862 20.6291 39.2857 19.6429 39.2857C18.6566 39.2857 17.8571 38.4862 17.8571 37.5L17.8571 19.6429Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.3571 17.8571C29.3709 17.8571 28.5714 18.6566 28.5714 19.6429L28.5714 37.5C28.5714 38.4862 29.3709 39.2857 30.3571 39.2857C31.3434 39.2857 32.1429 38.4862 32.1429 37.5V19.6429C32.1429 18.6566 31.3434 17.8571 30.3571 17.8571Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.2857 7.14286V3.57143C14.2857 1.59898 15.8847 0 17.8571 0H32.1429C34.1153 0 35.7143 1.59898 35.7143 3.57143V7.14286H48.2143C49.2005 7.14286 50 7.94235 50 8.92857C50 9.91479 49.2005 10.7143 48.2143 10.7143H44.6429V46.4286C44.6429 48.401 43.0439 50 41.0714 50H8.92857C6.95613 50 5.35714 48.401 5.35714 46.4286V10.7143L1.78571 10.7143C0.799491 10.7143 0 9.91479 0 8.92857C0 7.94235 0.799492 7.14286 1.78571 7.14286H14.2857ZM17.8571 3.57143H32.1429V7.14286H17.8571V3.57143ZM8.92857 10.7143L8.92857 46.4286H41.0714V10.7143H8.92857Z\",\n fill: color\n }));\n});\nexport default DeleteOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var CropFrame = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 3H31.75V0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V14.25H43V3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 14.25V3H14.25V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V14.25H3Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 31.75V43C0.5 44.3807 1.61929 45.5 3 45.5H14.25V43H3V31.75H0.5Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43 31.75H45.5V43C45.5 44.3807 44.3807 45.5 43 45.5H31.75V43H43V31.75Z\",\n fill: color\n }));\n});\nexport default CropFrame;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Portrait = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 36 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.0559 46.8755L32.0559 3.12555L3.93091 3.12555L3.93091 46.8755H32.0559ZM35.1809 3.12555C35.1809 1.39966 33.7818 0.000549316 32.0559 0.000549316H3.93091C2.20502 0.000549316 0.805908 1.39966 0.805908 3.12555V46.8755C0.805908 48.6014 2.20502 50.0005 3.93091 50.0005H32.0559C33.7818 50.0005 35.1809 48.6014 35.1809 46.8755L35.1809 3.12555Z\",\n fill: color\n }));\n});\nexport default Portrait;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var WarningOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M45.961 39.0119L28.2837 7.27185C27.5934 6.17538 26.3971 5.5 24.9981 5.5C23.5956 5.5 22.3967 6.17887 21.7073 7.28034L4.06571 38.9613L4.03009 39.0197C3.33595 40.159 3.32316 41.4697 3.9939 42.6216C4.67405 43.786 5.89 44.5 7.34459 44.5H42.554C44.0596 44.5 45.3464 43.7436 46.0016 42.6231C46.6817 41.4564 46.652 40.1455 45.9968 39.0706L45.961 39.0119ZM49.0254 44.3856C47.7038 46.6495 45.2246 48 42.554 48H7.34459C4.67398 48 2.29272 46.6495 0.970942 44.3856C-0.347811 42.1231 -0.322029 39.4361 1.04116 37.1987L18.6646 5.55018C18.6697 5.5418 18.6743 5.53342 18.6789 5.52504C18.6836 5.51666 18.6882 5.50828 18.6932 5.49989C20.0278 3.30867 22.3849 2 24.9981 2C27.6114 2 29.9685 3.30867 31.303 5.49989L48.9853 37.2489C50.3185 39.436 50.3442 42.1232 49.0254 44.3856Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.0001 16C22.0001 14.3431 23.3433 13 25.0001 13C26.657 13 28.0001 14.3431 28.0001 16V28C28.0001 29.6569 26.657 31 25.0001 31C23.3433 31 22.0001 29.6569 22.0001 28V16Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.0001 37C28.0001 38.6569 26.657 40 25.0001 40C23.3433 40 22.0001 38.6569 22.0001 37C22.0001 35.3431 23.3433 34 25.0001 34C26.657 34 28.0001 35.3431 28.0001 37Z\",\n fill: color\n }));\n});\nexport default WarningOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Error = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.5 20.5001C16.0228 20.5001 20.5 16.023 20.5 10.5001C20.5 4.97727 16.0228 0.500122 10.5 0.500122C4.97715 0.500122 0.5 4.97727 0.5 10.5001C0.5 16.023 4.97715 20.5001 10.5 20.5001ZM15.4375 7.0912L11.8155 10.7132L15.4638 14.309C15.6213 14.4665 15.7 14.6503 15.7 14.8865C15.7 15.1227 15.6213 15.3064 15.4638 15.4639C15.3063 15.6214 15.1226 15.7001 14.8864 15.7001C14.6501 15.7001 14.4664 15.6214 14.3089 15.4639L10.6869 11.8419L7.06483 15.4639C6.77612 15.7789 6.25118 15.7789 5.93622 15.4639C5.77874 15.3064 5.7 15.0964 5.7 14.8865C5.7 14.6765 5.77874 14.4928 5.93622 14.3353L9.55827 10.7132L5.93622 7.0912C5.77874 6.93372 5.7 6.72374 5.7 6.51377C5.7 6.3038 5.77874 6.12007 5.93622 5.96259C6.25118 5.64763 6.74987 5.64763 7.06483 5.96259L10.6869 9.58464L14.3089 5.93634C14.5976 5.62138 15.1226 5.62138 15.4375 5.93634C15.595 6.09382 15.6738 6.27755 15.6738 6.51377C15.6738 6.74999 15.595 6.93372 15.4375 7.0912Z\",\n fill: color\n }));\n});\nexport default Error;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ErrorOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.3438 16.4782L28.2887 25.5333L37.4095 34.5228C37.8032 34.9165 38 35.3758 38 35.9664C38 36.5569 37.8032 37.0162 37.4095 37.4099C37.0158 37.8036 36.5564 38.0005 35.9659 38.0005C35.3753 38.0005 34.916 37.8036 34.5223 37.4099L25.4672 28.3548L16.4121 37.4099C15.6903 38.1973 14.378 38.1973 13.5906 37.4099C13.1969 37.0162 13 36.4913 13 35.9664C13 35.4414 13.1969 34.9821 13.5906 34.5884L22.6457 25.5333L13.5906 16.4782C13.1969 16.0845 13 15.5595 13 15.0346C13 14.5097 13.1969 14.0504 13.5906 13.6567C14.378 12.8693 15.6247 12.8693 16.4121 13.6567L25.4672 22.7118L34.5223 13.591C35.2441 12.8036 36.5564 12.8036 37.3438 13.591C37.7375 13.9847 37.9344 14.4441 37.9344 15.0346C37.9344 15.6252 37.7375 16.0845 37.3438 16.4782Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M-0.000488281 25.0005C-0.000488281 38.7972 11.2028 50.0005 24.9995 50.0005C38.6925 50.0005 49.9995 38.7972 49.9995 25.0005C49.9995 11.2038 38.7962 0.000488281 24.9995 0.000488281C11.2028 0.000488281 -0.000488281 11.2038 -0.000488281 25.0005ZM3.63022 24.8968C3.63022 13.1748 13.1738 3.52746 24.9995 3.52746C36.8252 3.52746 46.3688 13.1748 46.3688 24.8968C46.3688 36.6187 36.8252 46.266 24.9995 46.266C13.2775 46.266 3.63022 36.6187 3.63022 24.8968Z\",\n fill: color\n }));\n});\nexport default ErrorOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Loading = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9338 5.26853C27.8524 4.75154 25.7006 4.56814 23.5381 4.72351C22.4874 4.799 21.4379 4.95535 20.4183 5.18855L19.3724 0.636496C20.6245 0.350265 21.9128 0.158175 23.2017 0.065597C25.8579 -0.125223 28.5034 0.100753 31.0653 0.737277L29.9338 5.26853Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.9\",\n d: \"M40.6131 11.9278C38.5498 9.48098 35.9044 7.52805 32.963 6.2805L34.7952 1.98303C38.4106 3.51633 41.6615 5.91575 44.1962 8.922L40.6131 11.9278Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.8\",\n d: \"M45.3329 23.5739L45.3303 23.5392C45.097 20.3085 44.1359 17.275 42.4734 14.5227L46.4838 12.1129C48.5302 15.501 49.7133 19.2325 50 23.2036L45.3329 23.5739Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.7\",\n d: \"M46.2688 38.2308L42.2981 35.7565C43.9958 33.0458 45.0372 29.9357 45.3095 26.7618L49.9744 27.1604C49.639 31.0674 48.3577 34.8958 46.2688 38.2308Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.6\",\n d: \"M34.4209 48.1735L32.6626 43.8456C35.6192 42.6505 38.2938 40.7405 40.3975 38.3222L43.9338 41.3828C41.3483 44.3551 38.0588 46.7033 34.4209 48.1735V48.1735Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.5\",\n d: \"M26.8033 49.9345C24.1593 50.1242 21.5262 49.9011 18.9766 49.2716L20.1013 44.7386C22.1729 45.25 24.3148 45.4309 26.4673 45.2766C27.5283 45.2004 28.5879 45.0416 29.6165 44.8049L30.6697 49.3551C29.4061 49.6459 28.1052 49.841 26.8033 49.9345V49.9345Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.4\",\n d: \"M15.2449 48.0311C11.6272 46.5033 8.37276 44.1086 5.83362 41.1063L9.412 38.0952C11.479 40.5388 14.1272 42.4877 17.0704 43.7306L15.2449 48.0311Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.3\",\n d: \"M3.54069 37.9198C1.48217 34.5223 0.292537 30.78 0.00479729 26.7959L0 26.7274L4.66972 26.3918L4.67579 26.478C4.90861 29.7017 5.87511 32.7443 7.54751 35.504L3.54069 37.9198Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n opacity: \"0.2\",\n d: \"M4.69761 23.2075L0.0335693 22.802C0.374666 18.8955 1.66191 15.0691 3.75587 11.7373L7.72274 14.2175C6.02088 16.9257 4.97478 20.0344 4.69761 23.2075V23.2075Z\",\n fill: color\n }));\n});\nexport default Loading;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ColorPicker = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 42 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.0001 6.11477C42.0001 4.48089 41.3639 2.94468 40.2086 1.78931C37.8238 -0.595528 33.9433 -0.595878 31.5582 1.78931L25.666 7.68191L22.9908 5.00654C22.5351 4.5509 21.7965 4.5509 21.3407 5.00654L17.8405 8.50695C17.3849 8.96259 17.3849 9.70141 17.8405 10.1572L20.5157 12.8325L3.63971 29.7097C3.5116 29.8378 3.41511 29.9939 3.35783 30.1658L2.27826 33.4048L1.30626 34.3769C-0.435198 36.1186 -0.435314 38.9525 1.30626 40.6943C3.04783 42.436 5.88157 42.4359 7.62314 40.6943L8.59514 39.7223L11.834 38.6426C12.0058 38.5853 12.1619 38.4888 12.29 38.3607L29.1661 21.4835L31.8413 24.1588C32.297 24.6145 33.0357 24.6145 33.4914 24.1588L36.9916 20.6584C37.4472 20.2028 37.4472 19.464 36.9916 19.0082L34.3164 16.3328L40.2086 10.4402C41.3639 9.28486 42.0001 7.74876 42.0001 6.11477ZM20.5157 26.8341H9.81507L22.1658 14.4826L27.516 19.8333L20.5157 26.8341ZM32.6663 21.6836L20.3156 9.332L22.1657 7.48168L34.5163 19.8333L32.6663 21.6836ZM38.5585 8.79014L32.6663 14.6827L27.316 9.332L33.2081 3.4394C34.6833 1.96421 37.0835 1.96409 38.5584 3.4394C40.0263 4.84774 40.0261 7.3818 38.5585 8.79014Z\",\n fill: color\n }));\n});\nexport default ColorPicker;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Menu = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 7.75049C0 6.92206 0.671573 6.25049 1.5 6.25049H48.5C49.3284 6.25049 50 6.92206 50 7.75049V9.43806C50 10.2665 49.3284 10.9381 48.5 10.9381H1.5C0.671571 10.9381 0 10.2665 0 9.43806V7.75049ZM0 24.1567C0 23.3283 0.671573 22.6567 1.5 22.6567H48.5C49.3284 22.6567 50 23.3283 50 24.1567V25.8443C50 26.6727 49.3284 27.3443 48.5 27.3443H1.5C0.671571 27.3443 0 26.6727 0 25.8443V24.1567ZM1.5 39.0629C0.671573 39.0629 0 39.7345 0 40.5629V42.2505C0 43.0789 0.671571 43.7505 1.5 43.7505H48.5C49.3284 43.7505 50 43.0789 50 42.2505V40.5629C50 39.7345 49.3284 39.0629 48.5 39.0629H1.5Z\",\n fill: color\n }));\n});\nexport default Menu;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MoveDownOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.23229 1.23267C2.20863 0.256387 3.79154 0.256434 4.76782 1.23277L22.9989 19.465L41.2323 1.23267C42.2086 0.256387 43.7915 0.256434 44.7678 1.23277C45.7441 2.20911 45.7441 3.79203 44.7677 4.76831L24.7665 24.7683C24.2977 25.2371 23.6618 25.5005 22.9987 25.5005C22.3357 25.5005 21.6998 25.2371 21.231 24.7682L1.23218 4.7682C0.255899 3.79186 0.255946 2.20895 1.23229 1.23267Z\",\n fill: color\n }));\n});\nexport default MoveDownOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var MoveUpOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 46 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.2326 1.23271C22.2089 0.256404 23.7918 0.256417 24.7681 1.23274L44.7678 21.2327C45.7441 22.2091 45.7441 23.792 44.7678 24.7683C43.7914 25.7446 42.2085 25.7446 41.2322 24.7682L23.0003 6.53602L4.76775 24.7683C3.79143 25.7446 2.20852 25.7446 1.23222 24.7682C0.255916 23.7919 0.255928 22.209 1.23225 21.2327L21.2326 1.23271Z\",\n fill: color\n }));\n});\nexport default MoveUpOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowSidebarLeftOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.7355 35.1357C27.1751 35.7705 26.2217 35.7926 25.6359 35.1773L17.3026 26.423C17.0301 26.1368 16.8819 25.755 16.8752 25.3647C16.8686 24.9745 17.0037 24.5881 17.2652 24.2923L25.5985 14.8647C26.1593 14.2302 27.1128 14.2089 27.6981 14.8247C28.2539 15.4093 28.2679 16.3516 27.7348 16.9546L20.36 25.2978L27.6974 33.0057C28.2536 33.59 28.2681 34.5323 27.7355 35.1357ZM26.6695 34.3756C26.7058 34.3748 26.753 34.3599 26.7984 34.3085C26.9042 34.1886 26.8989 33.9798 26.792 33.8676L19.0594 25.7444C18.8357 25.5095 18.829 25.1425 19.0438 24.8995L26.7983 16.1268C26.9041 16.007 26.899 15.7983 26.7921 15.6859C26.7464 15.6377 26.7001 15.6249 26.6639 15.6256C26.6276 15.6263 26.5805 15.6412 26.5351 15.6926L18.2017 25.1202C18.1562 25.1717 18.1235 25.2514 18.1251 25.3435C18.1266 25.4356 18.1619 25.5128 18.208 25.5612L26.5413 34.3154C26.5871 34.3635 26.6334 34.3763 26.6695 34.3756Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.7984 34.3085C26.753 34.3599 26.7058 34.3748 26.6695 34.3756C26.6334 34.3763 26.5871 34.3635 26.5413 34.3154L18.208 25.5612C18.1619 25.5128 18.1266 25.4356 18.1251 25.3435C18.1235 25.2514 18.1562 25.1717 18.2017 25.1202L26.5351 15.6926C26.5805 15.6412 26.6276 15.6263 26.6639 15.6256C26.7001 15.6249 26.7464 15.6377 26.7921 15.6859C26.899 15.7983 26.9041 16.007 26.7983 16.1268L19.0438 24.8995C18.829 25.1425 18.8357 25.5095 19.0594 25.7444L26.792 33.8676C26.8989 33.9798 26.9042 34.1886 26.7984 34.3085Z\",\n fill: color\n }));\n});\nexport default ArrowSidebarLeftOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var ArrowSidebarRightOutline = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.2645 14.8655C22.8249 14.2307 23.7783 14.2086 24.3641 14.8239L32.6974 23.5781C32.9699 23.8644 33.1181 24.2461 33.1248 24.6364C33.1314 25.0267 32.9963 25.4131 32.7348 25.7089L24.4015 35.1365C23.8406 35.7709 22.8872 35.7923 22.3019 35.1765C21.7461 34.5919 21.7321 33.6496 22.2652 33.0465L29.6399 24.7034L22.3026 16.9954C21.7464 16.4112 21.7319 15.4689 22.2645 14.8655ZM23.3305 15.6256C23.2942 15.6264 23.247 15.6413 23.2016 15.6927C23.0958 15.8126 23.1011 16.0214 23.208 16.1336L30.9406 24.2568C31.1643 24.4917 31.171 24.8586 30.9562 25.1016L23.2017 33.8744C23.0959 33.9942 23.101 34.2029 23.2079 34.3153C23.2536 34.3634 23.2999 34.3763 23.3361 34.3756C23.3724 34.3748 23.4195 34.36 23.4649 34.3086L31.7983 24.881C31.8438 24.8295 31.8765 24.7497 31.8749 24.6577C31.8734 24.5656 31.838 24.4883 31.792 24.44L23.4587 15.6858C23.4129 15.6377 23.3666 15.6249 23.3305 15.6256Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2016 15.6927C23.247 15.6413 23.2942 15.6264 23.3305 15.6256C23.3666 15.6249 23.4129 15.6377 23.4587 15.6858L31.792 24.44C31.838 24.4883 31.8734 24.5656 31.8749 24.6577C31.8765 24.7497 31.8438 24.8295 31.7983 24.881L23.4649 34.3086C23.4195 34.36 23.3724 34.3748 23.3361 34.3756C23.2999 34.3763 23.2536 34.3634 23.2079 34.3153C23.101 34.2029 23.0959 33.9942 23.2017 33.8744L30.9562 25.1016C31.171 24.8586 31.1643 24.4917 30.9406 24.2568L23.208 16.1336C23.1011 16.0214 23.0958 15.8126 23.2016 15.6927Z\",\n fill: color\n }));\n});\nexport default ArrowSidebarRightOutline;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Annotation = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 50 50\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.5577 38.9423H34.8557C31.8069 38.9423 29.327 41.4224 29.327 44.4712C29.327 45.9293 28.1406 47.1157 26.6827 47.1157H5.52902C4.07066 47.1157 2.88467 45.9293 2.88467 44.4712V42.5459C2.88467 41.0886 4.07028 39.9025 5.5275 39.9018L9.33952 39.8999C9.34067 39.8999 9.34219 39.8995 9.34334 39.8995C9.38683 39.8995 9.43031 39.8968 9.47418 39.893C9.49211 39.8915 9.50966 39.8884 9.52759 39.8861C9.54628 39.8835 9.56535 39.8819 9.58405 39.8789L19.7636 38.1229C19.7689 38.1217 19.7739 38.1206 19.7788 38.1195C19.7948 38.1164 19.8105 38.113 19.8261 38.1095C19.8517 38.1038 19.8769 38.0981 19.9017 38.0908C19.9192 38.0863 19.9368 38.0809 19.9543 38.0756C19.9776 38.068 20.0008 38.0599 20.0241 38.0512C20.0409 38.0447 20.0581 38.039 20.0748 38.0321C20.1107 38.0168 20.1458 38.0008 20.1805 37.9829C20.1942 37.9756 20.208 37.9672 20.2217 37.9596C20.2461 37.9459 20.2702 37.9321 20.2938 37.9169C20.3083 37.9077 20.3228 37.8978 20.3373 37.8879C20.3602 37.8719 20.3831 37.8551 20.4052 37.8375C20.417 37.8284 20.4292 37.8192 20.4411 37.8093C20.4746 37.7815 20.5074 37.7525 20.5383 37.7212L46.2479 12.0109C48.3097 9.94895 48.3097 6.59377 46.2479 4.53146L43.2632 1.54708C41.2014 -0.515234 37.846 -0.514853 35.7841 1.54708L10.075 27.2574C10.0437 27.2883 10.0147 27.3215 9.9865 27.355C9.97696 27.3665 9.9678 27.3783 9.95865 27.3901C9.9411 27.4127 9.92432 27.4355 9.90829 27.4588C9.89838 27.4729 9.88846 27.4874 9.8793 27.5019C9.86443 27.5252 9.85069 27.5488 9.83734 27.5729C9.82857 27.5885 9.81941 27.6042 9.81102 27.6198C9.79424 27.653 9.77898 27.6862 9.76448 27.7205C9.75723 27.7377 9.75113 27.7556 9.74426 27.7732C9.73625 27.7953 9.72824 27.8178 9.72099 27.8403C9.71527 27.8586 9.70993 27.8769 9.70497 27.8952C9.69849 27.9189 9.69276 27.9429 9.68742 27.9673C9.68361 27.9841 9.67979 28.0009 9.67674 28.0177C9.6756 28.0226 9.67445 28.0272 9.67369 28.0318L8.12378 37.0158L5.52597 37.017C2.47879 37.0185 0 39.4989 0 42.5459V44.4712C0 47.5201 2.48032 50.0005 5.52902 50.0005H26.6827C29.7314 50.0005 32.2117 47.5201 32.2117 44.4712C32.2117 43.0132 33.3977 41.8267 34.8557 41.8267H48.5577C49.3542 41.8267 50 41.1813 50 40.3847C50 39.5878 49.3542 38.9423 48.5577 38.9423ZM12.043 31.2653L16.5306 35.7531L11.1076 36.6885L12.043 31.2653ZM33.5567 7.85382L35.7288 10.026L15.3065 30.4493L13.1344 28.2771L33.5567 7.85382ZM19.5183 34.6613L17.3462 32.4891L37.7689 12.0658L39.941 14.238L19.5183 34.6613ZM37.8239 3.58651C38.7611 2.64958 40.2859 2.64958 41.2235 3.58651L44.2078 6.57126C45.145 7.50858 45.145 9.03376 44.2078 9.97108L41.9804 12.1986L35.5965 5.81401L37.8239 3.58651Z\",\n fill: color\n }));\n});\nexport default Annotation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"color\", \"size\"];\nimport React from 'react';\nimport { intrinsicComponent } from './utils/functions';\nexport var Rotate90 = intrinsicComponent(function (_ref, ref) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 14 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n ref: ref,\n width: size,\n height: size,\n viewBox: \"0 0 52 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.4326 40.0282C46.1217 40.5666 45.6098 40.9595 45.0093 41.1204C44.4088 41.2813 43.7691 41.197 43.2307 40.8862C42.6923 40.5754 42.2995 40.0634 42.1386 39.463C41.9777 38.8625 42.0619 38.2227 42.3727 37.6843C45.2819 32.6454 46.0703 26.6571 44.5644 21.0369C43.0584 15.4167 39.3816 10.6249 34.3426 7.71563C25.1427 2.4043 13.7736 4.38306 6.93632 12.1744L14.5457 12.0831H14.5744C15.196 12.0795 15.7937 12.3229 16.2358 12.7599C16.678 13.1969 16.9284 13.7916 16.9321 14.4133C16.9357 15.0349 16.6923 15.6326 16.2553 16.0747C15.8183 16.5169 15.2236 16.7673 14.6019 16.771L2.37222 16.9175H2.34409C2.03391 16.9175 1.72681 16.856 1.44059 16.7364C1.15437 16.6169 0.894721 16.4417 0.676697 16.2211C0.458674 16.0004 0.28661 15.7387 0.170478 15.4511C0.0543471 15.1635 -0.00354164 14.8557 0.000167612 14.5455L0.147346 2.31591C0.151046 2.00811 0.215338 1.70404 0.336549 1.42108C0.457761 1.13812 0.633519 0.881802 0.853788 0.666765C1.07406 0.451728 1.33453 0.282182 1.62032 0.167807C1.90611 0.0534328 2.21164 -0.00353076 2.51944 0.000169355C2.82725 0.00386947 3.13132 0.0681609 3.41428 0.189372C3.69724 0.310584 3.95356 0.486342 4.16859 0.706611C4.38363 0.926881 4.55318 1.18735 4.66755 1.47314C4.78193 1.75894 4.83889 2.06446 4.83519 2.37227L4.77171 7.65586C9.37537 3.16334 15.4496 0.489016 21.8718 0.127065C28.2941 -0.234886 34.6303 1.74001 39.7096 5.6868C44.7889 9.63359 48.2679 15.2855 49.5038 21.5981C50.7397 27.9107 49.6485 34.4574 46.4326 40.0282Z\",\n fill: color\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25 28C26.6569 28 28 26.6569 28 25C28 23.3431 26.6569 22 25 22C23.3431 22 22 23.3431 22 25C22 26.6569 23.3431 28 25 28ZM25 32C28.866 32 32 28.866 32 25C32 21.134 28.866 18 25 18C21.134 18 18 21.134 18 25C18 28.866 21.134 32 25 32Z\",\n fill: color\n }));\n});\nexport default Rotate90;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export var Size = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { Size } from './types';\nvar baseClassName = 'CrossButton';\nvar crossButtonPaddingMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Size.Xs, css([\"padding:5px;height:20px;\"])), Size.Sm, css([\"padding:6px;height:24px;\"])), Size.Md, css([\"padding:9px;\"])), Size.Lg, css([\"padding:12px;\"]));\nvar CrossButton = /*#__PURE__*/styled.button.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-ygfku-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Lg : _ref$size,\n theme = _ref.theme;\n return css([\"display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:4px;\", \" color:\", \";background:transparent;border:none;transition:all 100ms ease-out;&:hover{color:\", \";background:\", \";}&:active{color:\", \";background:\", \";}\"], crossButtonPaddingMixin[size], theme.palette[PaletteColor.IconsSecondary], theme.palette[PaletteColor.IconsPrimary], theme.palette[PaletteColor.BackgroundHover], theme.palette[PaletteColor.IconsPrimaryHover], theme.palette[PaletteColor.BackgroundActive]);\n});\nvar Styled = applyDisplayNames({\n CrossButton: CrossButton\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"size\"];\nimport React from 'react';\nimport CrossOutline from '@scaleflex/icons/cross-outline';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport Styled from './cross-button.styles';\nvar getIconSize = function getIconSize(sizeName) {\n switch (sizeName) {\n case Size.Lg:\n return 16;\n case Size.Xs:\n return 10;\n case Size.Sm:\n default:\n return 12;\n }\n};\nvar CrossButton = intrinsicComponent(function (_ref, ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? Size.Lg : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.CrossButton, _extends({\n type: \"button\",\n size: size\n }, rest, {\n ref: ref\n }), /*#__PURE__*/React.createElement(CrossOutline, {\n size: getIconSize(size)\n }));\n});\nexport default CrossButton;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport InputStyled from '../input/input.styles';\nimport { fontSizeInputMixin } from '../input/input.mixin';\nimport { Size } from '../menu-item/types';\nimport CrossButton from '../cross-button/cross-button.component';\nvar baseClassName = 'Select';\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-mfrapg-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette,\n size = _ref.size,\n disabled = _ref.disabled;\n return css([\"display:flex;flex-shrink:0;color:\", \";padding:\", \";\"], disabled ? palette[PColor.IconsMuted] : palette[PColor.IconsPrimary], size === Size.Md ? '2.5px' : '2px');\n});\nvar TickIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'tickIcon')\n}).withConfig({\n componentId: \"sc-mfrapg-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"color:\", \";\"], palette[PColor.AccentStateless]);\n});\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-mfrapg-2\"\n})(function (_ref3) {\n var _ref3$fullWidth = _ref3.fullWidth,\n fullWidth = _ref3$fullWidth === void 0 ? false : _ref3$fullWidth;\n return css([\"position:relative;display:inline-flex;\", \"\"], fullWidth ? 'width: 100%' : '');\n});\nvar StyledCrossButton = /*#__PURE__*/styled(CrossButton).attrs({\n className: generateClassNames(baseClassName, 'CrossButton')\n}).withConfig({\n componentId: \"sc-mfrapg-3\"\n})(function () {\n return css([\"display:none;margin-right:6px;\"]);\n});\nvar Select = /*#__PURE__*/styled(InputStyled.Input).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-mfrapg-4\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette,\n disabled = _ref4.disabled,\n readOnly = _ref4.readOnly,\n _ref4$size = _ref4.size,\n size = _ref4$size === void 0 ? 'sm' : _ref4$size,\n isValueExists = _ref4.isValueExists;\n return css([\"cursor:\", \";user-select:none;gap:0px;background:\", \";\", \" \", \";\"], disabled || readOnly ? 'default' : 'pointer', disabled ? palette[PColor.BackgroundHover] : palette[PColor.BackgroundStateless], isValueExists && \"\\n &:hover {\\n \".concat(StyledCrossButton, \" {\\n display: flex;\\n }\\n }\\n \"), fontSizeInputMixin[size]);\n});\nvar Label = /*#__PURE__*/styled.label.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-mfrapg-5\"\n})(function (_ref5) {\n var hideEllipsis = _ref5.hideEllipsis,\n _ref5$size = _ref5.size,\n size = _ref5$size === void 0 ? Size.Md : _ref5$size;\n return \"\\n flex-grow: 1;\\n margin-right: \".concat(size === Size.Md ? 8 : 12, \"px;\\n\\n \").concat(!hideEllipsis && css([\"white-space:nowrap;text-overflow:ellipsis;overflow:hidden;\"]), \"\\n \");\n});\nvar Placeholder = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Placeholder')\n}).withConfig({\n componentId: \"sc-mfrapg-6\"\n})(function (_ref6) {\n var palette = _ref6.theme.palette,\n size = _ref6.size;\n return css([\"width:100%;color:\", \";margin-right:\", \"px;\"], palette[PColor.TextPlaceholder], size === Size.Md ? 16 : 12);\n});\nvar Input = /*#__PURE__*/styled.input.attrs({\n className: generateClassNames(baseClassName, 'Input'),\n 'aria-hidden': 'true'\n}).withConfig({\n componentId: \"sc-mfrapg-7\"\n})([\"left:0;width:100%;bottom:0;opacity:0;position:absolute;pointer-events:none;box-sizing:border-box;\"]);\nvar Styled = applyDisplayNames({\n Container: Container,\n Select: Select,\n Label: Label,\n Icon: Icon,\n TickIcon: TickIcon,\n Input: Input,\n Placeholder: Placeholder,\n StyledCrossButton: StyledCrossButton\n});\nexport default Styled;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { Tick } from '@scaleflex/icons';\nimport { MenuItemActions, MenuItemLabel } from '../menu-item';\nimport { InputSize } from '../../utils/types';\nimport Styled from './select.styles';\nexport var getIconSize = function getIconSize(size) {\n switch (size) {\n case InputSize.Md:\n return 16;\n case InputSize.Sm:\n default:\n return 14;\n }\n};\nvar generateChildren = function generateChildren(children) {\n var isActive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var size = arguments.length > 2 ? arguments[2] : undefined;\n var hideMenuItemsActions = arguments.length > 3 ? arguments[3] : undefined;\n var miChildren = /*#__PURE__*/React.createElement(MenuItemLabel, null, children);\n if (isActive && children) {\n var miActions = /*#__PURE__*/React.createElement(MenuItemActions, null, /*#__PURE__*/React.createElement(Styled.TickIcon, null, /*#__PURE__*/React.createElement(Tick, {\n size: getIconSize(size)\n })));\n if (React.Children.count(children) === 1) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, miChildren, !hideMenuItemsActions && miActions);\n }\n if (React.Children.count(children) > 1 && !React.Children.toArray(children).some(function (child) {\n var _child$type;\n return (child === null || child === void 0 || (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'MenuItemActions';\n })) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children, miActions);\n }\n }\n return miChildren;\n};\nexport var renderOption = function renderOption(menuItem, _ref) {\n var _type, _props, _props2, _props3;\n var value = _ref.value,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n onClose = _ref.onClose,\n onChange = _ref.onChange;\n if (! /*#__PURE__*/React.isValidElement(menuItem)) {\n return menuItem;\n }\n if (((_type = menuItem.type) === null || _type === void 0 ? void 0 : _type.displayName) !== 'MenuItem') {\n return /*#__PURE__*/React.cloneElement(menuItem);\n }\n var menuItemValue = menuItem === null || menuItem === void 0 || (_props = menuItem.props) === null || _props === void 0 ? void 0 : _props.value;\n var valueArr = multiple ? Array.isArray(value) ? value : [] : [value];\n var active = valueArr.length > 0 && valueArr.includes(menuItemValue);\n var isDisabledMenuItem = menuItem === null || menuItem === void 0 || (_props2 = menuItem.props) === null || _props2 === void 0 ? void 0 : _props2.disabled;\n return /*#__PURE__*/React.cloneElement(menuItem, {\n active: active,\n size: size,\n children: generateChildren(menuItem === null || menuItem === void 0 || (_props3 = menuItem.props) === null || _props3 === void 0 ? void 0 : _props3.children, active, size, hideMenuItemsActions),\n onClick: function onClick() {\n var _menuItemValue$toStri;\n if (!multiple && typeof onClose === 'function') {\n onClose();\n }\n if (typeof onChange === 'function' && !isDisabledMenuItem && !!(menuItemValue !== null && menuItemValue !== void 0 && (_menuItemValue$toStri = menuItemValue.toString()) !== null && _menuItemValue$toStri !== void 0 && _menuItemValue$toStri.length)) {\n var newValue = menuItemValue;\n if (multiple) {\n newValue = _toConsumableArray(Array.isArray(value) ? value : []);\n var index = newValue.indexOf(menuItemValue);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(menuItemValue);\n }\n }\n onChange(newValue);\n }\n }\n });\n};\nvar getOptionValue = function getOptionValue(option) {\n var children = option.props ? option.props.children : option;\n if (Array.isArray(children)) return children.map(function (child) {\n return getOptionValue(child);\n }).join(' ');\n if (_typeof(children) === 'object') return getOptionValue(children.props.children);\n return children;\n};\nvar renderOptionValue = function renderOptionValue(option, showSelectionKey) {\n if (option && option.children) {\n var child = showSelectionKey ? option.value : option.children;\n while (typeof child !== 'string') {\n if (Array.isArray(child)) {\n child = getOptionValue(child[1]);\n } else {\n child = getOptionValue(child);\n }\n }\n return child;\n }\n};\nexport var renderValue = function renderValue(_ref2) {\n var value = _ref2.value,\n _ref2$multiple = _ref2.multiple,\n multiple = _ref2$multiple === void 0 ? false : _ref2$multiple,\n children = _ref2.children,\n _ref2$showSelectionKe = _ref2.showSelectionKey,\n showSelectionKey = _ref2$showSelectionKe === void 0 ? false : _ref2$showSelectionKe;\n var optionsProps = [];\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _ref3 = (child === null || child === void 0 ? void 0 : child.type) || {},\n displayName = _ref3.displayName;\n if (displayName === 'MenuItem' && Boolean(child.props)) {\n optionsProps.push(_objectSpread({}, child.props));\n }\n }\n });\n var activeOptions = multiple ? optionsProps.filter(function (itemProps) {\n return Array.isArray(value) && value.includes(itemProps.value);\n }) : [optionsProps.find(function (itemProps) {\n return itemProps.value === value;\n })];\n if (activeOptions.length > 0) {\n return activeOptions.map(function (option) {\n return renderOptionValue(option, showSelectionKey);\n }).join(', ');\n }\n return Array.isArray(value) ? value.join(', ') : value;\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"error\", \"multiple\", \"onChange\", \"value\", \"fullWidth\", \"selectProps\", \"MenuProps\", \"readOnly\", \"disabled\", \"placeholder\", \"showSelectionKey\", \"hideMenuItemsActions\", \"showClearIcon\", \"renderLabel\", \"onRequestClose\", \"hideEllipsis\"];\nimport React, { useState } from 'react';\nimport PT from 'prop-types';\nimport { intrinsicComponent } from '../../utils/functions';\nimport ArrowTick from '../arrow-tick';\nimport Menu from '../menu';\nimport { renderValue, renderOption } from './select.utils';\nimport { InputSize } from '../../utils/types';\nimport Styled from './select.styles';\nimport { Size } from '../cross-button/types';\nvar Select = intrinsicComponent(function (_ref, ref) {\n var _value$toString;\n var children = _ref.children,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n onChange = _ref.onChange,\n value = _ref.value,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n selectProps = _ref.selectProps,\n MenuProps = _ref.MenuProps,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n disabled = _ref.disabled,\n placeholder = _ref.placeholder,\n showSelectionKey = _ref.showSelectionKey,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n _ref$showClearIcon = _ref.showClearIcon,\n showClearIcon = _ref$showClearIcon === void 0 ? false : _ref$showClearIcon,\n renderLabel = _ref.renderLabel,\n onRequestClose = _ref.onRequestClose,\n _ref$hideEllipsis = _ref.hideEllipsis,\n hideEllipsis = _ref$hideEllipsis === void 0 ? false : _ref$hideEllipsis,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(undefined),\n _useState2 = _slicedToArray(_useState, 2),\n anchorEl = _useState2[0],\n setAnchorEl = _useState2[1];\n var open = Boolean(anchorEl);\n var handleClick = function handleClick(event) {\n return setAnchorEl(event.currentTarget);\n };\n var isValueExists = Array.isArray(value) ? !!value.length : !!(value !== null && value !== void 0 && (_value$toString = value.toString()) !== null && _value$toString !== void 0 && _value$toString.length);\n var handleClose = function handleClose() {\n if (onRequestClose) {\n onRequestClose();\n }\n setAnchorEl(undefined);\n };\n var handleClearSelection = function handleClearSelection(event) {\n event.stopPropagation();\n if (typeof onChange === 'function') {\n onChange('');\n }\n };\n return /*#__PURE__*/React.createElement(Styled.Container, {\n ref: ref,\n fullWidth: Boolean(fullWidth)\n }, /*#__PURE__*/React.createElement(Styled.Select, _extends({}, rest, {\n disabled: disabled,\n size: size,\n $error: error,\n $fullWidth: Boolean(fullWidth),\n readOnly: readOnly,\n showSelectionKey: showSelectionKey,\n isValueExists: isValueExists,\n onClick: readOnly || disabled ? undefined : handleClick\n }), isValueExists && /*#__PURE__*/React.createElement(Styled.Label, {\n hideEllipsis: hideEllipsis,\n size: size\n }, typeof renderLabel === 'function' ? renderLabel(value) : renderValue({\n value: value,\n multiple: multiple,\n children: children,\n showSelectionKey: showSelectionKey\n })), !isValueExists && /*#__PURE__*/React.createElement(Styled.Placeholder, {\n size: size\n }, placeholder), !readOnly && showClearIcon && /*#__PURE__*/React.createElement(Styled.StyledCrossButton, {\n size: size === Size.Md ? Size.Sm : Size.Xs,\n onClick: handleClearSelection\n }), /*#__PURE__*/React.createElement(Styled.Icon, {\n size: size,\n disabled: disabled\n }, /*#__PURE__*/React.createElement(ArrowTick, {\n type: open ? 'top' : 'bottom',\n IconProps: {\n size: size === Size.Md ? 11 : 10\n }\n })), /*#__PURE__*/React.createElement(Styled.Input, selectProps)), /*#__PURE__*/React.createElement(Menu, _extends({\n onClose: handleClose\n }, MenuProps, {\n open: open,\n anchorEl: anchorEl\n }), React.Children.map(children, function (child) {\n return renderOption(child, {\n value: value,\n multiple: multiple,\n size: size,\n hideMenuItemsActions: hideMenuItemsActions,\n onClose: handleClose,\n onChange: readOnly || disabled ? undefined : onChange\n });\n })));\n});\nexport var simpleValuePropTypes = PT.oneOfType([PT.string, PT.number, PT.oneOf([null])]);\nexport default Select;","function useDrag(onMove, onStart, onEnd) {\n var onDragging = function onDragging(e) {\n if (typeof onMove === 'function') {\n var _e$touches;\n onMove(((_e$touches = e.touches) === null || _e$touches === void 0 ? void 0 : _e$touches[0]) || e);\n }\n };\n var disableSliding = function disableSliding(e) {\n document.removeEventListener('mousemove', onDragging);\n document.removeEventListener('mouseup', disableSliding);\n document.removeEventListener('mouseleave', disableSliding);\n document.removeEventListener('touchmove', onDragging);\n document.removeEventListener('touchend', disableSliding);\n document.removeEventListener('touchcancel', disableSliding);\n if (typeof onEnd === 'function') {\n var _e$touches2;\n onEnd(((_e$touches2 = e.touches) === null || _e$touches2 === void 0 ? void 0 : _e$touches2[0]) || e);\n }\n };\n var enableDrag = function enableDrag(e) {\n document.addEventListener('mousemove', onDragging);\n document.addEventListener('mouseup', disableSliding);\n document.addEventListener('mouseleave', disableSliding);\n document.addEventListener('touchmove', onDragging);\n document.addEventListener('touchend', disableSliding);\n document.addEventListener('touchcancel', disableSliding);\n if (typeof onStart === 'function') {\n var _e$touches3;\n onStart(((_e$touches3 = e.touches) === null || _e$touches3 === void 0 ? void 0 : _e$touches3[0]) || e);\n }\n };\n return {\n onMouseDown: enableDrag,\n onTouchStart: enableDrag\n };\n}\nexport default useDrag;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nvar baseClassName = 'ColorPicker';\nvar colorItemClassName = 'ColorItem';\nvar ColorPickerWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-qj4xo5-0\"\n})([\"background-color:\", \";box-shadow:0px 1px 2px rgba(78,77,77,0.15);border-radius:2px;padding:12px;max-width:300px;\"], function (_ref) {\n var theme = _ref.theme;\n return theme.palette[PColor.BackgroundSecondary];\n});\nvar ColorPickerIcon = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-qj4xo5-1\"\n})([\"display:flex;justify-content:space-between;align-items:center;cursor:pointer;\"]);\nvar RangePickerWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'range-picker')\n}).withConfig({\n componentId: \"sc-qj4xo5-2\"\n})(function (_ref2) {\n var color = _ref2.color;\n return css([\"position:relative;border-radius:2px;width:100%;height:180px;user-select:none;cursor:crosshair;background-color:\", \";\"], color);\n});\nvar WhiteGradient = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'white-gradient')\n}).withConfig({\n componentId: \"sc-qj4xo5-3\"\n})([\"background:linear-gradient(to right,white 0%,rgba(255,255,255,0) 100%);z-index:0;position:absolute;width:100%;height:100%;border-radius:2px;user-select:none;pointer-events:none;top:-1px;\"]);\nvar BlackGradient = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'black-gradient')\n}).withConfig({\n componentId: \"sc-qj4xo5-4\"\n})([\"background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,black 100%);z-index:1;position:absolute;width:100%;height:100%;border-radius:2px;user-select:none;pointer-events:none;\"]);\nvar ColorPointer = /*#__PURE__*/styled.span.attrs(function (_ref3) {\n var _ref3$left = _ref3.left,\n left = _ref3$left === void 0 ? 0 : _ref3$left,\n _ref3$top = _ref3.top,\n top = _ref3$top === void 0 ? 0 : _ref3$top,\n _ref3$considerTopWidt = _ref3.considerTopWidth,\n considerTopWidth = _ref3$considerTopWidt === void 0 ? false : _ref3$considerTopWidt,\n style = _ref3.style;\n return {\n className: generateClassNames(baseClassName, 'pointer'),\n style: _objectSpread({\n left: left - 7,\n // 7\n top: top - (considerTopWidth ? 7 : 0)\n }, style)\n };\n}).withConfig({\n componentId: \"sc-qj4xo5-5\"\n})(function (_ref4) {\n var theme = _ref4.theme,\n pointerColor = _ref4.pointerColor;\n return css([\"display:inline-block;box-sizing:border-box;width:15px;height:15px;border-radius:20px;box-shadow:0px 1px 2px rgba(78,77,77,0.15);border:2px solid \", \";background-color:\", \";position:absolute;cursor:pointer;z-index:11;user-select:none;outline:none;\"], theme.palette[PColor.BackgroundSecondary], pointerColor);\n});\nvar BarWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'bar-wrapper')\n}).withConfig({\n componentId: \"sc-qj4xo5-6\"\n})([\"margin-top:8px;position:relative;width:100%;height:12px;\"]);\nvar Bar = /*#__PURE__*/styled.table.attrs({\n className: generateClassNames(baseClassName, 'bar')\n}).withConfig({\n componentId: \"sc-qj4xo5-7\"\n})([\"border-radius:4px;width:100%;height:8px;border-collapse:collapse;\"]);\nvar BarColorStop = /*#__PURE__*/styled.td.attrs(function (_ref5) {\n var $color = _ref5.$color;\n return {\n className: generateClassNames(baseClassName, 'stop'),\n style: {\n backgroundColor: $color\n }\n };\n}).withConfig({\n componentId: \"sc-qj4xo5-8\"\n})([\"padding:0;user-select:none;pointer-events:none;&:first-child{width:4px;border-top-left-radius:4px;border-bottom-left-radius:4px;}&:last-child{width:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;}\"]);\nvar ColorPickerAction = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'action')\n}).withConfig({\n componentId: \"sc-qj4xo5-9\"\n})([\"display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;\"]);\nvar ColorItemWrapper = /*#__PURE__*/styled.label.attrs({\n className: generateClassNames(colorItemClassName, 'label')\n}).withConfig({\n componentId: \"sc-qj4xo5-10\"\n})(function (_ref6) {\n var theme = _ref6.theme,\n size = _ref6.size,\n color = _ref6.color,\n stroke = _ref6.stroke,\n value = _ref6.value;\n return css([\"border-radius:2px;border:\", \";box-sizing:border-box;width:\", \"px;height:\", \"px;background-color:\", \";user-select:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 300ms;margin-bottom:8px;background:\", \";input{display:none;}\"], \"1px solid \".concat(stroke), size, size, color, value === 'rgba(0,0,0,0)' && \"repeating-conic-gradient(\".concat(theme.palette[PColor.LinkPrimary], \" 0% 25%, transparent 0% 50%) 50% / 8px 8px\"));\n});\nvar ColorItemsContainer = /*#__PURE__*/styled.div.withConfig({\n componentId: \"sc-qj4xo5-11\"\n})([\"display:flex;flex-wrap:wrap;align-content:space-between;margin-top:14px;margin-left:12px;& > .item{margin-right:8px;display:flex;justify-content:center;}\"]);\nvar Select = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'select')\n}).withConfig({\n componentId: \"sc-qj4xo5-12\"\n})(function (_ref7) {\n var value = _ref7.value;\n return css([\"width:\", \";\"], value === 'rgb' ? '25%' : '35%');\n});\nvar SelectWrapper = /*#__PURE__*/styled.div.withConfig({\n componentId: \"sc-qj4xo5-13\"\n})({\n display: 'flex',\n alignItems: 'center',\n gap: '12px'\n});\nvar Styled = applyDisplayNames({\n ColorPickerWrapper: ColorPickerWrapper,\n RangePickerWrapper: RangePickerWrapper,\n WhiteGradient: WhiteGradient,\n BlackGradient: BlackGradient,\n ColorPointer: ColorPointer,\n BarWrapper: BarWrapper,\n Bar: Bar,\n BarColorStop: BarColorStop,\n ColorPickerAction: ColorPickerAction,\n ColorPickerIcon: ColorPickerIcon,\n ColorItemsContainer: ColorItemsContainer,\n ColorItemWrapper: ColorItemWrapper,\n Select: Select,\n SelectWrapper: SelectWrapper\n});\nexport default Styled;","import React, { useMemo } from 'react';\nimport Tick from '@scaleflex/icons/tick';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './color-picker.styles';\nvar ColorItem = intrinsicComponent(function (_ref, ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n checked = _ref.checked,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 24 : _ref$size;\n var checkIconColor = useMemo(function () {\n if (value === '#ffffff' || value === 'rgba(0,0,0,0)') {\n return 'black';\n }\n return 'white';\n }, [value]);\n return /*#__PURE__*/React.createElement(Styled.ColorItemWrapper, {\n ref: ref,\n color: value,\n size: size,\n stroke: value === 'rgba(0,0,0,0)' ? '#a8a8a8' : '#E9EEF2',\n value: value\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"radio\",\n value: value,\n checked: checked,\n onChange: onChange\n }), checked && /*#__PURE__*/React.createElement(Tick, {\n color: checkIconColor\n }));\n});\nexport default ColorItem;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"defaultColor\", \"onChange\", \"pinnedColors\", \"showTransparentColor\", \"hidePinIcon\", \"containerProps\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { PinOutline, DeleteOutline } from '@scaleflex/icons';\nimport Select from '../select';\nimport MenuItem from '../menu-item';\nimport Input from '../input';\nimport useDrag from '../../hooks/use-drag';\nimport { intrinsicComponent, colorToHsl, hexToRgb, hslToHex, hslToHsv, hsvToHsl, restrictNumber, mapNumber, colorToHex, getElemDocumentCoords, rgbToHex, validateHex, rgbStringToArray } from '../../utils/functions';\nimport Styled from './color-picker.styles';\nimport ColorItem from './color-item.component';\nvar transparentColor = ['rgba(0,0,0,0)'];\nvar transparentColorHex = '#00000000';\nvar colorsHuesCount = 360;\nvar ColorPicker = intrinsicComponent(function (_ref, ref) {\n var _ref$defaultColor = _ref.defaultColor,\n defaultColor = _ref$defaultColor === void 0 ? '#000000' : _ref$defaultColor,\n onChange = _ref.onChange,\n _ref$pinnedColors = _ref.pinnedColors,\n pinnedColors = _ref$pinnedColors === void 0 ? [] : _ref$pinnedColors,\n _ref$showTransparentC = _ref.showTransparentColor,\n showTransparentColor = _ref$showTransparentC === void 0 ? false : _ref$showTransparentC,\n _ref$hidePinIcon = _ref.hidePinIcon,\n hidePinIcon = _ref$hidePinIcon === void 0 ? false : _ref$hidePinIcon,\n containerProps = _ref.containerProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n var showedColors = showTransparentColor ? transparentColor.concat(pinnedColors) : pinnedColors;\n var isTransparentColor = function isTransparentColor(color) {\n return color === transparentColorHex || color === transparentColor[0];\n };\n var _useState = useState({\n color: '#ff0000',\n pointerLeft: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n bar = _useState2[0],\n setBar = _useState2[1];\n var _useState3 = useState({\n color: isTransparentColor(defaultColor) ? '#00000000' : colorToHex(defaultColor) || '#000000',\n pointer: {\n left: 0,\n top: 0\n }\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n rangePicker = _useState4[0],\n setRangePicker = _useState4[1];\n var _useState5 = useState(showedColors),\n _useState6 = _slicedToArray(_useState5, 2),\n localPinnedColors = _useState6[0],\n setLocalPinnedColors = _useState6[1];\n var _useState7 = useState('hex'),\n _useState8 = _slicedToArray(_useState7, 2),\n inputType = _useState8[0],\n setInputType = _useState8[1];\n var _useState9 = useState([]),\n _useState10 = _slicedToArray(_useState9, 2),\n rgbColorValue = _useState10[0],\n setRgbColorValue = _useState10[1];\n var _useState11 = useState(colorToHex(rangePicker.color)),\n _useState12 = _slicedToArray(_useState11, 2),\n hexInputValue = _useState12[0],\n setHexInputValue = _useState12[1];\n var _useState13 = useState(null),\n _useState14 = _slicedToArray(_useState13, 2),\n barRef = _useState14[0],\n setBarRef = _useState14[1];\n var _useState15 = useState(null),\n _useState16 = _slicedToArray(_useState15, 2),\n rangePickerRef = _useState16[0],\n setRangePickerRef = _useState16[1];\n var isColorChecked = function isColorChecked(checkedColor) {\n if (checkedColor === transparentColor[0] && rangePicker.color === transparentColorHex) {\n return true;\n }\n return checkedColor === rangePicker.color;\n };\n var filterTransparentColor = function filterTransparentColor(colors) {\n return colors.filter(function (item) {\n return item !== 'rgba(0,0,0,0)';\n });\n };\n var getRgbColor = function getRgbColor(color) {\n return isTransparentColor(color) ? transparentColor[0] : \"rgb(\".concat(hexToRgb(color).join(', '), \")\");\n };\n var handlePinnedColors = function handlePinnedColors(hexColor, type) {\n if (type === 'add') {\n var newLocalPinnedColors = [].concat(_toConsumableArray(localPinnedColors), [hexColor]);\n setLocalPinnedColors(newLocalPinnedColors);\n if (typeof onChange === 'function') {\n onChange(rangePicker.color, getRgbColor(hexColor), filterTransparentColor(newLocalPinnedColors));\n }\n } else {\n var _newLocalPinnedColors = localPinnedColors.filter(function (item) {\n return item !== rangePicker.color;\n });\n setLocalPinnedColors(_newLocalPinnedColors);\n if (typeof onChange === 'function') {\n onChange(rangePicker.color, getRgbColor(hexColor), filterTransparentColor(_newLocalPinnedColors));\n }\n }\n };\n var changeBarPosByColor = function changeBarPosByColor(color) {\n if (barRef !== null) {\n var _ref2 = getElemDocumentCoords(barRef),\n left = _ref2.left;\n var _colorToHsl = colorToHsl(color || rangePicker.color),\n _colorToHsl2 = _slicedToArray(_colorToHsl, 1),\n h = _colorToHsl2[0];\n var targetColorElem = barRef.querySelector(\"[data-hue='\".concat(h, \"']\"));\n if (targetColorElem !== null) {\n var targetColorRgb = targetColorElem.style.backgroundColor || bar.color;\n setBar({\n color: targetColorRgb,\n pointerLeft: getElemDocumentCoords(targetColorElem).left - left || bar.pointerLeft\n });\n }\n }\n };\n var handleRgbInput = function handleRgbInput(value, index) {\n if (value > 255 || Number.isNaN(value)) {\n return;\n }\n var rgbArr = rgbColorValue;\n rgbArr[index] = value;\n var newHexColor = rgbToHex.apply(void 0, _toConsumableArray(rgbArr));\n setRgbColorValue(_toConsumableArray(rgbArr));\n if (validateHex(newHexColor)) {\n setRangePicker(_objectSpread(_objectSpread({}, rangePicker), {}, {\n color: newHexColor\n }));\n changeBarPosByColor(newHexColor);\n changeRangePickerPointerPosByColor(newHexColor);\n }\n };\n var updateRgb = function updateRgb(color) {\n if (color.includes('rgb')) {\n setRgbColorValue(rgbStringToArray(color));\n } else {\n setRgbColorValue(hexToRgb(color));\n }\n };\n var getHexColor = function getHexColor(color) {\n return isTransparentColor(color) ? transparentColorHex : color;\n };\n var changeRangePickerPointerPosByColor = function changeRangePickerPointerPosByColor(color) {\n if (rangePickerRef !== null) {\n var _ref3 = getElemDocumentCoords(rangePickerRef),\n width = _ref3.width,\n height = _ref3.height;\n var colorHsl = colorToHsl(color);\n var colorHsv = hslToHsv(colorHsl[0], colorHsl[1] / 100, colorHsl[2] / 100);\n var left = mapNumber(colorHsv[1], 0, 100, 0, width);\n var top = height - mapNumber(colorHsv[2], 0, 100, 0, height);\n setRangePicker({\n color: getHexColor(color),\n pointer: {\n left: left,\n top: top\n }\n });\n changeBarPosByColor(color);\n updateRgb(color);\n if (typeof onChange === 'function') {\n onChange(getHexColor(color), getRgbColor(color), filterTransparentColor(localPinnedColors));\n }\n }\n };\n var changeRangePickerColorByPosition = function changeRangePickerColorByPosition(left, top, barColor) {\n if (rangePickerRef !== null) {\n var _ref4 = getElemDocumentCoords(rangePickerRef),\n width = _ref4.width,\n height = _ref4.height;\n var _colorToHsl3 = colorToHsl(barColor),\n _colorToHsl4 = _slicedToArray(_colorToHsl3, 1),\n barColorHue = _colorToHsl4[0];\n var restrictedLeft = restrictNumber(left, 0, width) || 0;\n var restrictedTop = restrictNumber(top, 0, height) || 0;\n var hsl = hsvToHsl(barColorHue, restrictedLeft / width, (height - restrictedTop) / height);\n var hexColor = hslToHex(hsl[0], hsl[1], hsl[2]);\n setRangePicker({\n color: hexColor,\n pointer: {\n left: restrictedLeft,\n top: restrictedTop\n }\n });\n if (typeof onChange === 'function') {\n onChange(hexColor, \"rgb(\".concat(hexToRgb(hexColor).join(', '), \")\"), filterTransparentColor(localPinnedColors));\n }\n }\n };\n var changeBarColorByPosition = function changeBarColorByPosition(pointerLeft) {\n var barElem = barRef;\n if (barElem !== null) {\n var _ref5 = getElemDocumentCoords(barElem),\n width = _ref5.width;\n var mappedPointerLeft = restrictNumber(Math.round(mapNumber(pointerLeft, 0, width, 0, colorsHuesCount)), 0, colorsHuesCount);\n var targetColorElem = barElem.querySelector(\"[data-hue='\".concat(mappedPointerLeft, \"']\"));\n var targetColorRgb = targetColorElem.style.backgroundColor;\n setBar({\n color: targetColorRgb,\n pointerLeft: restrictNumber(pointerLeft, 0, width)\n });\n return targetColorRgb;\n }\n return bar.color;\n };\n var updateBarColor = function updateBarColor(e) {\n var barElem = barRef;\n if (barElem !== null) {\n var _e$touches;\n var _ref6 = getElemDocumentCoords(barElem),\n left = _ref6.left;\n var pointerEvent = ((_e$touches = e.touches) === null || _e$touches === void 0 ? void 0 : _e$touches[0]) || e;\n var barColor = changeBarColorByPosition(pointerEvent.pageX - left);\n changeRangePickerColorByPosition(rangePicker.pointer.left, rangePicker.pointer.top, barColor);\n }\n };\n var updateRangePickerColor = function updateRangePickerColor(e) {\n var rangePickerElem = rangePickerRef;\n if (rangePickerElem !== null) {\n var _ref7 = getElemDocumentCoords(rangePickerElem),\n left = _ref7.left,\n top = _ref7.top,\n height = _ref7.height,\n width = _ref7.width;\n var pointerLeft = e ? restrictNumber(e.pageX - left, 0, width) : rangePicker.pointer.left || 0;\n var pointerTop = e ? restrictNumber(e.pageY - top, 0, height) : rangePicker.pointer.left || 0;\n changeRangePickerColorByPosition(pointerLeft, pointerTop, bar.color);\n }\n };\n var moveBarPointerByArrows = function moveBarPointerByArrows(e) {\n if (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight') {\n return;\n }\n changeBarColorByPosition(bar.pointerLeft + (e.key === 'ArrowLeft' ? -1 : 1));\n };\n var moveRangePickerPointerByArrows = function moveRangePickerPointerByArrows(e) {\n var currentDirection = 0;\n if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n currentDirection = -1;\n } else if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n currentDirection = 1;\n }\n if (currentDirection) {\n changeRangePickerColorByPosition((rangePicker.pointer.left || 0) + (['ArrowLeft', 'ArrowRight'].includes(e.key) ? currentDirection : 0), (rangePicker.pointer.top || 0) + (['ArrowUp', 'ArrowDown'].includes(e.key) ? currentDirection : 0), bar.color);\n }\n };\n var validateHexAndUpdate = function validateHexAndUpdate(color) {\n var testHex = validateHex(color);\n if (testHex) {\n changeRangePickerPointerPosByColor(color);\n }\n setHexInputValue(color);\n };\n useEffect(function () {\n changeBarPosByColor(rangePicker.color);\n changeRangePickerPointerPosByColor(rangePicker.color);\n }, [barRef]);\n useEffect(function () {\n setHexInputValue(rangePicker.color);\n updateRgb(rangePicker.color);\n }, [rangePicker.color]);\n var barColors = useMemo(function () {\n return _toConsumableArray(new Array(colorsHuesCount + 1)).map(function (_, h) {\n return /*#__PURE__*/React.createElement(Styled.BarColorStop, {\n key: h,\n $color: \"hsl(\".concat(h, \", 100%, 50%)\"),\n \"data-hue\": h\n });\n });\n }, []);\n var barPointSliding = useDrag(updateBarColor, updateBarColor, null);\n var rangePickerPointSliding = useDrag(updateRangePickerColor, updateRangePickerColor, null);\n return /*#__PURE__*/React.createElement(Styled.ColorPickerWrapper, _extends({\n ref: ref\n }, rest), /*#__PURE__*/React.createElement(Styled.ColorPickerAction, null, /*#__PURE__*/React.createElement(Styled.SelectWrapper, null, /*#__PURE__*/React.createElement(Styled.Select, {\n value: inputType\n }, /*#__PURE__*/React.createElement(Select, {\n size: \"sm\",\n value: inputType,\n MenuProps: _objectSpread({\n zIndex: 11112\n }, containerProps),\n onChange: function onChange(ev) {\n return setInputType(ev);\n },\n fullWidth: true,\n hideEllipsis: true\n }, /*#__PURE__*/React.createElement(MenuItem, {\n value: \"hex\"\n }, \"Hex\"), /*#__PURE__*/React.createElement(MenuItem, {\n value: \"rgb\"\n }, \"RGB\"))), inputType === 'hex' ? /*#__PURE__*/React.createElement(Input, {\n size: \"sm\",\n error: !/^#(?:[0-9a-fA-F]{3,4}){1,2}$/i.test(rangePicker.color),\n value: hexInputValue,\n onChange: function onChange(e) {\n return validateHexAndUpdate(e.target.value);\n },\n style: {\n width: '45%'\n }\n }) : rgbColorValue.map(function (rgb, index) {\n return /*#__PURE__*/React.createElement(Input, {\n key: index,\n size: \"sm\",\n value: rgb,\n onChange: function onChange(e) {\n var _e$target;\n return handleRgbInput(Number((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value), index);\n },\n style: {\n width: '20%'\n }\n });\n })), rangePicker.color !== transparentColorHex && !hidePinIcon && /*#__PURE__*/React.createElement(Styled.ColorPickerIcon, {\n onClick: function onClick() {\n return localPinnedColors.some(function (checkedColor) {\n return isColorChecked(checkedColor);\n }) ? handlePinnedColors(rangePicker.color, 'delete') : handlePinnedColors(rangePicker.color, 'add');\n }\n }, localPinnedColors.some(function (checkedColor) {\n return isColorChecked(checkedColor);\n }) ? /*#__PURE__*/React.createElement(DeleteOutline, null) : /*#__PURE__*/React.createElement(PinOutline, null))), /*#__PURE__*/React.createElement(Styled.RangePickerWrapper, _extends({\n ref: setRangePickerRef,\n color: bar.color\n }, rangePickerPointSliding), /*#__PURE__*/React.createElement(Styled.WhiteGradient, null), /*#__PURE__*/React.createElement(Styled.BlackGradient, null), /*#__PURE__*/React.createElement(Styled.ColorPointer, {\n tabIndex: -1,\n left: rangePicker.pointer.left || 0,\n top: rangePicker.pointer.top || 0,\n onKeyDown: moveRangePickerPointerByArrows,\n pointerColor: hexInputValue,\n considerTopWidth: true\n })), /*#__PURE__*/React.createElement(Styled.BarWrapper, barPointSliding, /*#__PURE__*/React.createElement(Styled.Bar, {\n ref: setBarRef\n }, /*#__PURE__*/React.createElement(\"tbody\", null, /*#__PURE__*/React.createElement(\"tr\", null, barColors))), /*#__PURE__*/React.createElement(Styled.ColorPointer, {\n tabIndex: -1,\n left: bar.pointerLeft,\n onKeyDown: moveBarPointerByArrows,\n considerTopWidth: false,\n pointerColor: hexInputValue,\n style: {\n top: -3\n }\n })), /*#__PURE__*/React.createElement(Styled.ColorItemsContainer, null, localPinnedColors.map(function (color) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"item\",\n key: color\n }, /*#__PURE__*/React.createElement(ColorItem, {\n value: color,\n checked: isColorChecked(color),\n onChange: function onChange(ev) {\n return changeRangePickerPointerPosByColor(ev.target.value);\n }\n }));\n })));\n});\nexport default ColorPicker;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nexport var colorButtonMixin = _defineProperty(_defineProperty(_defineProperty({}, IconButtonColor.Primary, function (_ref) {\n var palette = _ref.theme.palette,\n active = _ref.active;\n return css([\"background-color:\", \";color:\", \";&:hover{background-color:\", \";}&:focus{background-color:\", \";}&:active{background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";cursor:default;}\"], palette[PaletteColor.AccentStateless], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive], active && css([\"background-color:\", \";&:hover,&:focus{background-color:\", \";}\"], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity]);\n}), IconButtonColor.Secondary, function (_ref2) {\n var palette = _ref2.theme.palette,\n active = _ref2.active;\n return css([\"background-color:\", \";color:\", \";border:1px solid \", \";&:hover{color:\", \";background-color:\", \";}&:focus{background-color:\", \";color:\", \";border:1px solid \", \";}&:active{color:\", \";background-color:\", \";}\", \" &:disabled{color:\", \";background:\", \";border:none;cursor:default;}\"], palette[PaletteColor.BackgroundStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.AccentStateless], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryHover], palette[PaletteColor.Accent_1_2_Opacity], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive], active && css([\"color:\", \";background-color:\", \";&:hover,&:focus{color:\", \";background-color:\", \";}\"], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive], palette[PaletteColor.IconsInvert], palette[PaletteColor.AccentPrimaryActive]), palette[PaletteColor.BordersDisabled], palette[PaletteColor.Accent_1_2_Opacity]);\n}), IconButtonColor.Basic, function (_ref3) {\n var palette = _ref3.theme.palette,\n active = _ref3.active;\n return css([\"background-color:transparent;color:\", \";border:none;&:hover{background-color:\", \";color:\", \";}&:focus{background-color:\", \";color:\", \";}&:active{background-color:\", \";color:\", \";}\", \" &:disabled{background-color:transparent;color:\", \";cursor:default;}\"], palette[PaletteColor.IconsPrimary], palette[PaletteColor.BackgroundHover], palette[PaletteColor.IconsPrimaryHover], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], active && css([\"background-color:\", \";color:\", \";&:hover,&:focus{background-color:\", \";color:\", \";}\"], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive], palette[PaletteColor.BackgroundActive], palette[PaletteColor.LinkActive]), palette[PaletteColor.BordersDisabled]);\n});\nexport var squarePaddingMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ButtonSize.Xs, css([\"padding:6px;\"])), ButtonSize.Sm, css([\"padding:9px;\"])), ButtonSize.Md, css([\"padding:12px;\"])), ButtonSize.Lg, css([\"padding:11px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport ButtonStyled from '../button/button.styles';\nimport { colorButtonMixin, squarePaddingMixin } from './icon-button.mixin';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nvar baseClassName = 'IconButton';\nvar IconButton = /*#__PURE__*/styled(ButtonStyled.Button).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-10edh45-0\"\n})(function (_ref) {\n var theme = _ref.theme,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? IconButtonColor.Secondary : _ref$color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$$active = _ref.$active,\n $active = _ref$$active === void 0 ? false : _ref$$active;\n return css([\"\", \" \", \"\"], squarePaddingMixin[size], colorButtonMixin[color] ? colorButtonMixin[color]({\n theme: theme,\n active: $active\n }) : colorButtonMixin[IconButtonColor.Basic]({\n theme: theme,\n active: $active\n }));\n});\nvar Styled = applyDisplayNames({\n IconButton: IconButton\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"color\", \"active\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { getIconSize } from '../button/button.utils';\nimport { ButtonSize, IconButtonColor } from '../../utils/types';\nimport Styled from './icon-button.styles';\nvar IconButton = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? ButtonSize.Md : _ref$size,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? IconButtonColor.Primary : _ref$color,\n _ref$active = _ref.active,\n active = _ref$active === void 0 ? false : _ref$active,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.IconButton, _extends({\n type: \"button\"\n }, rest, {\n size: size,\n color: color,\n $active: active,\n ref: ref\n }), children && (typeof children === 'function' ? children({\n size: getIconSize(size)\n }) : children));\n});\nexport default IconButton;","export var onClickByMouseDown = function onClickByMouseDown(event, callback) {\n event.preventDefault();\n if (event.button !== 0) {\n return;\n }\n if (callback) {\n callback(event);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { InputSize } from '../../utils/types';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { FontVariant as FV } from '../../utils/types/typography';\nexport var errorMixin = function errorMixin(_ref) {\n var palette = _ref.theme.palette;\n return css([\"background:\", \" !important;border:1px solid \", \" !important;\"], palette[PaletteColor.BackgroundSecondary], palette[PaletteColor.Error]);\n};\nexport var heightTextAreaMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function () {\n return css([\"height:136px;\"]);\n}), InputSize.Md, function () {\n return css([\"height:152px;\"]);\n});\nexport var sizeTextAreaMixin = _defineProperty(_defineProperty({}, InputSize.Sm, function (_ref2) {\n var font = _ref2.theme.typography.font;\n return css([\"padding:8px 12px;\", \"\"], font[FV.InputMd]);\n}), InputSize.Md, function (_ref3) {\n var font = _ref3.theme.typography.font;\n return css([\"padding:8px 16px;\", \"\"], font[FV.InputLg]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { errorMixin, sizeTextAreaMixin, heightTextAreaMixin } from './textarea.mixin';\nimport { getInputBackgroundColor, getInputTextColor, getInputBorderColor } from '../input/input.utils';\nvar baseClassName = 'Textarea';\nvar Textarea = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1usif6k-0\"\n})(function (_ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$autoSize = _ref.autoSize,\n autoSize = _ref$autoSize === void 0 ? false : _ref$autoSize,\n theme = _ref.theme;\n return css([\"position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:space-between;cursor:text;box-sizing:border-box;transition:all 100ms ease-out;width:\", \";pointer-events:\", \";background-color:\", \";border-radius:\", \";border:1px solid \", \";color:\", \";\", \" \", \" &:hover{color:\", \";}\", \" \", \"\"], fullWidth ? '100%' : '300px', disabled ? 'none' : 'auto', getInputBackgroundColor(readOnly, disabled), theme.shape.borderRadius[BRSize.Md], getInputBorderColor(readOnly, disabled), disabled ? theme.palette[PColor.TextPlaceholder] : theme.palette[PColor.TextPrimary], heightTextAreaMixin[size], !readOnly && !disabled && css([\"&:focus-within{background-color:\", \"!important;border:1px solid \", \";&:hover{border:1px solid \", \";}}&:hover{background-color:\", \";border:1px solid \", \";}\"], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.AccentStateless], theme.palette[PColor.AccentStateless], theme.palette[PColor.BackgroundStateless], theme.palette[PColor.BordersPrimaryHover]), getInputTextColor(readOnly, disabled), error && errorMixin, autoSize && css([\"width:auto;height:auto;\"]));\n});\nvar Base = /*#__PURE__*/styled.textarea.attrs({\n className: generateClassNames(baseClassName, 'Base')\n}).withConfig({\n componentId: \"sc-1usif6k-1\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette,\n _ref2$readOnly = _ref2.readOnly,\n readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,\n _ref2$size = _ref2.size,\n size = _ref2$size === void 0 ? InputSize.Md : _ref2$size;\n return css([\"display:block;width:100%;height:100%;color:inherit;outline:none;resize:none;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;font-family:inherit;box-sizing:border-box;flex:1;\", \" \", \";&::placeholder{color:\", \";}::-webkit-scrollbar{width:12px;}::-webkit-scrollbar-track{width:8px;}::-webkit-scrollbar-thumb{background:\", \";border-radius:8px;border:4px solid \", \";}\"], readOnly && \"padding-bottom: 0px;\", sizeTextAreaMixin[size], palette[PColor.TextPlaceholder], palette[PColor.BorderPrimaryStateless], palette[PColor.BackgroundStateless]);\n});\nvar ActionsButtonsWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'ActionsButtonsWrapper')\n}).withConfig({\n componentId: \"sc-1usif6k-2\"\n})(function (_ref3) {\n var _ref3$size = _ref3.size,\n size = _ref3$size === void 0 ? InputSize.Md : _ref3$size;\n return css([\"display:flex;align-items:center;width:100%;column-gap:12px;box-sizing:border-box;\", \";.SfxButton-Label{font-weight:500;}\"], sizeTextAreaMixin[size]);\n});\nvar CopyIcon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'CopyIcon')\n}).withConfig({\n componentId: \"sc-1usif6k-3\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"cursor:pointer;color:\", \";margin-left:auto;\"], palette[PColor.IconsPrimary]);\n});\nvar Styled = applyDisplayNames({\n Textarea: Textarea,\n CopyIcon: CopyIcon,\n Base: Base,\n ActionsButtonsWrapper: ActionsButtonsWrapper\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"fullWidth\", \"size\", \"value\", \"readOnly\", \"disabled\", \"error\", \"cols\", \"rows\", \"copyTextMessage\", \"copySuccessIcon\", \"showActionButton\", \"showClearButton\", \"hideCopyIcon\", \"disableActionButton\", \"isActionButtonLoading\", \"actionButtonLabel\", \"clearAllButtonLabel\", \"onClickActionButton\", \"onClear\", \"onChange\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useEffect, useRef } from 'react';\nimport CopyOutline from '@scaleflex/icons/copy-outline';\nimport Success from '@scaleflex/icons/success';\nimport { onClickByMouseDown } from '../../utils/functions/on-click-by-mouse-down';\nimport { intrinsicComponent, useForkRef } from '../../utils/functions';\nimport { InputSize } from '../../utils/types';\nimport { handleCopyIcon } from '../input/input.utils';\nimport { getIconSize } from '../button/button.utils';\nimport InputStyled from '../input/input.styles';\nimport { Size } from '../menu-item/types';\nimport Button from '../button';\nimport Styled from './textarea.styles';\nvar Textarea = intrinsicComponent(function (_ref, ref) {\n var _inputRef$current;\n var _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? InputSize.Md : _ref$size,\n value = _ref.value,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n cols = _ref.cols,\n rows = _ref.rows,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n _ref$showActionButton = _ref.showActionButton,\n showActionButton = _ref$showActionButton === void 0 ? false : _ref$showActionButton,\n _ref$showClearButton = _ref.showClearButton,\n showClearButton = _ref$showClearButton === void 0 ? false : _ref$showClearButton,\n _ref$hideCopyIcon = _ref.hideCopyIcon,\n hideCopyIcon = _ref$hideCopyIcon === void 0 ? true : _ref$hideCopyIcon,\n _ref$disableActionBut = _ref.disableActionButton,\n disableActionButton = _ref$disableActionBut === void 0 ? false : _ref$disableActionBut,\n _ref$isActionButtonLo = _ref.isActionButtonLoading,\n isActionButtonLoading = _ref$isActionButtonLo === void 0 ? false : _ref$isActionButtonLo,\n _ref$actionButtonLabe = _ref.actionButtonLabel,\n actionButtonLabel = _ref$actionButtonLabe === void 0 ? 'Action' : _ref$actionButtonLabe,\n _ref$clearAllButtonLa = _ref.clearAllButtonLabel,\n clearAllButtonLabel = _ref$clearAllButtonLa === void 0 ? 'Clear all' : _ref$clearAllButtonLa,\n onClickActionButton = _ref.onClickActionButton,\n onClear = _ref.onClear,\n onChange = _ref.onChange,\n rest = _objectWithoutProperties(_ref, _excluded);\n var inputRef = useRef(null);\n var textareaRef = useForkRef(inputRef, ref);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHovering = _useState2[0],\n setIsHovering = _useState2[1];\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n overflowStyles = _useState4[0],\n setOverflowStyles = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n showCopyMessage = _useState6[0],\n setShowCopyMessage = _useState6[1];\n var _useState7 = useState(value),\n _useState8 = _slicedToArray(_useState7, 2),\n inputValue = _useState8[0],\n setInputValue = _useState8[1];\n var showCopyIcon = !!(isHovering && inputValue !== null && inputValue !== void 0 && inputValue.length && !hideCopyIcon);\n var actionButtonHandler = function actionButtonHandler(event) {\n if (onClickActionButton) {\n onClickActionButton(event);\n }\n };\n var clearAllHandler = function clearAllHandler(event) {\n setInputValue('');\n if (onClear) {\n onClear(event);\n }\n };\n var onChangeHandler = function onChangeHandler(event) {\n setInputValue(event.target.value);\n if (onChange) {\n onChange(event);\n }\n };\n var copyIconHandler = function copyIconHandler() {\n if (showCopyIcon) {\n handleCopyIcon(inputValue, setShowCopyMessage);\n }\n };\n useEffect(function () {\n var current = inputRef.current;\n if (current && current.scrollHeight > current.clientHeight) {\n setOverflowStyles({\n paddingRight: size === Size.Md ? '4px' : '0px'\n });\n }\n }, [(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.scrollHeight, size]);\n useEffect(function () {\n setTimeout(function () {\n return setShowCopyMessage(false);\n }, 2000);\n }, [showCopyMessage]);\n useEffect(function () {\n setInputValue(value);\n }, [value]);\n var handleEntering = function handleEntering() {\n setTimeout(function () {\n setIsHovering(true);\n }, 150);\n };\n var handleLeaving = function handleLeaving() {\n setTimeout(function () {\n setIsHovering(false);\n }, 200);\n };\n var renderCopyText = function renderCopyText() {\n return /*#__PURE__*/React.createElement(InputStyled.NotificationBox, {\n size: size,\n isTextarea: true\n }, /*#__PURE__*/React.createElement(InputStyled.NotificationIcon, null, copySuccessIcon), /*#__PURE__*/React.createElement(InputStyled.NotificationText, null, copyTextMessage));\n };\n return /*#__PURE__*/React.createElement(Styled.Textarea, {\n size: size,\n value: inputValue,\n onMouseEnter: handleEntering,\n onMouseLeave: handleLeaving,\n readOnly: readOnly,\n disabled: disabled,\n fullWidth: Boolean(fullWidth),\n error: error,\n autoSize: Boolean(cols) || Boolean(rows)\n }, /*#__PURE__*/React.createElement(Styled.Base, _extends({}, rest, {\n value: inputValue,\n ref: textareaRef,\n size: size,\n onChange: onChangeHandler,\n readOnly: readOnly,\n disabled: disabled,\n style: _objectSpread({}, overflowStyles)\n })), (showActionButton || showClearButton || showCopyIcon) && /*#__PURE__*/React.createElement(Styled.ActionsButtonsWrapper, {\n size: size\n }, showActionButton && /*#__PURE__*/React.createElement(Button, {\n color: \"link-primary\",\n size: \"sm\",\n disabled: disableActionButton,\n loading: isActionButtonLoading,\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, actionButtonHandler);\n }\n }, actionButtonLabel), showClearButton && /*#__PURE__*/React.createElement(Button, {\n color: \"link-secondary\",\n size: \"sm\",\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, clearAllHandler);\n }\n }, clearAllButtonLabel), showCopyIcon && /*#__PURE__*/React.createElement(Styled.CopyIcon, {\n size: size,\n onMouseDown: function onMouseDown(event) {\n return onClickByMouseDown(event, copyIconHandler);\n }\n }, /*#__PURE__*/React.createElement(CopyOutline, {\n size: getIconSize(size)\n }), showCopyMessage && renderCopyText())));\n});\nexport default Textarea;","export var Type = {\n Input: 'input',\n Textarea: 'textarea'\n};","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport StyledLabel from '../label/label.styles';\nimport StyledFormHint from '../form-hint/form-hint.styles';\nvar baseClassName = 'InputGroup';\nvar InputGroup = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-zhtjwh-0\"\n})([\"\", \"{margin-top:4px;}\", \"{margin-bottom:4px;}\"], StyledFormHint.FormHint, StyledLabel.Label);\nvar Styled = applyDisplayNames({\n InputGroup: InputGroup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"type\", \"error\", \"label\", \"hint\", \"LabelProps\", \"InputProps\", \"inputProps\", \"inputRef\", \"TextareaProps\", \"readOnly\", \"disabled\", \"size\", \"value\", \"hideCopyIcon\", \"copyTextMessage\", \"copySuccessIcon\", \"placeholder\", \"fullWidth\", \"onChange\"];\nimport React from 'react';\nimport Success from '@scaleflex/icons/success';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Label from '../label';\nimport Input from '../input';\nimport Textarea from '../textarea';\nimport FormHint from '../form-hint';\nimport { Type } from './types';\nimport Styled from './input-group.styles';\nvar InputGroup = intrinsicComponent(function (_ref, ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? Type.Input : _ref$type,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n label = _ref.label,\n hint = _ref.hint,\n LabelPropsData = _ref.LabelProps,\n InputProps = _ref.InputProps,\n inputProps = _ref.inputProps,\n inputRef = _ref.inputRef,\n TextareaPropsData = _ref.TextareaProps,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n disabled = _ref.disabled,\n size = _ref.size,\n value = _ref.value,\n hideCopyIcon = _ref.hideCopyIcon,\n _ref$copyTextMessage = _ref.copyTextMessage,\n copyTextMessage = _ref$copyTextMessage === void 0 ? 'Copied!' : _ref$copyTextMessage,\n _ref$copySuccessIcon = _ref.copySuccessIcon,\n copySuccessIcon = _ref$copySuccessIcon === void 0 ? /*#__PURE__*/React.createElement(Success, {\n size: 16\n }) : _ref$copySuccessIcon,\n placeholder = _ref.placeholder,\n fullWidth = _ref.fullWidth,\n _onChange = _ref.onChange,\n rest = _objectWithoutProperties(_ref, _excluded);\n var renderLabel = function renderLabel() {\n if (label) {\n if (typeof label === 'function') {\n return label({\n error: error\n });\n }\n if (_typeof(label) === 'object') {\n return label;\n }\n return /*#__PURE__*/React.createElement(Label, _extends({\n size: size,\n disabled: disabled\n }, LabelPropsData || {}), label);\n }\n return null;\n };\n var renderField = function renderField() {\n var fieldProps = {\n value: value,\n readOnly: readOnly,\n disabled: disabled,\n size: size,\n error: error,\n placeholder: placeholder,\n hideCopyIcon: hideCopyIcon,\n copyTextMessage: copyTextMessage,\n copySuccessIcon: copySuccessIcon,\n fullWidth: fullWidth\n };\n if (type === Type.Input) {\n return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, rest, inputProps, {\n InputProps: InputProps,\n ref: inputRef,\n readOnly: readOnly,\n disabled: disabled,\n onChange: _onChange\n }));\n }\n if (type === Type.Textarea) {\n return /*#__PURE__*/React.createElement(Textarea, _extends({}, fieldProps, TextareaPropsData || {}, {\n onChange: function onChange(event) {\n return _onChange(event);\n }\n }));\n }\n return null;\n };\n var renderHint = function renderHint() {\n if (hint) {\n if (typeof hint === 'function') {\n return hint({\n error: error\n });\n }\n if (_typeof(hint) === 'object') {\n return hint;\n }\n return /*#__PURE__*/React.createElement(FormHint, {\n size: size,\n error: error,\n disabled: disabled\n }, hint);\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(Styled.InputGroup, {\n ref: ref\n }, renderLabel(), renderField(), renderHint());\n});\nexport default InputGroup;","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nexport { _objectDestructuringEmpty as default };","export var Size = {\n Xs: 'xs',\n Sm: 'sm',\n Md: 'md',\n Lg: 'lg',\n Xl: 'xl'\n};","import * as React from 'react';\nvar ModalMenuContext = /*#__PURE__*/React.createContext({\n modalOpened: false\n});\nif (process.env.NODE_ENV !== 'production') {\n ModalMenuContext.displayName = 'ModalMenuContext';\n}\nexport default ModalMenuContext;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Size } from './types';\nexport var modalSizeMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Size.Xs, css([\"max-width:300px;\"])), Size.Sm, css([\"max-width:600px;\"])), Size.Md, css([\"max-width:960px;\"])), Size.Lg, css([\"max-width:1280px;\"])), Size.Xl, css([\"max-width:1920px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { modalSizeMixin } from './modal.mixin';\nimport { Size } from './types';\nvar baseClassName = 'Modal';\nvar Wrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Wrapper')\n}).withConfig({\n componentId: \"sc-80m07l-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"position:fixed;right:0px;bottom:0px;top:0px;left:0px;z-index:1200;visibility:\", \";\"], open ? 'visible' : 'hidden');\n});\nvar Overlay = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Overlay')\n}).withConfig({\n componentId: \"sc-80m07l-1\"\n})(function (_ref2) {\n var open = _ref2.open;\n return css([\"position:fixed;right:0px;bottom:0px;top:0px;left:0px;background-color:rgba(0,0,0,0.5);z-index:-1;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:\", \";\"], open ? '1' : '0');\n});\nvar Container = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Container')\n}).withConfig({\n componentId: \"sc-80m07l-2\"\n})(function (_ref3) {\n var theme = _ref3.theme,\n _ref3$open = _ref3.open,\n open = _ref3$open === void 0 ? false : _ref3$open,\n _ref3$fullWidth = _ref3.fullWidth,\n fullWidth = _ref3$fullWidth === void 0 ? false : _ref3$fullWidth,\n _ref3$maxWidth = _ref3.maxWidth,\n maxWidth = _ref3$maxWidth === void 0 ? Size.Sm : _ref3$maxWidth;\n return css([\"position:absolute;overflow-x:hidden;overflow-y:auto;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms,transform 167ms cubic-bezier(0.4,0,0.2,1) 0ms;outline:0;border-radius:\", \";background-color:\", \";box-shadow:0px 2px 4px \", \";visibility:\", \";opacity:\", \";display:flex;max-height:calc(100% - 64px);flex-direction:column;\", \" \", \" top:50%;left:50%;transform:translate(-50%,-50%);\"], theme.shape.borderRadius[BRSize.Lg], theme.palette[PColor.BackgroundSecondary], theme.palette[PColor.LightShadow], open ? 'visible' : 'hidden', open ? '1' : '0', fullWidth && css([\"width:calc(100% - 64px);\"]), modalSizeMixin[maxWidth]);\n});\nvar Modal = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-80m07l-3\"\n})(function () {\n return css([\"position:relative;padding-top:8px;padding-bottom:8px;margin:0;padding:0;outline:0;display:flex;flex-direction:column;\"]);\n});\nvar Styled = applyDisplayNames({\n Modal: Modal,\n Wrapper: Wrapper,\n Overlay: Overlay,\n Container: Container\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"open\", \"onClose\", \"onDragOver\", \"onDrop\", \"maxWidth\", \"fullWidth\", \"modalStyles\", \"hideOverlay\", \"disableOverlayClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, isValidElement } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ignoreEvent, intrinsicComponent } from '../../utils/functions';\nimport { Size } from './types';\nimport ModalMenuContext from './modal-menu-context';\nimport Styled from './modal.styles';\nvar isValidSingleFragmentChildren = function isValidSingleFragmentChildren(children) {\n return children && /*#__PURE__*/isValidElement(children) && React.Children.count(children) === 1 && children.type === React.Fragment;\n};\nvar Modal = intrinsicComponent(function (_ref, ref) {\n var _children = _ref.children,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? false : _ref$open,\n onClose = _ref.onClose,\n onDragOver = _ref.onDragOver,\n onDrop = _ref.onDrop,\n _ref$maxWidth = _ref.maxWidth,\n maxWidth = _ref$maxWidth === void 0 ? Size.Xs : _ref$maxWidth,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n modalStyles = _ref.modalStyles,\n _ref$hideOverlay = _ref.hideOverlay,\n hideOverlay = _ref$hideOverlay === void 0 ? false : _ref$hideOverlay,\n _ref$disableOverlayCl = _ref.disableOverlayClick,\n disableOverlayClick = _ref$disableOverlayCl === void 0 ? false : _ref$disableOverlayCl,\n rest = _objectWithoutProperties(_ref, _excluded);\n var children = isValidSingleFragmentChildren(_children) ? _children.props.children : _children;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var target = document.querySelector('body');\n useEffect(function () {\n if (open) {\n document.body.classList.add('Modal-open');\n } else {\n document.body.classList.remove('Modal-open');\n }\n return function () {\n document.body.classList.remove('Modal-open');\n };\n }, [open]);\n var handleClose = function handleClose() {\n if (typeof onClose === 'function') {\n onClose();\n }\n };\n useEffect(function () {\n var keyListener = function keyListener(ev) {\n if (ev.key === 'Escape') {\n handleClose();\n }\n };\n document.addEventListener('keydown', keyListener);\n return function () {\n return document.removeEventListener('keydown', keyListener);\n };\n });\n var render = function render() {\n return /*#__PURE__*/React.createElement(ModalMenuContext.Provider, {\n value: {\n modalOpened: Boolean(open)\n }\n }, /*#__PURE__*/React.createElement(Styled.Wrapper, {\n style: _objectSpread({}, modalStyles),\n open: Boolean(open),\n ref: ref,\n onDragOver: onDragOver ? onDragOver : ignoreEvent,\n onDrop: onDrop ? onDrop : ignoreEvent\n }, !hideOverlay && /*#__PURE__*/React.createElement(Styled.Overlay, {\n onClick: function onClick() {\n return disableOverlayClick ? null : handleClose();\n },\n open: Boolean(open)\n }), /*#__PURE__*/React.createElement(Styled.Container, _extends({}, rest, {\n maxWidth: maxWidth,\n fullWidth: fullWidth,\n open: Boolean(open)\n }), /*#__PURE__*/React.createElement(Styled.Modal, null, React.Children.map(children, function (child) {\n if ( /*#__PURE__*/isValidElement(child) && child.type.displayName === 'ModalTitle') {\n return /*#__PURE__*/React.cloneElement(child, _objectSpread({\n onClose: handleClose\n }, child.props || {}));\n }\n return child;\n })))));\n };\n return /*#__PURE__*/createPortal(render(), target);\n});\nexport default Modal;","export var Align = {\n Left: 'left',\n Center: 'center',\n Right: 'right'\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Align } from './types';\nvar baseClassName = 'ModalActions';\nvar ModalActions = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1wg6u00-0\"\n})(function (_ref) {\n var _ref$align = _ref.align,\n align = _ref$align === void 0 ? Align.Center : _ref$align;\n return css([\"position:relative;display:flex;align-items:center;padding:24px;justify-content:\", \";gap:12px;\"], align === Align.Right ? 'flex-end' : align);\n});\nvar Styled = applyDisplayNames({\n ModalActions: ModalActions\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"align\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './modal-actions.styles';\nimport { Align } from './types';\nvar ModalActions = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$align = _ref.align,\n align = _ref$align === void 0 ? Align.Center : _ref$align,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalActions, _extends({}, rest, {\n align: align,\n ref: ref\n }), children);\n});\nModalActions.displayName = 'ModalActions';\nexport default ModalActions;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'ModalContent';\nvar ModalContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1ng1w0v-0\"\n})([\"position:relative;padding:12px 24px 0px;\"]);\nvar Styled = applyDisplayNames({\n ModalContent: ModalContent\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './modal-content.styles';\nvar ModalContent = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalContent, _extends({}, rest, {\n ref: ref\n }), children);\n});\nModalContent.displayName = 'ModalContent';\nexport default ModalContent;","export var Variant = {\n Default: 'default',\n WithIcon: 'with-icon'\n};","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { BorderRadiusSize as BRSize } from '../../utils/types/shape';\nimport { Variant } from './types';\nvar baseClassName = 'ModalTitle';\nvar Icon = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Icon')\n}).withConfig({\n componentId: \"sc-l3tf49-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"display:flex;margin-bottom:8px;padding:14.5px;border-radius:50%;background:\", \";color:\", \";\"], palette[PColor.Accent_1_2_Opacity], palette[PColor.AccentStateless]);\n});\nvar LabelPrimary = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'LabelPrimary')\n}).withConfig({\n componentId: \"sc-l3tf49-1\"\n})(function (_ref2) {\n var _ref2$variant = _ref2.variant,\n variant = _ref2$variant === void 0 ? Variant.Default : _ref2$variant;\n return css([\"font-size:18px;line-height:27px;font-weight:\", \";\"], variant === Variant.Default ? 400 : 500);\n});\nvar LabelSecondary = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'LabelSecondary')\n}).withConfig({\n componentId: \"sc-l3tf49-2\"\n})([\"font-size:12px;line-height:14px;margin-top:4px;\"]);\nvar Close = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'Close')\n}).withConfig({\n componentId: \"sc-l3tf49-3\"\n})(function (_ref3) {\n var _ref3$variant = _ref3.variant,\n variant = _ref3$variant === void 0 ? Variant.Default : _ref3$variant,\n palette = _ref3.theme.palette;\n return css([\"position:absolute;display:flex;top:\", \"px;right:\", \"px;color:\", \";&:hover{color:\", \";}cursor:pointer;\"], variant === Variant.WithIcon ? 2 : 8, variant === Variant.WithIcon ? 2 : 8, palette[PColor.IconsSecondary], palette[PColor.AccentPrimary]);\n});\nvar ModalTitle = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-l3tf49-4\"\n})(function (_ref4) {\n var _ref4$variant = _ref4.variant,\n variant = _ref4$variant === void 0 ? Variant.Default : _ref4$variant,\n _ref4$theme = _ref4.theme,\n palette = _ref4$theme.palette,\n borderRadius = _ref4$theme.shape.borderRadius;\n return css([\"position:relative;color:\", \";border-radius:\", \" \", \" 0px 0px;\", \" \", \" \", \"\"], palette[PColor.TextPrimary], borderRadius[BRSize.Md], borderRadius[BRSize.Md], function () {\n var paddingY = variant === Variant.WithIcon ? 26 : 14;\n var paddingX = variant === Variant.WithIcon ? 12 : 14;\n var paddingLeft = 18;\n var paddingRight = variant === Variant.WithIcon ? paddingLeft : 40;\n return css([\"padding:\", \"px \", \"px \", \"px \", \"px;\"], paddingY, paddingRight, paddingX, paddingLeft);\n }, variant === Variant.Default && css([\"background:\", \";border-bottom:1px solid \", \";\"], palette[PColor.BackgroundPrimary], palette[PColor.BordersSecondary]), variant === Variant.WithIcon && css([\"display:flex;align-items:center;flex-direction:column;\"]));\n});\nvar Styled = applyDisplayNames({\n ModalTitle: ModalTitle,\n LabelPrimary: LabelPrimary,\n LabelSecondary: LabelSecondary,\n Close: Close,\n Icon: Icon\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"secondary\", \"onClose\", \"primaryLabelStyles\", \"iconShadow\", \"variant\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport CrossButton from '../cross-button';\nimport Styled from './modal-title.styles';\nimport { Variant } from './types';\nvar ModalTitle = intrinsicComponent(function (_ref, ref) {\n var secondary = _ref.secondary,\n onClose = _ref.onClose,\n primaryLabelStyles = _ref.primaryLabelStyles,\n _ref$iconShadow = _ref.iconShadow,\n iconShadow = _ref$iconShadow === void 0 ? true : _ref$iconShadow,\n _ref$variant = _ref.variant,\n variant = _ref$variant === void 0 ? Variant.Default : _ref$variant,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.ModalTitle, _extends({}, rest, {\n variant: variant,\n ref: ref\n }), rest.icon && /*#__PURE__*/React.createElement(Styled.Icon, {\n iconShadow: Boolean(iconShadow)\n }, rest.icon), /*#__PURE__*/React.createElement(Styled.LabelPrimary, {\n variant: variant,\n style: primaryLabelStyles\n }, rest.primary), variant === Variant.WithIcon && secondary && /*#__PURE__*/React.createElement(Styled.LabelSecondary, null, secondary), /*#__PURE__*/React.createElement(Styled.Close, {\n variant: variant\n }, /*#__PURE__*/React.createElement(CrossButton, {\n size: \"lg\",\n onClick: onClose\n })));\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","export var Status = {\n Success: 'success',\n Info: 'info',\n Error: 'error',\n Warning: 'warning'\n};","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nvar baseClassName = 'PopupStatus';\nvar PopupStatus = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-qash56-0\"\n})([\"display:flex;\"]);\nvar Styled = applyDisplayNames({\n PopupStatus: PopupStatus\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"status\", \"notificationBackground\"];\nimport React from 'react';\nimport { Success, About, Error, Warning, InfoOutline, WarningOutline, ErrorOutline } from '@scaleflex/icons';\nimport { lightPalette } from '../../theme/roots/palette';\nimport { Color } from '../../utils/types/palette';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { Status } from './types';\nimport Styled from './popup-status.styles';\nvar getPopupStatusIcon = function getPopupStatusIcon(status, notificationBackground) {\n switch (status) {\n case Status.Warning:\n return notificationBackground ? /*#__PURE__*/React.createElement(Warning, {\n color: lightPalette[Color.Warning],\n size: 20\n }) : /*#__PURE__*/React.createElement(WarningOutline, {\n color: lightPalette[Color.Warning],\n size: 12\n });\n case Status.Error:\n return notificationBackground ? /*#__PURE__*/React.createElement(Error, {\n color: lightPalette[Color.Error],\n size: 20\n }) : /*#__PURE__*/React.createElement(ErrorOutline, {\n color: lightPalette[Color.Error],\n size: 12\n });\n case Status.Info:\n return notificationBackground ? /*#__PURE__*/React.createElement(About, {\n color: lightPalette[Color.Info],\n size: 20\n }) : /*#__PURE__*/React.createElement(InfoOutline, {\n color: lightPalette[Color.Info],\n size: 12\n });\n case Status.Success:\n default:\n return /*#__PURE__*/React.createElement(Success, {\n color: lightPalette[Color.Success],\n size: 20\n });\n }\n};\nvar PopupStatus = intrinsicComponent(function (_ref, ref) {\n var status = _ref.status,\n _ref$notificationBack = _ref.notificationBackground,\n notificationBackground = _ref$notificationBack === void 0 ? true : _ref$notificationBack,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.PopupStatus, _extends({\n status: status\n }, rest, {\n ref: ref\n }), getPopupStatusIcon(status, notificationBackground));\n});\nexport default PopupStatus;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Color as PaletteColor } from '../../utils/types/palette';\nimport { Status } from '../popup-status/types';\nexport var popupContentMixin = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Status.Success, function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundGreen]);\n}), Status.Info, function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundBlue]);\n}), Status.Error, function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundRed]);\n}), Status.Warning, function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"background-color:\", \";\"], palette[PaletteColor.BackgroundOrange]);\n});","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { FontVariant } from '../../utils/types/typography';\nimport { popupContentMixin } from './popup-content.mixin';\nvar baseClassName = 'PopupContent';\nvar LabelWrapper = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'LabelWrapper')\n}).withConfig({\n componentId: \"sc-njbmnt-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"display:flex;flex-grow:1;margin-left:44px;padding:16px;padding-right:0;overflow:hidden;background:\", \";\"], palette[PColor.ButtonPrimaryText]);\n});\nvar Label = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'Label')\n}).withConfig({\n componentId: \"sc-njbmnt-1\"\n})(function (_ref2) {\n var _ref2$theme = _ref2.theme,\n palette = _ref2$theme.palette,\n font = _ref2$theme.typography.font;\n return css([\"max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;color:\", \";\", \"\"], palette[PColor.TextPrimary], font[FontVariant.TextSmallUp]);\n});\nvar PopupContent = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupContent')\n}).withConfig({\n componentId: \"sc-njbmnt-2\"\n})(function (_ref3) {\n var theme = _ref3.theme;\n return css([\"position:relative;display:flex;align-items:center;width:360px;border-radius:4px;box-shadow:0px 2px 6px \", \";\"], theme.palette[PColor.LargeShadow]);\n});\nvar CloseWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupContent')\n}).withConfig({\n componentId: \"sc-njbmnt-3\"\n})(function (_ref4) {\n var theme = _ref4.theme;\n return css([\"position:absolute;top:0;right:0;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box;padding:2px;height:fit-content;cursor:pointer;background:\", \";border-radius:0 4px 4px 0;height:100%;\"], theme.palette[PColor.BackgroundStateless]);\n});\nvar PopupStatus = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'PopupStatus')\n}).withConfig({\n componentId: \"sc-njbmnt-4\"\n})(function (_ref5) {\n var _ref5$status = _ref5.status,\n status = _ref5$status === void 0 ? 'success' : _ref5$status;\n return css([\"position:absolute;display:flex;left:0;z-index:1;height:100%;min-width:44px;align-items:center;justify-content:center;box-sizing:border-box;border-radius:4px 0 0 4px;\", \"\"], popupContentMixin[status]);\n});\nvar Styled = applyDisplayNames({\n PopupContent: PopupContent,\n PopupStatus: PopupStatus,\n LabelWrapper: LabelWrapper,\n CloseWrapper: CloseWrapper,\n Label: Label\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"onClose\", \"message\", \"status\", \"popupStatusProps\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport PopupStatus from '../popup-status';\nimport CrossButton from '../cross-button/cross-button.component';\nimport Styled from './popup-content.styles';\nimport { Status } from '../popup-status/types';\nvar PopupContent = intrinsicComponent(function (_ref, ref) {\n var onClose = _ref.onClose,\n message = _ref.message,\n _ref$status = _ref.status,\n status = _ref$status === void 0 ? Status.Success : _ref$status,\n popupStatusProps = _ref.popupStatusProps,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.PopupContent, _extends({}, rest, {\n ref: ref\n }), /*#__PURE__*/React.createElement(Styled.PopupStatus, _extends({\n status: status,\n message: message\n }, popupStatusProps), /*#__PURE__*/React.createElement(PopupStatus, {\n status: status\n })), /*#__PURE__*/React.createElement(Styled.LabelWrapper, null, /*#__PURE__*/React.createElement(Styled.Label, null, message)), /*#__PURE__*/React.createElement(Styled.CloseWrapper, null, /*#__PURE__*/React.createElement(CrossButton, {\n size: \"sm\",\n onClick: onClose\n })));\n});\nexport default PopupContent;","export var Horizontal = {\n Center: 'center',\n Left: 'left',\n Right: 'right'\n};","export var Vertical = {\n Top: 'top',\n Bottom: 'bottom'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { css } from 'styled-components';\nimport { Horizontal, Vertical } from './types';\nexport var positionHorizontalMixin = _defineProperty(_defineProperty(_defineProperty({}, Horizontal.Left, css([\"left:25px;right:auto;\"])), Horizontal.Center, css([\"left:50%;right:auto;transform:translateX(-50%);\"])), Horizontal.Right, css([\"left:auto;right:25px;\"]));\nexport var positionVerticalMixin = _defineProperty(_defineProperty({}, Vertical.Top, css([\"top:25px;bottom:auto;\"])), Vertical.Bottom, css([\"top:auto;bottom:25px;\"]));","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { positionHorizontalMixin, positionVerticalMixin } from './popup.mixin';\nimport { Horizontal, Vertical } from './types';\nvar baseClassName = 'Popup';\nvar Popup = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-jmtjri-0\"\n})(function (_ref) {\n var anchorOrigin = _ref.anchorOrigin;\n return css([\"position:fixed;display:flex;align-items:center;justify-content:center;z-index:1400;\", \" \", \"\"], positionHorizontalMixin[(anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal) || Horizontal.Left], positionVerticalMixin[(anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical) || Vertical.Bottom]);\n});\nvar Styled = applyDisplayNames({\n Popup: Popup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"autoHideDuration\", \"anchorOrigin\", \"open\", \"onClose\", \"status\"];\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { intrinsicComponent, generateClassNames } from '../../utils/functions';\nimport usePortal from '../../hooks/use-portal';\nimport PopupContent from '../popup-content/popup-content.component';\nimport { Horizontal, Vertical } from './types';\nimport Styled from './popup.styles';\nimport { Status } from '../popup-status/types';\nvar Popup = intrinsicComponent(function (props, ref) {\n var _props$autoHideDurati = props.autoHideDuration,\n autoHideDuration = _props$autoHideDurati === void 0 ? 5000 : _props$autoHideDurati,\n _props$anchorOrigin = props.anchorOrigin,\n anchorOrigin = _props$anchorOrigin === void 0 ? {\n vertical: Vertical.Bottom,\n horizontal: Horizontal.Left\n } : _props$anchorOrigin,\n _props$open = props.open,\n open = _props$open === void 0 ? false : _props$open,\n onClose = props.onClose,\n _props$status = props.status,\n status = _props$status === void 0 ? Status.Success : _props$status,\n rest = _objectWithoutProperties(props, _excluded);\n var target = usePortal(generateClassNames('Popup'));\n var _useState = useState(autoHideDuration),\n _useState2 = _slicedToArray(_useState, 2),\n hoverHideDuration = _useState2[0],\n setHoverHideDuration = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHovering = _useState4[0],\n setIsHovering = _useState4[1];\n var handleMouseLeave = function handleMouseLeave() {\n setIsHovering(false);\n setHoverHideDuration(1000);\n };\n useEffect(function () {\n if (open) setHoverHideDuration(autoHideDuration);\n }, [open]);\n useEffect(function () {\n var timeout = null;\n if (open && !isHovering && hoverHideDuration && typeof onClose === 'function') {\n timeout = setTimeout(onClose, hoverHideDuration);\n }\n return function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n }, [hoverHideDuration, isHovering, open, onClose]);\n var render = function render() {\n if (!open) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Styled.Popup, _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHovering(true);\n },\n onMouseLeave: handleMouseLeave,\n anchorOrigin: anchorOrigin\n }, props), /*#__PURE__*/React.createElement(PopupContent, _extends({\n onClose: onClose,\n status: status,\n ref: ref\n }, rest)));\n };\n return /*#__PURE__*/createPortal(render(), target);\n});\nexport default Popup;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PC } from '../../utils/types/palette';\nvar baseClassName = 'RotationSlider';\nvar RotationSliderList = /*#__PURE__*/styled.ul.attrs({\n className: generateClassNames(baseClassName, 'list')\n}).withConfig({\n componentId: \"sc-1xuruq0-0\"\n})([\"display:flex;align-items:center;position:relative;padding:0;width:100%;list-style:none;\"]);\nvar RotationSliderBigDot = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'big-dot')\n}).withConfig({\n componentId: \"sc-1xuruq0-1\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"width:8px;height:8px;border-radius:50%;background-color:\", \";cursor:pointer;\"], palette[PC.LinkPrimary]);\n});\nvar RotationSliderSmallDotWrapper = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'small-dot-wrapper')\n}).withConfig({\n componentId: \"sc-1xuruq0-2\"\n})([\"padding:2px;\"]);\nvar RotationSliderSmallDot = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'small-dot')\n}).withConfig({\n componentId: \"sc-1xuruq0-3\"\n})(function (_ref2) {\n var palette = _ref2.theme.palette;\n return css([\"width:2px;height:2px;border-radius:50%;background-color:\", \";cursor:pointer;\"], palette[PC.LinkPrimary]);\n});\nvar RotationSliderControl = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'control')\n}).withConfig({\n componentId: \"sc-1xuruq0-4\"\n})(function (_ref3) {\n var palette = _ref3.theme.palette;\n return css([\"display:flex;justify-content:center;align-items:center;position:absolute;height:18px;width:2px;transform:translate(-50%,-50%);top:50%;background-color:\", \";& > input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}\"], palette[PC.LinkActive]);\n});\nvar RotationSliderMark = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'mark')\n}).withConfig({\n componentId: \"sc-1xuruq0-5\"\n})([\"padding:4px;\"]);\nvar RotationSliderMarkText = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'mark-text')\n}).withConfig({\n componentId: \"sc-1xuruq0-6\"\n})(function (_ref4) {\n var palette = _ref4.theme.palette;\n return css([\"position:absolute;top:20px;font-size:14px;transform:translateX(-10%);color:\", \";\"], palette[PC.TextPrimary]);\n});\nvar Styled = applyDisplayNames({\n RotationSliderList: RotationSliderList,\n RotationSliderBigDot: RotationSliderBigDot,\n RotationSliderSmallDotWrapper: RotationSliderSmallDotWrapper,\n RotationSliderSmallDot: RotationSliderSmallDot,\n RotationSliderControl: RotationSliderControl,\n RotationSliderMark: RotationSliderMark,\n RotationSliderMarkText: RotationSliderMarkText\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"min\", \"max\", \"angle\", \"onChange\", \"onMouseDown\", \"onMouseUp\", \"step\", \"labelTooltipOptions\", \"annotation\", \"hideMarkText\", \"showCurrentMarkText\", \"value\", \"railProps\", \"trackProps\", \"thumbProps\", \"labelTooltipProps\", \"markStyles\", \"markTextStyles\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Slider from '../slider';\nimport { LabelTooltip } from '../slider/types';\nimport Styled from './rotation-slider.styles';\nvar RotationSlider = intrinsicComponent(function (_ref, ref) {\n var _ref$min = _ref.min,\n min = _ref$min === void 0 ? 0 : _ref$min,\n _ref$max = _ref.max,\n max = _ref$max === void 0 ? 100 : _ref$max,\n _ref$angle = _ref.angle,\n angle = _ref$angle === void 0 ? 10 : _ref$angle,\n onChange = _ref.onChange,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n _ref$step = _ref.step,\n step = _ref$step === void 0 ? 1 : _ref$step,\n _ref$labelTooltipOpti = _ref.labelTooltipOptions,\n labelTooltipOptions = _ref$labelTooltipOpti === void 0 ? LabelTooltip.Off : _ref$labelTooltipOpti,\n _ref$annotation = _ref.annotation,\n annotation = _ref$annotation === void 0 ? '°' : _ref$annotation,\n _ref$hideMarkText = _ref.hideMarkText,\n hideMarkText = _ref$hideMarkText === void 0 ? false : _ref$hideMarkText,\n _ref$showCurrentMarkT = _ref.showCurrentMarkText,\n showCurrentMarkText = _ref$showCurrentMarkT === void 0 ? false : _ref$showCurrentMarkT,\n value = _ref.value,\n _ref$railProps = _ref.railProps,\n railProps = _ref$railProps === void 0 ? {} : _ref$railProps,\n _ref$trackProps = _ref.trackProps,\n trackProps = _ref$trackProps === void 0 ? {} : _ref$trackProps,\n _ref$thumbProps = _ref.thumbProps,\n thumbProps = _ref$thumbProps === void 0 ? {} : _ref$thumbProps,\n _ref$labelTooltipProp = _ref.labelTooltipProps,\n labelTooltipProps = _ref$labelTooltipProp === void 0 ? {} : _ref$labelTooltipProp,\n _ref$markStyles = _ref.markStyles,\n markStyles = _ref$markStyles === void 0 ? {} : _ref$markStyles,\n _ref$markTextStyles = _ref.markTextStyles,\n markTextStyles = _ref$markTextStyles === void 0 ? {} : _ref$markTextStyles,\n rest = _objectWithoutProperties(_ref, _excluded);\n var handleChange = function handleChange(event, newValue) {\n if (onChange) {\n onChange(event, newValue);\n }\n };\n var getValue = function getValue() {\n if (value || value === 0) {\n if (value > max) {\n return max;\n }\n if (value < min) {\n return min;\n }\n return value;\n }\n return min;\n };\n var showMarkText = function showMarkText(index) {\n if (hideMarkText) return false;\n if (!showCurrentMarkText) return true;\n return getValue() === index;\n };\n var renderBar = function renderBar() {\n var barDom = [];\n var barDiv;\n for (var i = min; i <= max; i += step) {\n barDiv = [];\n if (i % angle === 0 || i === max) {\n barDiv = /*#__PURE__*/React.createElement(Styled.RotationSliderMark, {\n key: i,\n style: _objectSpread({}, markStyles)\n }, showMarkText(i) && /*#__PURE__*/React.createElement(Styled.RotationSliderMarkText, {\n style: _objectSpread({}, markTextStyles)\n }, i === min + 1 ? max : i, /*#__PURE__*/React.createElement(\"sup\", null, annotation)), /*#__PURE__*/React.createElement(Styled.RotationSliderBigDot, null));\n } else if (i % 10 === 0) {\n barDiv = /*#__PURE__*/React.createElement(Styled.RotationSliderSmallDotWrapper, {\n key: i\n }, /*#__PURE__*/React.createElement(Styled.RotationSliderSmallDot, null));\n }\n if (!Array.isArray(barDiv)) {\n barDom.push(barDiv);\n }\n }\n return barDom;\n };\n return /*#__PURE__*/React.createElement(Slider, _extends({\n min: min,\n max: max,\n step: step,\n value: getValue(),\n hideTrack: true,\n hideAnnotation: true,\n annotation: annotation,\n onChange: function onChange(event, newValue) {\n return handleChange(event, newValue);\n },\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp,\n labelTooltip: labelTooltipOptions,\n ref: ref,\n components: {\n Rail: function Rail(props, style) {\n return /*#__PURE__*/React.createElement(Styled.RotationSliderList, _extends({}, props, {\n styles: _objectSpread({}, style)\n }), renderBar());\n },\n Thumb: Styled.RotationSliderControl\n },\n componentsProps: {\n rail: _objectSpread(_objectSpread({}, railProps), {}, {\n style: _objectSpread({}, railProps.style)\n }),\n track: _objectSpread(_objectSpread({}, trackProps), {}, {\n style: _objectSpread({}, trackProps.style)\n }),\n thumb: _objectSpread(_objectSpread({}, thumbProps), {}, {\n style: _objectSpread({\n top: '15%'\n }, thumbProps.style)\n }),\n labelTooltip: _objectSpread(_objectSpread({}, labelTooltipProps), {}, {\n style: _objectSpread({}, labelTooltipProps.style)\n })\n }\n }, rest, {\n defaultValue: Number(rest.defaultValue),\n style: _objectSpread({\n width: 'auto',\n height: 'auto'\n }, rest.style)\n }));\n});\nexport default RotationSlider;","import styled from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport StyledInputGroup from '../input-group/input-group.styles';\nvar baseClassName = 'SelectGroup';\nvar SelectGroup = /*#__PURE__*/styled(StyledInputGroup.InputGroup).attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1uvutwe-0\"\n})([\"\"]);\nvar Styled = applyDisplayNames({\n SelectGroup: SelectGroup\n});\nexport default Styled;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\", \"error\", \"label\", \"placeholder\", \"hint\", \"LabelProps\", \"SelectProps\", \"selectProps\", \"fullWidth\", \"showSelectionKey\", \"value\", \"multiple\", \"hideMenuItemsActions\", \"onChange\", \"readOnly\", \"disabled\", \"showClearIcon\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Label from '../label';\nimport Select from '../select';\nimport FormHint from '../form-hint';\nimport Styled from './select-group.styles';\nvar SelectGroup = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n size = _ref.size,\n _ref$error = _ref.error,\n error = _ref$error === void 0 ? false : _ref$error,\n label = _ref.label,\n placeholder = _ref.placeholder,\n hint = _ref.hint,\n LabelPropsData = _ref.LabelProps,\n SelectPropsData = _ref.SelectProps,\n selectProps = _ref.selectProps,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n showSelectionKey = _ref.showSelectionKey,\n value = _ref.value,\n multiple = _ref.multiple,\n _ref$hideMenuItemsAct = _ref.hideMenuItemsActions,\n hideMenuItemsActions = _ref$hideMenuItemsAct === void 0 ? false : _ref$hideMenuItemsAct,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n showClearIcon = _ref.showClearIcon,\n rest = _objectWithoutProperties(_ref, _excluded);\n var renderLabel = function renderLabel() {\n if (label) {\n if (typeof label === 'function') {\n return label({\n error: error\n });\n }\n if (_typeof(label) === 'object') {\n return label;\n }\n return /*#__PURE__*/React.createElement(Label, LabelPropsData || {}, label);\n }\n return null;\n };\n var renderHint = function renderHint() {\n if (hint) {\n if (typeof hint === 'function') {\n return hint({\n error: error\n });\n }\n if (_typeof(hint) === 'object') {\n return hint;\n }\n return /*#__PURE__*/React.createElement(FormHint, {\n error: error\n }, hint);\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(Styled.SelectGroup, _extends({}, rest, {\n ref: ref\n }), renderLabel(), /*#__PURE__*/React.createElement(Select, _extends({\n error: error,\n value: value,\n size: size,\n onChange: onChange,\n multiple: multiple,\n fullWidth: Boolean(fullWidth)\n }, SelectPropsData || {}, {\n selectProps: selectProps,\n readOnly: readOnly,\n disabled: disabled,\n placeholder: placeholder,\n showSelectionKey: showSelectionKey,\n hideMenuItemsActions: hideMenuItemsActions,\n showClearIcon: showClearIcon\n }), children), renderHint());\n});\nexport default SelectGroup;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nvar baseClassName = 'Backdrop';\nvar Backdrop = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-txa5a-0\"\n})(function (_ref) {\n var palette = _ref.theme.palette;\n return css([\"position:fixed;display:flex;align-items:center;justify-content:center;inset:0px;background-color:\", \";transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:1;z-index:-1;\"], palette[PColor.Extra_0_3_Overlay]);\n});\nvar Styled = applyDisplayNames({\n Backdrop: Backdrop\n});\nexport default Styled;","import _objectDestructuringEmpty from \"@babel/runtime/helpers/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './backdrop.styles';\n\n// TODO: add story for this component?\nvar Backdrop = intrinsicComponent(function (_ref, ref) {\n var rest = _extends({}, (_objectDestructuringEmpty(_ref), _ref));\n return /*#__PURE__*/React.createElement(Styled.Backdrop, _extends({}, rest, {\n ref: ref\n }));\n});\nexport default Backdrop;","import styled, { css } from 'styled-components';\nimport { generateClassNames, applyDisplayNames, scrollBar } from '../../utils/functions';\nimport { Color as PColor } from '../../utils/types/palette';\nimport { Shadows as PShadows } from '../../utils/types/shadows';\nimport { FontVariant as FV } from '../../utils/types/typography/font-variant';\nimport Accordion from '../accordion/accordion.component';\nimport AccordionHeaderStyled from '../accordion-header/accordion-header.styles';\nimport AccordionDetailsStyled from '../accordion-details/accordion-details.styles';\nvar baseClassName = 'Drawer';\nvar TemporaryDrawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'temporary')\n}).withConfig({\n componentId: \"sc-1riasfx-0\"\n})(function (_ref) {\n var open = _ref.open;\n return css([\"position:absolute;inset:0px;z-index:1200;visibility:\", \";\"], !open && 'hidden');\n});\nvar PersistentDrawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'persistent')\n}).withConfig({\n componentId: \"sc-1riasfx-1\"\n})([\"\"]);\nvar Drawer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'root')\n}).withConfig({\n componentId: \"sc-1riasfx-2\"\n})(function (_ref2) {\n var open = _ref2.open,\n isCollapsed = _ref2.isCollapsed,\n _ref2$top = _ref2.top,\n top = _ref2$top === void 0 ? 0 : _ref2$top,\n _ref2$theme = _ref2.theme,\n palette = _ref2$theme.palette,\n shadows = _ref2$theme.shadows,\n breakpoints = _ref2$theme.breakpoints;\n return css([\"display:flex;flex-direction:column;flex:1 0 auto;background-color:\", \";box-shadow:\", \";overflow-y:overlay;overflow-x:hidden;transform:\", \";visibility:\", \";transition:200ms;height:calc(100% - \", \"px);\", \"{margin-top:0px;height:100%;}\", \" &{margin-top:0px;height:100%;}box-sizing:border-box;width:\", \";\", \"\"], palette[PColor.BackgroundStateless], shadows[PShadows.LeftPanelMd], open ? 'none' : 'translateX(-100%)', !open && 'hidden', top, breakpoints.down('md'), breakpoints.classes.sm, isCollapsed ? '68px' : '302px', scrollBar);\n});\nvar Header = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'header')\n}).withConfig({\n componentId: \"sc-1riasfx-3\"\n})(function (_ref3) {\n var isCollapsed = _ref3.isCollapsed;\n return css([\"display:\", \";justify-content:flex-start;align-items:center;position:relative;text-decoration:none;width:100%;box-sizing:border-box;text-align:left;margin-top:12px;transition:background-color 100ms ease-out;\"], isCollapsed ? 'none' : 'flex');\n});\nvar Body = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'body')\n}).withConfig({\n componentId: \"sc-1riasfx-4\"\n})([\"flex:1 1 auto;.SfxAccordionDetails-root{margin:0;}\"]);\nvar Footer = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'footer')\n}).withConfig({\n componentId: \"sc-1riasfx-5\"\n})(function (_ref4) {\n var isCollapsed = _ref4.isCollapsed;\n return css([\"display:flex;flex-direction:column;width:100%;padding:\", \";\"], isCollapsed ? '0px' : '0px 8px');\n});\nvar List = /*#__PURE__*/styled.ul.attrs({\n className: generateClassNames(baseClassName, 'list')\n}).withConfig({\n componentId: \"sc-1riasfx-6\"\n})([\"list-style:none;margin:12px 0;padding:0;position:relative;\"]);\nvar Item = /*#__PURE__*/styled.li.attrs({\n className: generateClassNames(baseClassName, 'item')\n}).withConfig({\n componentId: \"sc-1riasfx-7\"\n})(function (_ref5) {\n var palette = _ref5.theme.palette,\n isCollapsed = _ref5.isCollapsed,\n selected = _ref5.selected;\n return css([\"display:\", \";justify-content:flex-start;align-items:center;position:relative;text-decoration:none;width:100%;box-sizing:border-box;text-align:left;padding:13px 16px;transition:background-color 100ms ease-out;margin-bottom:4px;cursor:pointer;&:hover{background-color:\", \";& > *{color:\", \";}}\", \"\"], isCollapsed ? 'none' : 'flex', palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"background-color:\", \";& > *{color:\", \" !important;}\"], palette[PColor.BackgroundActive], palette[PColor.AccentStateless]));\n});\nvar ItemText = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'text')\n}).withConfig({\n componentId: \"sc-1riasfx-8\"\n})(function (_ref6) {\n var _ref6$theme = _ref6.theme,\n palette = _ref6$theme.palette,\n font = _ref6$theme.typography.font,\n fontKey = _ref6.font,\n isCollapsed = _ref6.isCollapsed;\n return css([\"flex:1 1 auto;color:\", \";\", \";transition:color 100ms ease-out;display:\", \";user-select:none;\"], palette[PColor.TextPrimary], font[fontKey || FV.LabelLarge], isCollapsed && 'none');\n});\nvar Icon = /*#__PURE__*/styled.span.attrs({\n className: generateClassNames(baseClassName, 'icon')\n}).withConfig({\n componentId: \"sc-1riasfx-9\"\n})(function (_ref7) {\n var palette = _ref7.theme.palette,\n isCollapsed = _ref7.isCollapsed;\n return css([\"display:flex;flex-shrink:0;color:\", \";margin-right:\", \";transition:color 100ms ease-out;\"], palette[PColor.IconsPrimary], isCollapsed ? '0px' : '12px');\n});\nvar ItemButton = /*#__PURE__*/styled.div.attrs({\n className: generateClassNames(baseClassName, 'item-button')\n}).withConfig({\n componentId: \"sc-1riasfx-10\"\n})(function (_ref8) {\n var palette = _ref8.theme.palette,\n isCollapsed = _ref8.isCollapsed,\n selected = _ref8.selected;\n return css([\"display:flex;justify-content:\", \";align-items:center;border-radius:4px;box-sizing:border-box;text-align:left;padding:\", \";width:\", \";margin-bottom:12px;\", \";transition:background-color 150ms cubic-bezier(0.4,0,0.2,1) 0ms;cursor:pointer;&:hover{background-color:\", \";& > *{color:\", \";}}\", \"\"], isCollapsed ? 'center' : 'flex-start', isCollapsed ? '12px 0px' : '13px 16px', isCollapsed && '44px', isCollapsed && 'margin: 12px', palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"background-color:\", \";& > *{color:\", \";}\"], palette[PColor.BackgroundActive], palette[PColor.AccentStateless]));\n});\nvar CollapsedButton = /*#__PURE__*/styled(ItemButton).attrs({\n className: generateClassNames(baseClassName, 'item-button')\n}).withConfig({\n componentId: \"sc-1riasfx-11\"\n})(function (_ref9) {\n var palette = _ref9.theme.palette,\n isCollapsed = _ref9.isCollapsed;\n return css([\"\", \" &:hover{background-color:\", \";& > *{color:\", \";}svg{color:\", \";background-color:\", \";border-radius:50%;path:first-of-type{color:\", \";}}}\"], !isCollapsed && css([\"padding:13px 16px;\"]), palette[PColor.BackgroundActive], palette[PColor.AccentStateless], palette[PColor.BackgroundActive], palette[PColor.AccentStateless], palette[PColor.AccentStateless]);\n});\nvar DrawerAccordion = /*#__PURE__*/styled(Accordion).attrs({\n className: generateClassNames(baseClassName, 'accordion')\n}).withConfig({\n componentId: \"sc-1riasfx-12\"\n})(function (_ref10) {\n var _ref10$theme = _ref10.theme,\n palette = _ref10$theme.palette,\n font = _ref10$theme.typography.font,\n selected = _ref10.selected;\n return css([\"\", \"{padding:13px 16px;transition:background-color 100ms ease-out;\", \"{\", \";color:\", \";}&:hover{background-color:\", \";& > *{color:\", \";}}\", \"}\", \"{padding:0px 16px;}\"], AccordionHeaderStyled.Header, AccordionHeaderStyled.Label, font[FV.LabelLargeEmphasis], palette[PColor.TextPrimary], palette[PColor.BackgroundActive], palette[PColor.AccentStateless], selected && css([\"\", \"{color:\", \";}\"], AccordionHeaderStyled.Label, palette[PColor.AccentStateless]), AccordionDetailsStyled.AccordionDetails);\n});\nvar Styled = applyDisplayNames({\n TemporaryDrawer: TemporaryDrawer,\n PersistentDrawer: PersistentDrawer,\n Drawer: Drawer,\n Header: Header,\n Body: Body,\n Footer: Footer,\n List: List,\n Item: Item,\n ItemButton: ItemButton,\n Icon: Icon,\n ItemText: ItemText,\n DrawerAccordion: DrawerAccordion,\n CollapsedButton: CollapsedButton\n});\nexport default Styled;","import { createContext } from 'react';\nvar DrawerContext = /*#__PURE__*/createContext({\n isCollapsed: false,\n size: 20\n});\nif (process.env.NODE_ENV !== 'production') {\n DrawerContext.displayName = 'DrawerContext';\n}\nexport default DrawerContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"font\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nimport DrawerContext from './drawer.context';\nvar DrawerItemText = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n font = _ref.font,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.ItemText, _extends({\n font: font,\n isCollapsed: isCollapsed\n }, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerItemText;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"size\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nimport DrawerContext from './drawer.context';\nvar DrawerItemIcon = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$size = _ref.size,\n iconSize = _ref$size === void 0 ? 20 : _ref$size,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed,\n size = _useContext.size;\n return /*#__PURE__*/React.createElement(Styled.Icon, _extends({}, rest, {\n isCollapsed: isCollapsed,\n ref: ref\n }), children && typeof children === 'function' ? children({\n size: size || iconSize\n }) : children);\n});\nexport default DrawerItemIcon;","export var Variant = {\n Auto: 'auto',\n Temporary: 'temporary',\n Persistent: 'persistent'\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"open\", \"iconsSize\", \"collapsed\", \"top\", \"hideBackdrop\", \"disablePortal\", \"collapseButtonLabel\", \"persistentDrawerStyles\", \"temproryDrawerStyles\", \"variant\", \"onClose\", \"onCollapse\", \"onCollapseClick\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport ArrowSidebarLeftOutline from '@scaleflex/icons/arrow-sidebar-left-outline';\nimport ArrowSidebarRightOutline from '@scaleflex/icons/arrow-sidebar-right-outline';\nimport { intrinsicComponent } from '../../utils/functions';\nimport { useMediaQuery, useTheme } from '../../theme/hooks';\nimport DrawerItemText from './drawer-item-text-component';\nimport DrawerItemIcon from './drawer-item-icon.component';\nimport DrawerContext from './drawer.context';\nimport Backdrop from '../backdrop';\nimport Styled from './drawer.styles';\nimport { Variant } from './types';\nvar Drawer = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n open = _ref.open,\n _ref$iconsSize = _ref.iconsSize,\n iconsSize = _ref$iconsSize === void 0 ? 20 : _ref$iconsSize,\n _ref$collapsed = _ref.collapsed,\n collapsed = _ref$collapsed === void 0 ? false : _ref$collapsed,\n top = _ref.top,\n _ref$hideBackdrop = _ref.hideBackdrop,\n hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,\n disablePortal = _ref.disablePortal,\n _ref$collapseButtonLa = _ref.collapseButtonLabel,\n collapseButtonLabel = _ref$collapseButtonLa === void 0 ? 'Collapse menu' : _ref$collapseButtonLa,\n _ref$persistentDrawer = _ref.persistentDrawerStyles,\n persistentDrawerStyles = _ref$persistentDrawer === void 0 ? {} : _ref$persistentDrawer,\n _ref$temproryDrawerSt = _ref.temproryDrawerStyles,\n temproryDrawerStyles = _ref$temproryDrawerSt === void 0 ? {} : _ref$temproryDrawerSt,\n _ref$variant = _ref.variant,\n variant = _ref$variant === void 0 ? Variant.Auto : _ref$variant,\n onClose = _ref.onClose,\n onCollapse = _ref.onCollapse,\n onCollapseClick = _ref.onCollapseClick,\n rest = _objectWithoutProperties(_ref, _excluded);\n var theme = useTheme();\n var matchDownXl = useMediaQuery(theme.breakpoints.down('xl'));\n var _useState = useState(collapsed),\n _useState2 = _slicedToArray(_useState, 2),\n isCollapsed = _useState2[0],\n setIsCollapsed = _useState2[1];\n var temporaryDrawerRef = useRef(null);\n var DrawerIconsSize = useMemo(function () {\n return iconsSize;\n }, [iconsSize]);\n var target = document.querySelector('body');\n useEffect(function () {\n setIsCollapsed(collapsed);\n }, [collapsed]);\n useEffect(function () {\n if (onCollapse) {\n onCollapse(isCollapsed);\n }\n }, [isCollapsed]);\n var handleCollapse = function handleCollapse() {\n var newCollapseState = !isCollapsed;\n setIsCollapsed(newCollapseState);\n if (onCollapseClick) {\n onCollapseClick(newCollapseState);\n }\n };\n var handleClose = function handleClose() {\n if (typeof onClose === 'function') {\n onClose();\n }\n };\n var keyListener = function keyListener(ev) {\n var isTemporaryDrawer = false;\n if (temporaryDrawerRef !== null && temporaryDrawerRef !== void 0 && temporaryDrawerRef.current) {\n var _temporaryDrawerRef$c;\n isTemporaryDrawer = (temporaryDrawerRef === null || temporaryDrawerRef === void 0 || (_temporaryDrawerRef$c = temporaryDrawerRef.current) === null || _temporaryDrawerRef$c === void 0 ? void 0 : _temporaryDrawerRef$c.offsetWidth) > 0;\n }\n if (ev.key === 'Escape' && isTemporaryDrawer) {\n handleClose();\n }\n };\n useEffect(function () {\n document.addEventListener('keydown', keyListener);\n return function () {\n return document.removeEventListener('keydown', keyListener);\n };\n }, []);\n var renderDrawer = function renderDrawer(showCollapsedButton) {\n return /*#__PURE__*/React.createElement(Styled.Drawer, _extends({\n open: open,\n top: top\n }, rest, {\n isCollapsed: showCollapsedButton ? isCollapsed : false,\n ref: ref\n }), children, showCollapsedButton && /*#__PURE__*/React.createElement(Styled.CollapsedButton, {\n onClick: handleCollapse,\n isCollapsed: isCollapsed\n }, /*#__PURE__*/React.createElement(DrawerItemIcon, null, isCollapsed ? function (props) {\n return /*#__PURE__*/React.createElement(ArrowSidebarRightOutline, _extends({}, props, {\n size: iconsSize\n }));\n } : function (props) {\n return /*#__PURE__*/React.createElement(ArrowSidebarLeftOutline, _extends({}, props, {\n size: iconsSize\n }));\n }), /*#__PURE__*/React.createElement(DrawerItemText, null, collapseButtonLabel)));\n };\n var renderBackdrop = function renderBackdrop() {\n return !hideBackdrop && open ? /*#__PURE__*/React.createElement(Backdrop, {\n onClick: onClose\n }) : null;\n };\n var temporaryDrawer = function temporaryDrawer() {\n return disablePortal ? /*#__PURE__*/React.createElement(Styled.TemporaryDrawer, {\n ref: temporaryDrawerRef,\n style: _objectSpread({}, temproryDrawerStyles),\n open: open\n }, renderBackdrop(), renderDrawer(false)) : ( /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Styled.TemporaryDrawer, {\n ref: temporaryDrawerRef,\n style: _objectSpread({}, temproryDrawerStyles),\n open: open\n }, renderBackdrop(), renderDrawer(false)), target));\n };\n var persistentDrawer = function persistentDrawer() {\n return /*#__PURE__*/React.createElement(Styled.PersistentDrawer, {\n style: _objectSpread({}, persistentDrawerStyles)\n }, renderDrawer(true));\n };\n var getDrawerVariant = function getDrawerVariant() {\n switch (variant) {\n case Variant.Auto:\n return matchDownXl ? temporaryDrawer() : persistentDrawer();\n case Variant.Temporary:\n return temporaryDrawer();\n case Variant.Persistent:\n return persistentDrawer();\n default:\n return matchDownXl ? temporaryDrawer() : persistentDrawer();\n }\n };\n return /*#__PURE__*/React.createElement(DrawerContext.Provider, {\n value: {\n isCollapsed: !matchDownXl ? isCollapsed : false,\n size: DrawerIconsSize\n }\n }, getDrawerVariant());\n});\nexport default Drawer;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport DrawerContext from './drawer.context';\nimport Styled from './drawer.styles';\nvar DrawerHeader = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.Header, _extends({}, rest, {\n isCollapsed: isCollapsed,\n ref: ref\n }), children);\n});\nexport default DrawerHeader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nvar DrawerBody = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.Body, _extends({}, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerBody;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport React from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport Styled from './drawer.styles';\nvar DrawerList = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Styled.List, _extends({}, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"selected\"];\nimport React, { useContext } from 'react';\nimport { intrinsicComponent } from '../../utils/functions';\nimport DrawerContext from './drawer.context';\nimport Styled from './drawer.styles';\nvar DrawerItem = intrinsicComponent(function (_ref, ref) {\n var children = _ref.children,\n _ref$selected = _ref.selected,\n selected = _ref$selected === void 0 ? false : _ref$selected,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useContext = useContext(DrawerContext),\n isCollapsed = _useContext.isCollapsed;\n return /*#__PURE__*/React.createElement(Styled.Item, _extends({\n selected: selected,\n isCollapsed: isCollapsed\n }, rest, {\n ref: ref\n }), children);\n});\nexport default DrawerItem;","import{Input,Label}from\"@scaleflex/ui/core\";import styled from\"styled-components\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledHSVOptions=styled.div.withConfig({componentId:\"sc-1rfxjvn-0\"})([\"display:flex;width:100%;justify-content:space-between;gap:10px;.SfxSlider-root{min-width:100px;}\",\"\"],function(a){var b=a.isPhoneScreen;return b&&\"\\n flex-direction: column;\\n\\n .SfxSlider-root {\\n min-width: 230px;\\n }\\n \"}),StyledSliderContainer=styled.div.withConfig({componentId:\"sc-1rfxjvn-1\"})([\"display:flex;flex-direction:column;\"]),StyledSliderLabel=styled(Label).withConfig({componentId:\"sc-1rfxjvn-2\"})([\"\",\";\"],function(a){var b=a.theme;return b.typography.font[FV.LabelExtraSmallUp]}),StyledSliderWrapper=styled.div.withConfig({componentId:\"sc-1rfxjvn-3\"})([\"display:flex;align-items:center;\"]),StyledSliderInput=styled(Input).withConfig({componentId:\"sc-1rfxjvn-4\"})([\"display:inline-block;width:40px;height:28px;padding:6px 2px;margin-left:10px;border:none;.SfxInput-Base{text-align:center;width:100%;min-width:100%;max-width:100%;}\"]);export{StyledHSVOptions,StyledSliderContainer,StyledSliderLabel,StyledSliderWrapper,StyledSliderInput};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=-1,DEFAULT_VALUE={brightness:0},MAX_VALUE=1,sliderStyle={width:150,padding:0,margin:0},BrightnessOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Brighten,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({brightness:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_brightness-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_brightness-option-label\"},d(\"brightness\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_brightness-option\",min:MIN_VALUE,step:.05,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.brightness)&&void 0!==b?b:DEFAULT_VALUE.brightness,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.brightness)&&void 0!==c?c:DEFAULT_VALUE.brightness,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default BrightnessOptions;","import{DEFAULT_ZOOM_FACTOR}from\"./constants\";var getZoomFitFactor=function(a,b){return Math.min(a.width/b.width,a.height/b.height)||DEFAULT_ZOOM_FACTOR};export default getZoomFitFactor;","import Custom from\"@scaleflex/icons/custom\";import Ellipse from\"@scaleflex/icons/ellipse\";import Landscape from\"@scaleflex/icons/landscape\";import Portrait from\"@scaleflex/icons/portrait\";import ImageOutline from\"@scaleflex/icons/image-outline\";import{CUSTOM_CROP,ELLIPSE_CROP,ORIGINAL_CROP}from\"../../../utils/constants\";import toPrecisedFloat from\"../../../utils/toPrecisedFloat\";export var DEFAULT_CROP_PRESETS=[{titleKey:\"custom\",ratio:CUSTOM_CROP,icon:Custom,hide:function hide(){var a=0n.width||d.height>n.height?getZoomFitFactor(n,d):DEFAULT_ZOOM_FACTOR}})),c()};return React.createElement(React.Fragment,null,React.createElement(StyledToolsBarItemButtonWrapper,null,React.createElement(StyledToolsBarItemButtonLabel,{className:\"FIE_crop-tool-label FIE_selected-crop-preset-label\",isPhoneScreen:r},g(l||\"cropTool\")),React.createElement(StyledOpenMenuButton,{className:\"FIE_crop-presets-opener-button\",color:\"link-secondary\",size:\"lg\"},b?React.createElement(MoveUpOutline,{size:10}):React.createElement(MoveDownOutline,{size:10}))),React.createElement(Menu,{className:\"FIE_crop-presets-menu\",anchorEl:b,enableOverlay:!0,onClose:c,open:!!b,position:\"top\",popperOptions:{modifiers:[{name:\"offset\",options:{offset:[0,4]}}]},maxHeight:\"100%\"},React.createElement(StyledMenu,null,s.map(function renderPreset(a){var b=a.titleKey,c=a.descriptionKey,d=a.ratio,e=a.width,f=a.height,h=a.groups,i=a.icon,j=a.disableManualResize,l=a.noEffect;return h?React.createElement(CropPresetGroupsList,{key:b,titleKey:b,groups:h,Icon:i,theme:p,onItemSelect:t,t:g,disableManualResize:j}):React.createElement(CropPresetItem,{key:d,ratio:null!==d&&void 0!==d?d:toPrecisedFloat(e/f),titleKey:b,t:g,description:g(c),Icon:i,isActive:(k||ORIGINAL_CROP)===(null!==d&&void 0!==d?d:toPrecisedFloat(e/f))&&!m,theme:p,width:e,height:f,onClick:t,disableManualResize:j,noEffect:l})}))))};CropPresetsOption.defaultProps={anchorEl:null};export default CropPresetsOption;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState}from\"react\";import{Crop as CropIcon}from\"@scaleflex/icons/crop\";import{useStore}from\"../../../hooks\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";import{StyledToolsBarItemButtonLabel}from\"../../ToolsBar/ToolsBar.styled\";import CropPresetsOption from\"./CropPresetsOption\";var Crop=function(a){var b=a.selectTool,c=a.isSelected,d=useStore(),e=d.config,f=d.t,g=useState(),h=_slicedToArray(g,2),i=h[0],j=h[1];return React.createElement(ToolsBarItemButton,{className:\"FIE_crop-tool\",id:TOOLS_IDS.CROP,Icon:CropIcon,onClick:function selectToolAndShowPresets(a,c){b(a),j(c.currentTarget)},isSelected:c},e[TOOLS_IDS.CROP].noPresets?React.createElement(StyledToolsBarItemButtonLabel,{className:\"FIE_crop-tool-label\"},f(\"cropTool\")):React.createElement(CropPresetsOption,{anchorEl:i,onClose:function closeCropPresets(){j(null)}}))};Crop.defaultProps={isSelected:!1};export default Crop;","import React,{useCallback,useMemo}from\"react\";import{FlipX as FlipXIcon}from\"@scaleflex/icons/flip-x\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{FLIP_DIRECTIONS,TOOLS_IDS}from\"../../../utils/constants\";import{TOGGLE_FLIP}from\"../../../actions\";import{usePhoneScreen,useStore}from\"../../../hooks\";var xFlipReverseSideStyle={transform:\"scaleX(-1)\"},FlipX=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedX,h=usePhoneScreen(320),i=useCallback(function(){return React.createElement(FlipXIcon,{size:h?20:16,style:g?xFlipReverseSideStyle:void 0})},[g,h]),j=useMemo(function(){return{reverseLabelOfCurrXFlipDir:g?d(\"unFlipX\"):d(\"flipX\"),reverseIconOfCurrXFlipDir:i}},[g,i]),k=j.reverseLabelOfCurrXFlipDir,l=j.reverseIconOfCurrXFlipDir,m=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.X}})},[]),n=useCallback(function(a){b(a),m()},[]);return React.createElement(ToolsBarItemButton,{className:\"FIE_flip-x-tool-button\",id:TOOLS_IDS.FLIP_X,label:k,Icon:l,onClick:n,isSelected:c})};FlipX.defaultProps={isSelected:!1};export default FlipX;","import React,{useCallback,useMemo}from\"react\";import{FlipY as FlipYIcon}from\"@scaleflex/icons/flip-y\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{FLIP_DIRECTIONS,TOOLS_IDS}from\"../../../utils/constants\";import{TOGGLE_FLIP}from\"../../../actions\";import{usePhoneScreen,useStore}from\"../../../hooks\";var yFlipReverseSideStyle={transform:\"scaleY(-1)\"},FlipY=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedY,h=usePhoneScreen(320),i=useCallback(function(){return React.createElement(FlipYIcon,{size:h?20:16,style:g?yFlipReverseSideStyle:void 0})},[g,h]),j=useMemo(function(){return{reverseLabelOfCurrYFlipDir:g?d(\"unFlipY\"):d(\"flipY\"),reverseIconOfCurrYFlipDir:i}},[g]),k=j.reverseLabelOfCurrYFlipDir,l=j.reverseIconOfCurrYFlipDir,m=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.Y}})},[]),n=useCallback(function(a){b(a),m()},[]);return React.createElement(ToolsBarItemButton,{className:\"FIE_flip-y-tool-button\",id:TOOLS_IDS.FLIP_Y,label:k,Icon:l,onClick:n,isSelected:c})};FlipY.defaultProps={isSelected:!1};export default FlipY;","import React from\"react\";import{RotationLeft as RotateIcon}from\"@scaleflex/icons/rotation-left\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var RotateButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_rotate-tool-button\",id:TOOLS_IDS.ROTATE,label:d(\"rotateTool\"),Icon:RotateIcon,onClick:b,isSelected:c})};RotateButton.defaultProps={isSelected:!1};export default RotateButton;","import styled from\"styled-components\";import{IconButton,RotationSlider}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledRotationOptions=styled.div.withConfig({componentId:\"sc-wbx58r-0\"})([\"display:flex;align-items:center;gap:16px;\"]),StyledRotationSlider=styled(RotationSlider).withConfig({componentId:\"sc-wbx58r-1\"})([\".SfxRotationSlider-control{width:1px;height:10px;background-color:\",\";&:before{box-shadow:unset;}}.SfxRotationSlider-mark,.SfxRotationSlider-small-dot-wrapper{padding:0;.SfxRotationSlider-mark-text{top:10px;}.SfxRotationSlider-big-dot{width:4px;height:4px;}.SfxRotationSlider-small-dot{width:1px;height:1px;}}.SfxRotationSlider-list{gap:4px;}\"],function(a){var b=a.theme.palette;return b[PC.IconsSecondary]}),StyledRotateButton=styled(IconButton).withConfig({componentId:\"sc-wbx58r-2\"})([\"\"]);export{StyledRotationOptions,StyledRotationSlider,StyledRotateButton};","import React from\"react\";import RotationLeft from\"@scaleflex/icons/rotation-left\";import RotationRight from\"@scaleflex/icons/rotation-right\";import{Rotate90}from\"@scaleflex/icons\";import{useDebouncedCallback,usePhoneScreen,useStore}from\"../../../hooks\";import{CHANGE_ROTATION,SET_RESIZE}from\"../../../actions\";import restrictNumber from\"../../../utils/restrictNumber\";import getSizeAfterRotation from\"../../../utils/getSizeAfterRotation\";import{TOOLS_IDS}from\"../../../utils/constants\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{StyledRotationOptions,StyledRotationSlider,StyledRotateButton}from\"./Rotate.styled\";var RotateOptions=function(){var a=useStore(),b=a.dispatch,c=a.adjustments.rotation,d=void 0===c?0:c,e=a.resize,f=void 0===e?{}:e,g=a.config,h=g[TOOLS_IDS.ROTATE],i=usePhoneScreen(),j=useDebouncedCallback(function(a,c){var d=restrictNumber(c,-180,180);if(b({type:CHANGE_ROTATION,payload:{rotation:d}}),f.width&&f.height){var e=getSizeAfterRotation(f.width,f.height,d);b({type:SET_RESIZE,payload:{width:e.width,height:e.height}})}},20);return\"buttons\"===h.componentType?React.createElement(React.Fragment,null,React.createElement(ToolsBarItemButton,{className:\"FIE_rotate_button_left\",id:TOOLS_IDS.IMAGE,label:\"-\".concat(h.angle,\"\\xB0\"),Icon:RotationLeft,onClick:function changeRotationButtonNegative(a){var b=d-h.angle;j(a,b)}}),React.createElement(ToolsBarItemButton,{className:\"FIE_rotate_button_right\",id:TOOLS_IDS.IMAGE,label:\"+\".concat(h.angle,\"\\xB0\"),Icon:RotationRight,onClick:function changeRotationButtonPositive(a){var b=d+h.angle;j(a,b)}})):React.createElement(StyledRotationOptions,null,React.createElement(StyledRotateButton,{size:\"sm\",color:\"basic\",onClick:function onClick(a){return j(a,d-90)}},React.createElement(Rotate90,{width:15})),React.createElement(StyledRotationSlider,{className:\"FIE_rotate-slider\",showCurrentMarkText:!0,min:-180,max:180,step:i?h.angle/3:1,value:d,angle:h.angle||90,onChange:j}),React.createElement(StyledRotateButton,{size:\"sm\",color:\"basic\",onClick:function onClick(a){return j(a,d+90)}},React.createElement(Rotate90,{width:15,style:{transform:\"scaleX(-1)\"}})))};export default RotateOptions;","import React from\"react\";import{Contrast as ContrastIcon}from\"@scaleflex/icons/contrast\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Contrast=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_contrast-tool-button\",id:TOOLS_IDS.CONTRAST,label:d(\"contrastTool\"),Icon:ContrastIcon,onClick:b,isSelected:c})};Contrast.defaultProps={isSelected:!1};export default Contrast;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=-100,DEFAULT_VALUE={contrast:0},MAX_VALUE=100,sliderStyle={width:150,padding:0,margin:0},ContrastOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Contrast,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({contrast:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_contrast-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_contrast-option-label\"},d(\"contrastTool\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_contrast-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.contrast)&&void 0!==b?b:DEFAULT_VALUE.contrast,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.contrast)&&void 0!==c?c:DEFAULT_VALUE.contrast,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default ContrastOptions;","import React from\"react\";import{Saturation as SaturationIcon}from\"@scaleflex/icons/saturation\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var HSV=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_hsv-tool-button\",id:TOOLS_IDS.HSV,label:d(\"hsvTool\"),Icon:SaturationIcon,onClick:b,isSelected:c})};HSV.defaultProps={isSelected:!1};export default HSV;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune,usePhoneScreen}from\"../../../hooks\";import Slider from\"../../common/Slider\";import{StyledHSVOptions,StyledSliderContainer,StyledSliderLabel,StyledSliderInput,StyledSliderWrapper}from\"../tools.styled\";var DEFAULT_VALUE={hue:0,saturation:0,value:0},MAX_VALUE={hue:259,saturation:10,value:2},sliderStyle={padding:0,margin:0},isPhoneScreen=usePhoneScreen(),HSVOptions=function(a){var b,c,d,e,f,g,h=a.t,i=useFinetune(Konva.Filters.HSV,DEFAULT_VALUE),j=_slicedToArray(i,2),k=j[0],l=j[1],m=function(a,b){l(_defineProperty({},a,b>MAX_VALUE[a]?MAX_VALUE[a]:+b))};return React.createElement(StyledHSVOptions,{isPhoneScreen:isPhoneScreen},React.createElement(StyledSliderContainer,{className:\"FIE_hue-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_hue-option-label\"},h(\"hue\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_hue-option\",min:0,step:1,max:259,value:null!==(b=k.hue)&&void 0!==b?b:DEFAULT_VALUE.hue,onChange:function onChange(a){return m(\"hue\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=k.hue)&&void 0!==c?c:DEFAULT_VALUE.hue,onChange:function onChange(a){var b=a.target.value;return m(\"hue\",b)}}))),React.createElement(StyledSliderContainer,{className:\"FIE_saturation-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_saturation-option-label\"},h(\"saturation\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_saturation-option\",min:-2,step:.5,max:10,value:null!==(d=k.saturation)&&void 0!==d?d:DEFAULT_VALUE.saturation,onChange:function onChange(a){return m(\"saturation\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(e=k.saturation)&&void 0!==e?e:DEFAULT_VALUE.saturation,onChange:function onChange(a){var b=a.target.value;return m(\"saturation\",b)}}))),React.createElement(StyledSliderContainer,{className:\"FIE_value-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_value-option-label\"},h(\"value\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_value-option\",min:-2,step:.1,max:2,value:null!==(f=k.value)&&void 0!==f?f:DEFAULT_VALUE.value,onChange:function onChange(a){return m(\"value\",a)},style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(g=k.value)&&void 0!==g?g:DEFAULT_VALUE.value,onChange:function onChange(a){var b=a.target.value;return m(\"value\",b)}}))))};export default HSVOptions;","import React from\"react\";import{Blur as BlurIcon}from\"@scaleflex/icons/blur\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Blur=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_blur-tool-button\",id:TOOLS_IDS.BLUR,label:d(\"blurTool\"),Icon:BlurIcon,onClick:b,isSelected:c})};Blur.defaultProps={isSelected:!1};export default Blur;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import Konva from\"konva\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=0,DEFAULT_VALUE={blurRadius:0},MAX_VALUE=100,sliderStyle={width:150,padding:0,margin:0},BlurOptions=function(a){var b,c,d=a.t,e=useFinetune(Konva.Filters.Blur,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({blurRadius:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_blur-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_blur-option-label\"},d(\"blur\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_blur-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.blurRadius)&&void 0!==b?b:DEFAULT_VALUE.blurRadius,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.blurRadius)&&void 0!==c?c:DEFAULT_VALUE.blurRadius,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default BlurOptions;","import React from\"react\";import{Temprature as WarmthIcon}from\"@scaleflex/icons/tempreture\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var Warmth=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_warmth-tool-button\",id:TOOLS_IDS.WARMTH,label:d(\"warmthTool\"),Icon:WarmthIcon,onClick:b,isSelected:c})};Warmth.defaultProps={isSelected:!1};export default Warmth;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import{useFinetune}from\"../../../hooks\";import restrictNumber from\"../../../utils/restrictNumber\";import{Warmth as CustomWarmth}from\"../../../custom/finetunes\";import Slider from\"../../common/Slider\";import{StyledSliderContainer,StyledSliderInput,StyledSliderLabel,StyledSliderWrapper}from\"../tools.styled\";var MIN_VALUE=0,DEFAULT_VALUE={warmth:0},MAX_VALUE=200,sliderStyle={width:150,padding:0,margin:0},WarmthOptions=function(a){var b,c,d=a.t,e=useFinetune(CustomWarmth,DEFAULT_VALUE),f=_slicedToArray(e,2),g=f[0],h=f[1],i=function(a){h({warmth:restrictNumber(a,MIN_VALUE,MAX_VALUE)})};return React.createElement(StyledSliderContainer,{className:\"FIE_warmth-option-wrapper\"},React.createElement(StyledSliderLabel,{className:\"FIE_warmth-option-label\"},d(\"warmthTool\")),React.createElement(StyledSliderWrapper,null,React.createElement(Slider,{className:\"FIE_warmth-option\",min:MIN_VALUE,max:MAX_VALUE,width:\"124px\",value:null!==(b=g.warmth)&&void 0!==b?b:DEFAULT_VALUE.warmth,onChange:i,style:sliderStyle}),React.createElement(StyledSliderInput,{value:null!==(c=g.warmth)&&void 0!==c?c:DEFAULT_VALUE.warmth,onChange:function onChange(a){var b=a.target.value;return i(b)}})))};export default WarmthOptions;","import styled,{css}from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledCarouselWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-0\"})([\"max-width:680px;min-width:150px;position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;\"]),StyledCarousel=styled.ul.withConfig({componentId:\"sc-1nr0bka-1\"})([\"padding:0;margin:0;white-space:nowrap;overflow:hidden;\"]),StyledCarouselItem=styled.li.withConfig({componentId:\"sc-1nr0bka-2\"})([\"padding:4px;display:inline-block;list-style-type:none;user-select:none;\"]),arrowsCommonStyles=css([\"position:absolute;top:0;height:100%;width:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;svg{color:\",\";}\"],function(a){var b=a.theme.palette;return b[PC.IconsSecondary]}),StyledPrevArrowWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-3\"})([\"\",\" left:0;justify-content:flex-start;background:linear-gradient( 90deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );\"],arrowsCommonStyles),StyledNextArrowWrapper=styled.div.withConfig({componentId:\"sc-1nr0bka-4\"})([\"\",\" right:0;justify-content:flex-end;background:linear-gradient( 270deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );\"],arrowsCommonStyles);export{StyledCarouselWrapper,StyledCarousel,StyledCarouselItem,StyledPrevArrowWrapper,StyledNextArrowWrapper};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{Children,useRef,useState,useEffect}from\"react\";import{ArrowLeftOutline,ArrowRightOutline}from\"@scaleflex/icons\";import{useResizeObserver}from\"../../../hooks\";import debounce from\"../../../utils/debounce\";import getScrollOffset from\"../../../utils/getScrollOffset\";import{StyledCarouselWrapper,StyledCarousel,StyledCarouselItem,StyledNextArrowWrapper,StyledPrevArrowWrapper}from\"./Carousel.styled\";var Carousel=function(a){var b=a.children,c=a.style,d=a.className,f=useRef(!1),g=useRef(),h=useResizeObserver(),i=_slicedToArray(h,1),j=i[0],k=useState(!1),l=_slicedToArray(k,2),m=l[0],n=l[1],o=useState(!1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=Children.toArray(b),t=function(){if(g.current){var a=g.current,b=a.scrollWidth,c=a.offsetWidth,d=a.scrollLeft,e=Math.round(b-c),f=Math.round(e-d);n(0j,l=k?MAX_FILTER_PREVIEW_WIDTH:MAX_FILTER_PREVIEW_HEIGHT*j,m=k?MAX_FILTER_PREVIEW_WIDTH/j:MAX_FILTER_PREVIEW_HEIGHT;return React.createElement(StyledFilterItem,{className:\"FIE_filters-item\",onClick:h,\"aria-selected\":e},React.createElement(FilterItemPreview,{className:\"FIE_filters-item-preview\",width:MAX_FILTER_PREVIEW_WIDTH,height:MAX_FILTER_PREVIEW_HEIGHT},React.createElement(Layer,{onTap:h},React.createElement(Image,{image:f,filters:c?[c]:[],width:l,height:m,x:-(l-MAX_FILTER_PREVIEW_WIDTH)/2,y:-(m-MAX_FILTER_PREVIEW_HEIGHT)/2,ref:g}))),React.createElement(FilterItemLabel,{className:\"FIE_filters-item-label\"},b))};FilterItem.defaultProps={filterFn:void 0};export default memo(FilterItem);","import Konva from\"konva\";import*as CustomKonvaFilters from\"../../../custom/filters\";var konvaFilters=Konva.Filters;export var AVAILABLE_FILTERS=[{label:\"Original\",filterFn:null},{label:\"Invert\",filterFn:konvaFilters.Invert},{label:\"Black & White\",filterFn:CustomKonvaFilters.BlackAndWhite},{label:\"Sepia\",filterFn:konvaFilters.Sepia},{label:\"Solarize\",filterFn:konvaFilters.Solarize},{label:\"Clarendon\",filterFn:CustomKonvaFilters.Clarendon},{label:\"Gingham\",filterFn:CustomKonvaFilters.Gingham},{label:\"Moon\",filterFn:CustomKonvaFilters.Moon},{label:\"Lark\",filterFn:CustomKonvaFilters.Lark},{label:\"Reyes\",filterFn:CustomKonvaFilters.Reyes},{label:\"Juno\",filterFn:CustomKonvaFilters.Juno},{label:\"Slumber\",filterFn:CustomKonvaFilters.Slumber},{label:\"Crema\",filterFn:CustomKonvaFilters.Crema},{label:\"Ludwig\",filterFn:CustomKonvaFilters.Ludwig},{label:\"Aden\",filterFn:CustomKonvaFilters.Aden},{label:\"Perpetua\",filterFn:CustomKonvaFilters.Perpetua},{label:\"Amaro\",filterFn:CustomKonvaFilters.Amaro},{label:\"Mayfair\",filterFn:CustomKonvaFilters.Mayfair},{label:\"Rise\",filterFn:CustomKonvaFilters.Rise},{label:\"Hudson\",filterFn:CustomKonvaFilters.Hudson},{label:\"Valencia\",filterFn:CustomKonvaFilters.Valencia},{label:\"X-Pro II\",filterFn:CustomKonvaFilters.XPro2},{label:\"Sierra\",filterFn:CustomKonvaFilters.Sierra},{label:\"Willow\",filterFn:CustomKonvaFilters.Willow},{label:\"Lo-Fi\",filterFn:CustomKonvaFilters.LoFi},{label:\"Inkwell\",filterFn:konvaFilters.Grayscale},{label:\"Hefe\",filterFn:CustomKonvaFilters.Hefe},{label:\"Nashville\",filterFn:CustomKonvaFilters.Nashville},{label:\"Stinson\",filterFn:CustomKonvaFilters.Stinson},{label:\"Vesper\",filterFn:CustomKonvaFilters.Vesper},{label:\"Earlybird\",filterFn:CustomKonvaFilters.Earlybird},{label:\"Brannan\",filterFn:CustomKonvaFilters.Brannan},{label:\"Sutro\",filterFn:CustomKonvaFilters.Sutro},{label:\"Toaster\",filterFn:CustomKonvaFilters.Toaster},{label:\"Walden\",filterFn:CustomKonvaFilters.Walden},{label:\"1977\",filterFn:CustomKonvaFilters.NinteenSeventySeven},{label:\"Kelvin\",filterFn:CustomKonvaFilters.Kelvin},{label:\"Maven\",filterFn:CustomKonvaFilters.Maven},{label:\"Ginza\",filterFn:CustomKonvaFilters.Ginza},{label:\"Skyline\",filterFn:CustomKonvaFilters.Skyline},{label:\"Dogpatch\",filterFn:CustomKonvaFilters.Dogpatch},{label:\"Brooklyn\",filterFn:CustomKonvaFilters.Brooklyn},{label:\"Helena\",filterFn:CustomKonvaFilters.Helena},{label:\"Ashby\",filterFn:CustomKonvaFilters.Ashby},{label:\"Charmes\",filterFn:CustomKonvaFilters.Charmes}];","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React from\"react\";import{useFilter,useStore}from\"../../../hooks\";import Carousel from\"../../common/Carousel\";import FilterItem from\"./FilterItem\";import{AVAILABLE_FILTERS}from\"./Filters.constants\";var style={maxWidth:\"100%\",width:\"100%\"},Filters=function(){var a=useStore(),b=a.originalImage,c=useFilter(),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(Carousel,{className:\"FIE_filters\",style:style},AVAILABLE_FILTERS.map(function(a){return React.createElement(FilterItem,{key:a.label,filterLabel:a.label,filterFn:a.filterFn,applyFilter:f,isActive:e===a.filterFn,image:b})}))};export default Filters;","import React from\"react\";import{Text as TextIcon}from\"@scaleflex/icons/text\";import ToolsBarItemButton from\"../../ToolsBar/ToolsBarItemButton\";import{TOOLS_IDS}from\"../../../utils/constants\";var TextButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:\"FIE_text-tool-button\",id:TOOLS_IDS.TEXT,label:d(\"textTool\"),Icon:TextIcon,onClick:b,isSelected:c})};TextButton.defaultProps={isSelected:!1};export default TextButton;","import styled from\"styled-components\";import Label from\"@scaleflex/ui/core/label\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledOptions=styled.div.withConfig({componentId:\"sc-qvjmv1-0\"})([\"display:flex;align-items:center;justify-content:center;padding:8px 16px;margin-top:4px;gap:8px;flex-wrap:wrap;\",\" svg{color:\",\";}\"],function(a){var b=a.isPhoneScreen;return b&&\"\\n max-width: 315px;\\n padding: 0;\\n \"},function(a){var b=a.theme.palette;return b[PC.IconsPrimary]}),StyledOptionsWrapper=styled.div.withConfig({componentId:\"sc-qvjmv1-1\"})([\"display:flex;flex-wrap:wrap;margin-left:-4px;gap:4px;.FIE_annotation-option-triggerer{padding:6px;}\"]),StyledOptionPopupContent=styled.div.withConfig({componentId:\"sc-qvjmv1-2\"})([\"background:\",\";border-radius:4px;display:flex;flex-direction:column;padding:8px 12px;overflow:visible;\",\" \",\" *{font-family:'Roboto',sans-serif;}\"],function(a){var b=a.theme;return b.palette[\"bg-secondary\"]},function(a){var b=a.position;return b&&\"\\n display: grid;\\n grid-template-columns: repeat(4, auto);\\n padding: 0;\\n margin-top: 8px;\\n box-shadow: 0px 1px 2px \".concat(function(a){var b=a.theme;return b.palette[\"light-shadow\"]},\";\\n \")},function(a){var b=a.disablePadding;return b&&\"\\n padding: 0;\\n \"}),StyledSpacedOptionFields=styled.div.withConfig({componentId:\"sc-qvjmv1-3\"})([\"display:flex;align-items:center;gap:12px;\",\"\"],function(a){var b=a.preventFlex;return b&&\"\\n display: block;\\n\\n label {\\n margin-bottom: 8px;\\n }\\n \"}),StyledTwoColumnsContainer=styled.div.withConfig({componentId:\"sc-qvjmv1-4\"})([\"display:flex;align-items:center;justify-content:space-between;\"]),StyledColumn=styled.div.withConfig({componentId:\"sc-qvjmv1-5\"})([\"&:not(:first-child){margin-left:12px;}\"]),StyledIconWrapper=styled.div.withConfig({componentId:\"sc-qvjmv1-6\"})(function(a){var b=a.theme,c=a.addThinBorder,d=a.secondaryIconColor,e=a.active,f=a.watermarkTool;return\"\\n cursor: pointer;\\n padding: \".concat(f?\"6px\":\"8px 12px\",\";\\n border-radius: 2px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n gap: 6px;\\n\\n svg {\\n vertical-align: middle;\\n margin: 0 auto;\\n }\\n\\n \").concat(c?\"border: 0.5px solid \".concat(b.palette[\"borders-secondary\"],\";\\n padding: 8px 8px;\"):\"\",\";\\n color: \").concat(d?b.palette[PC.IconsSecondary]:\"\",\";\\n\\n \").concat(e&&\"\\n border-radius: 4px;\\n border-color: \".concat(b.palette[PC.AccentStateless],\";\\n background-color: \").concat(b.palette[PC.BackgroundActive],\";\\n\\n * {\\n color: \").concat(b.palette[PC.AccentStateless],\";\\n }\\n \"),\"\\n\\n :hover {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n }\\n \")}),StyledIconLabel=styled(Label).withConfig({componentId:\"sc-qvjmv1-7\"})([\"color:\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPrimary]});export{StyledTwoColumnsContainer,StyledColumn,StyledIconWrapper,StyledSpacedOptionFields,StyledOptions,StyledOptionsWrapper,StyledOptionPopupContent,StyledIconLabel};","import React from\"react\";import restrictNumber from\"../../../utils/restrictNumber\";import{Label}from\"@scaleflex/ui/core\";import{StyledSpacedOptionFields,StyledIconLabel,StyledOptionPopupContent}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var MIN_PERCENTANGE=0,MAX_PERCENTANGE=1,OpacityField=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.opacity,f=Math.round(100*e);return React.createElement(StyledOptionPopupContent,{disablePadding:!0},React.createElement(Label,null,d(\"transparency\")),React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"%\",onChange:function changeOpacity(a){c({opacity:restrictNumber(a/100,MIN_PERCENTANGE,MAX_PERCENTANGE)})},value:f,noMargin:!0}),React.createElement(StyledIconLabel,null,\"\".concat(f,\"%\"))))};export default OpacityField;","import{Modal,ModalActions as SfxModalActions}from\"@scaleflex/ui/core\";import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var ColorPickerModal=styled(Modal).withConfig({componentId:\"sc-7tf41j-0\"})([\"max-width:350px;\"]),ColorPickerWrap=styled.div.withConfig({componentId:\"sc-7tf41j-1\"})([\".SfxColorPicker-root{max-width:100%;padding:0;box-shadow:none;border:none;\",\"}.SfxColorPicker-action{display:flex;gap:12px;.SfxColorPicker-select{width:100px;}.SfxInput-root{width:190px !important;}}.SfxColorPicker-icon{color:\",\";}.SfxColorPicker-range-picker,.SfxColorPicker-bar-wrapper{width:100%;}\"],function(a){var b=a.hideModalTitle;return b&&\"padding-top: 12px;\"},function(a){var b=a.theme.palette;return b[PC.IconsPrimary]}),ModalActions=styled(SfxModalActions).withConfig({componentId:\"sc-7tf41j-2\"})([\"gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}\"]),Styled={ColorPickerModal:ColorPickerModal,ColorPickerWrap:ColorPickerWrap,ModalActions:ModalActions};export default Styled;","import React from\"react\";import{Button,ColorPicker,ModalContent,ModalTitle}from\"@scaleflex/ui/core\";import ColorPickerIcon from\"@scaleflex/icons/color-picker\";import{useStore}from\"../../../hooks\";import Styled from\"./ColorPickerModal.styled\";var modalStyles={zIndex:1301},ColorPickerModal=function(a){var b=a.hideModalTitle,c=a.defaultColor,d=void 0===c?\"\":c,e=a.onChange,f=a.open,g=a.pinnedColors,h=a.onClose,i=a.onApply,j=useStore(),k=j.t;return f?React.createElement(Styled.ColorPickerModal,{onClose:h,open:f,fullWidth:!0,modalStyles:modalStyles},!b&&React.createElement(ModalTitle,{onClose:h,primary:k(\"colorPickerModalTitleLabel\",\"Pick color\"),icon:React.createElement(ColorPickerIcon,{size:29}),iconShadow:!0,variant:\"with-icon\"}),React.createElement(ModalContent,null,React.createElement(Styled.ColorPickerWrap,{hideModalTitle:b},React.createElement(ColorPicker,{onChange:e,pinnedColors:g,defaultColor:d,showTransparentColor:!0}))),React.createElement(Styled.ModalActions,null,React.createElement(Button,{color:\"basic\",onClick:h},k(\"cancel\")),React.createElement(Button,{color:\"primary\",onClick:i},k(\"apply\")))):null};ColorPickerModal.defaultProps={defaultColor:\"\",pinnedColors:[],onChange:function onChange(){},open:!1,hideModalTitle:!1,onClose:function onClose(){},onApply:function onApply(){}};export default ColorPickerModal;","import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledPickerTrigger=styled.div.attrs(function(a){var b=a.$color;return{style:{background:\"rgba(0,0,0,0)\"===b?\"repeating-conic-gradient(#5d6d7e 0% 25%, transparent 0% 50%) 50% / 8px 8px\":b}}}).withConfig({componentId:\"sc-zmv0gj-0\"})([\"background:\",\";border-radius:4px;width:32px;height:32px;border:1px solid \",\";cursor:pointer;box-sizing:border-box;\"],function(a){var b=a.theme;return b.palette[\"icons-primary\"]},function(a){var b=a.theme;return b.palette[PC.BorderPrimaryStateless]});export{StyledPickerTrigger};","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useEffect,useRef,useState}from\"react\";import{useStore}from\"../../../hooks\";import{SET_LATEST_COLOR}from\"../../../actions\";import ColorPickerModal from\"../ColorPickerModal\";import{StyledPickerTrigger}from\"./ColorInput.styled\";var pinnedColorsKey=\"FIE_pinnedColors\",ColorInput=function(a){var b,c=a.onChange,d=a.color,e=a.colorFor,f=useStore(),g=f.selectionsIds,h=void 0===g?[]:g,i=f.config.annotationsCommon,j=void 0===i?{}:i,k=f.dispatch,l=f.latestColors,m=void 0===l?{}:l,n=m[e],o=useState(),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useState(function(){return n||d||j.fill}),t=_slicedToArray(s,2),u=t[0],v=t[1],w=useState(null!==(b=window)&&void 0!==b&&b.localStorage?JSON.parse(localStorage.getItem(pinnedColorsKey)||\"[]\"):[]),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useRef(u),B=function(a){var b;if(null!==(b=window)&&void 0!==b&&b.localStorage){var c=window.localStorage.getItem(pinnedColorsKey);if(JSON.stringify(a)!==c){var d=a.slice(-9);window.localStorage.setItem(pinnedColorsKey,JSON.stringify(d)),z(d)}}},C=function(a){r(q?null:a.currentTarget)};return useEffect(function(){var a=0===h.length&&n||d;v(a),c(a)},[d,h]),React.createElement(React.Fragment,null,React.createElement(StyledPickerTrigger,{className:\"FIE_color-picker-triggerer\",onClick:C,$color:u,onChange:c}),React.createElement(ColorPickerModal,{hideModalTitle:!0,onChange:function changeColor(a,b,d){v(b),c(b),B(d),n!==b&&k({type:SET_LATEST_COLOR,payload:{latestColors:_defineProperty({},e,b)}})},defaultColor:u,pinnedColors:y,open:!!q,onClose:function closePicker(a){c(A.current||u),C(a)},onApply:C}))};ColorInput.defaultProps={color:void 0};export default ColorInput;","import React from\"react\";import restrictNumber from\"../../../utils/restrictNumber\";import ColorInput from\"../ColorInput\";import{StyledSpacedOptionFields}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var MIN_PERCENTANGE=0,MAX_PERCENTANGE=100,StrokeFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=b.stroke,e=b.strokeWidth;return React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"px\",onChange:function changeStrokeWidth(a){c({strokeWidth:restrictNumber(a,MIN_PERCENTANGE,MAX_PERCENTANGE)})},value:e,noMargin:!0}),React.createElement(ColorInput,{color:d,onChange:function changeStrokeColor(a){c({stroke:a})},colorFor:\"stroke\"}))};export default StrokeFields;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import React from\"react\";import Label from\"@scaleflex/ui/core/label\";import restrictNumber from\"../../../utils/restrictNumber\";import ColorInput from\"../ColorInput\";import{StyledTwoColumnsContainer,StyledColumn,StyledSpacedOptionFields}from\"./AnnotationOptions.styled\";import Slider from\"../Slider\";var ShadowFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.shadowOffsetX,f=b.shadowOffsetY,g=b.shadowBlur,h=b.shadowColor,i=b.shadowOpacity,j=function(a,b){var d=2parseFloat(k))){var m=Math.min(10*h.width,10*h.height),o=getSizeAfterRotation(h.width,h.height,n),p=\"height\"===f,r=p?\"width\":\"height\",s=_defineProperty(_defineProperty({},f,k?restrictNumber(k,0,m):k),r,q[r]),t=null!==(d=c.ratioUnlocked)&&void 0!==d?d:i.ratioUnlocked;if(!t){var u=o.width/o.height;s[r]=p?Math.round(s[f]*u):Math.round(s[f]/u)}if(s[f]!==i[f]||s[r]!==i[r]){if(\"function\"==typeof b)return void b(s);g({type:SET_RESIZE,payload:s});var v=l.width&&l.height&&l||j,w=_objectSpread(_objectSpread({},i),s);g({type:ZOOM_CANVAS,payload:{factor:w.width&&w.height?getZoomFitFactor(v,w):DEFAULT_ZOOM_FACTOR,isAbsoluteZoom:!0}})}}},s=\"undefined\"==typeof i.width&&\"undefined\"==typeof i.height||h.width===i.width&&h.height===i.height,t=i.manualChangeDisabled,u=\"undefined\"!=typeof i.width&&!i.width,v=\"undefined\"!=typeof i.height&&!i.height;return React.createElement(StyledResizeWrapper,{className:\"FIE_resize-tool-options\",alignment:e},React.createElement(StyledResizeInput,{className:\"FIE_resize-width-option\",value:u?\"\":q.width,name:\"width\",onChange:t?void 0:r,inputMode:\"numeric\",title:p(\"resizeWidthTitle\"),label:p(\"width\"),inputProps:{type:\"number\"},size:\"sm\",iconEnd:\"px\",placeholder:\"Width\",disabled:t}),React.createElement(StyledRatioLockIcon,{className:\"FIE_resize-ratio-locker\",title:p(\"toggleRatioLockTitle\"),onClick:t?void 0:function toggleRatioLock(){return\"function\"==typeof b?void b({ratioUnlocked:!c.ratioUnlocked}):void g({type:SET_RESIZE,payload:{ratioUnlocked:!i.ratioUnlocked}})},color:\"basic\",size:\"sm\",disabled:t},c.ratioUnlocked||i.ratioUnlocked?React.createElement(UnlockOutline,{size:16,color:o.palette.success}):React.createElement(LockOutline,{size:16,color:o.palette.error})),React.createElement(StyledResizeInput,{className:\"FIE_resize-height-option\",value:v?\"\":q.height,name:\"height\",onChange:t?void 0:r,inputMode:\"numeric\",title:p(\"resizeHeightTitle\"),label:p(\"height\"),inputProps:{type:\"number\"},size:\"sm\",iconEnd:\"px\",placeholder:\"Height\",disabled:t}),!d&&React.createElement(StyledResetButton,{className:\"FIE_resize-reset-button\",size:\"sm\",color:\"basic\",onClick:s||t?void 0:function resetResize(){g({type:SET_RESIZE,payload:{width:void 0,height:void 0,ratioUnlocked:!1}});var a=l.width&&l.height&&l||j;g({type:ZOOM_CANVAS,payload:{factor:getZoomFitFactor(a,a)}})},disabled:s||t},React.createElement(Reset,null)))};Resize.defaultProps={onChange:void 0,currentSize:{},hideResetButton:!1,alignment:\"center\"};export default Resize;","import styled from\"styled-components\";var StyledWatermarkWrapper=styled.div.withConfig({componentId:\"sc-fvaj5j-0\"})([\"display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;overflow:hidden;\",\";\"],function(a){var b=a.noWrap;return b?\"flex-wrap: nowrap;\":\"\"}),StyledControlsWrapper=styled.div.withConfig({componentId:\"sc-fvaj5j-1\"})([\"margin-bottom:8px;\"]),StyledWatermarkGalleryItem=styled.div.withConfig({componentId:\"sc-fvaj5j-2\"})(function(a){var b=a.theme;return\"\\n padding: 6px 4px;\\n border: 1px solid \".concat(b.palette[\"borders-secondary\"],\";\\n width: fit-content;\\n height: 32px;\\n border-radius: 2px;\\n overflow: hidden;\\n cursor: pointer;\\n border-radius: 4px;\\n\\n :hover {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n }\\n\\n &[aria-selected='true'] {\\n background: \").concat(b.palette[\"bg-primary-active\"],\";\\n border-color: \").concat(b.palette[\"accent-primary-active\"],\";\\n }\\n\\n img {\\n max-width: 100%;\\n max-height: 100%;\\n }\\n \")});export{StyledWatermarkWrapper,StyledControlsWrapper,StyledWatermarkGalleryItem};","import React,{useMemo}from\"react\";import{useStore}from\"../../../hooks\";import{TOOLS_IDS,WATERMARK_ANNOTATION_ID}from\"../../../utils/constants\";import Carousel from\"../../common/Carousel\";import{SET_FEEDBACK}from\"../../../actions\";import{StyledWatermarkGalleryItem}from\"./Watermark.styled\";var WatermarksGallery=function(a){var b=a.addImgWatermark,c=a.loadAndSetWatermarkImg,d=a.style,e=useStore(),f=e.config,g=e.annotations,h=e.dispatch,i=e.t,j=useMemo(function(){var a;return null===(a=(g[WATERMARK_ANNOTATION_ID]||{}).image)||void 0===a?void 0:a.src},[g[WATERMARK_ANNOTATION_ID]]),k=function(a){var c=a.currentTarget.children[0];if(c.complete){if(!c.naturalWidth)return void h({type:SET_FEEDBACK,payload:{feedback:{message:i(\"mutualizedFailedToLoadImg\"),duration:2e3}}});b(c)}},l=f[TOOLS_IDS.WATERMARK]||{},m=l.gallery,n=void 0===m?[]:m;return 0===n.length?null:React.createElement(Carousel,{className:\"FIE_watermark-gallery\",style:d},n.map(function(a){var b=(null===a||void 0===a?void 0:a.url)||a,d=(null===a||void 0===a?void 0:a.previewUrl)||b;return React.createElement(StyledWatermarkGalleryItem,{className:\"FIE_watermark-selected-item\",onClick:function onClick(a){return b===d?k(a):c(b)},key:b,\"aria-selected\":b===j},React.createElement(\"img\",{src:d,alt:\"Failed to load.\",crossOrigin:\"Anonymous\",draggable:!1}))}))};WatermarksGallery.defaultProps={style:void 0};export default WatermarksGallery;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState}from\"react\";import Menu from\"@scaleflex/ui/core/menu\";import Padding from\"@scaleflex/icons/padding\";import restrictNumber from\"../../../utils/restrictNumber\";import{StyledSpacedOptionFields,StyledIconWrapper,StyledOptionPopupContent,StyledIconLabel}from\"../../common/AnnotationOptions/AnnotationOptions.styled\";import Slider from\"../../common/Slider\";import{Label}from\"@scaleflex/ui/core\";var WatermarkPadding=function(a){var b=a.watermark,c=a.saveWatermark,d=a.t,e=useState(null),f=_slicedToArray(e,2),g=f[0],h=f[1],i=b.padding||0;return React.createElement(React.Fragment,null,React.createElement(StyledIconWrapper,{className:\"FIE_watermark-padding-triggerer\",title:d(\"padding\"),onClick:function openOptionPopup(a){h(a.currentTarget)},active:g},React.createElement(Padding,{size:20})),React.createElement(Menu,{className:\"FIE_watermark-padding-popup\",anchorEl:g,open:!!g,onClose:function closeOptionPopup(){h(null)},position:\"top\"},React.createElement(StyledOptionPopupContent,null,React.createElement(Label,null,d(\"padding\")),React.createElement(StyledSpacedOptionFields,null,React.createElement(Slider,{annotation:\"px\",onChange:function updatePadding(a){c({padding:restrictNumber(a,0,100)})},value:i,noMargin:!0}),React.createElement(StyledIconLabel,null,\"\".concat(i,\"px\"))))))};export default WatermarkPadding;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;cr?s*w/c:r*w/b,g=_objectSpread(_objectSpread(_objectSpread({},e.annotationsCommon),e[TOOLS_IDS.IMAGE]),{},{scaleX:d,scaleY:d,padding:1,image:a,width:b,height:c,x:t+r/2-b*d/2,y:u+s/2-c*d/2,id:WATERMARK_ANNOTATION_ID,name:TOOLS_IDS.IMAGE,replaceCurrent:!0});f({type:SET_ANNOTATION,payload:g})},y=function(a){f({type:SET_ANNOTATION,payload:_objectSpread(_objectSpread({},\"function\"==typeof a?a(q):a),{},{id:WATERMARK_ANNOTATION_ID})})},z=function(a){f({type:SET_FEEDBACK,payload:{feedback:{message:a,status:FEEDBACK_STATUSES.WARNING}}})},A=function(a,b){if(a){n(!0);var c=new Image;c.onload=function(){x(c),b&&URL.revokeObjectURL(a),n(!1)},c.onerror=function(){z(g(\"mutualizedFailedToLoadImg\")),b&&URL.revokeObjectURL(a),n(!1)},c.src=a}};useEffect(function(){q&&(f({type:CLEAR_ANNOTATIONS_SELECTIONS}),f({type:SELECT_ANNOTATION,payload:{annotationId:\"watermark\"}}))},[q]),useEffect(function(){q&&(0===d.length||d[0].id!==WATERMARK_ANNOTATION_ID)&&f({type:SELECT_ANNOTATION,payload:{annotationId:\"watermark\"}})},[d]);var B=[(!e.useCloudimage||\"function\"==typeof p.onUploadWatermarkImgClick)&&{key:\"upload-watermark\",label:g(\"uploadWatermark\"),icon:UploadOutline,onClick:function handleUploadWatermarkClick(){if(\"function\"==typeof p.onUploadWatermarkImgClick){var a=p.onUploadWatermarkImgClick(A);return void(a instanceof Promise&&a.then(function(){var a=0b.factor,f={x:(a.x-b.x||0)/b.factor,y:(a.y-b.y||0)/b.factor},g={x:a.x-f.x*a.factor,y:a.y-f.y*a.factor};if(e&&1===b.factor||(g.x=Math.min(0,Math.max(g.x,c*(1-b.factor))),g.y=Math.min(0,Math.max(g.y,d*(1-b.factor)))),1>a.factor){var h=c-c*a.factor,i=d-d*a.factor;g.x+=h/2,g.y+=i/2}return _objectSpread(_objectSpread({},g),{},{factor:a.factor})};export default calculateZoomData;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";import _objectWithoutProperties from\"@babel/runtime/helpers/objectWithoutProperties\";var _excluded=[\"preparedDimensions\"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;cf.x+f.width&&(g.width=f.x+f.width-g.x),g.y+g.height>f.y+f.height&&(g.height=f.y+f.height-g.y),\"number\"==typeof d&&!compareRatios(g.width/g.height,d)){var h=g.height*d,i=g.width/d;toPrecisedFloat(g.y+i)<=f.y+f.height?g.height=i:g.width=h}if((e.minWidth&&g.width<=e.minWidth||e.maxWidth&&g.width>=e.maxWidth)&&(g.width=restrictNumber(g.width,e.minWidth,e.maxWidth),g.x=a.x,g.y=a.y,\"number\"==typeof d&&(g.height=g.width/d)),(e.minHeight&&b.height<=e.minHeight||e.maxHeight&&b.height>=e.maxHeight)&&(g.height=restrictNumber(g.height,e.minHeight,e.maxHeight),g.x=a.x,g.y=a.y,\"number\"==typeof d&&(g.width=g.height*d)),\"string\"==typeof e.lockCropAreaAt){var j=getPositionByPlaceLabel(e.lockCropAreaAt,f,g),k=j.x,l=j.y;g.x=k,g.y=l}return g};","import _extends from\"@babel/runtime/helpers/extends\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c=n.width&&j.height>=n.height;n.width&&n.height&&(df.scaledBy?f.scaledBy:1,J=_objectSpread(_objectSpread({},f),{},{width:f.width/I,height:f.height/I});F=boundResizing(J,_objectSpread(_objectSpread({},J),{},{x:0,y:0}),_objectSpread(_objectSpread({},J),{},{abstractX:0,abstractY:0}),!(A||B)&&C(),v)}else F=j;var K=F,L=K.x,M=void 0===L?0:L,x=K.y,N=void 0===x?0:x,y=K.width,O=K.height,P={x:M,y:N,ref:q,fill:\"#FFFFFF\",scaleX:1,scaleY:1,globalCompositeOperation:\"destination-out\",onDragEnd:w?void 0:H,onDragMove:w?void 0:function limitDragging(a){var b=a.target;b.setAttrs(boundDragging(b.attrs,t.current))},onTransformEnd:w?void 0:H,draggable:!w};return React.createElement(React.Fragment,null,React.createElement(Image,{image:e,x:k?f.width:0,y:l?f.height:0,width:f.width,height:f.height,filters:[Konva.Filters.Blur,Konva.Filters.Brighten],blurRadius:10,brightness:-.3,scaleX:k?-1:1,scaleY:l?-1:1,ref:s}),B?React.createElement(Ellipse,_extends({},P,{radiusX:y/2,radiusY:O/2,offset:{x:-y/2,y:-O/2}})):React.createElement(Rect,_extends({},P,{width:j.noEffect?0:y,height:j.noEffect?0:O})),j.noEffect&&React.createElement(TextNode,{name:\"Text\",id:\"no-preview-text-node\",text:p(\"cropItemNoEffect\"),x:f.width/2-noEffectTextDimensions.width/2,y:f.height/2-noEffectTextDimensions.height/2,fontSize:20,fill:\"#ffffff\",stroke:\"#ff0000\",strokeWidth:.2,shadowColor:\"#ff0000\",shadowBlur:10,annotationEvents:{},align:\"center\",width:noEffectTextDimensions.width,height:noEffectTextDimensions.height}),React.createElement(Transformer,{centeredScaling:!1,flipEnabled:!1,rotateEnabled:!1,nodes:q.current?[q.current]:[],anchorSize:14,anchorCornerRadius:7,enabledAnchors:G,ignoreStroke:!1,anchorStroke:c.palette[\"accent-primary\"],anchorFill:c.palette[\"access-primary\"],anchorStrokeWidth:2,borderStroke:c.palette[\"accent-primary\"],borderStrokeWidth:2,borderDash:[4],keepRatio:!A||!B,ref:r,boundBoxFunc:function boundBoxFunc(a,b){return boundResizing(a,b,t.current,!(A||B)&&C(),v)}}))};export default CropTransformer;","import React,{useMemo}from\"react\";import{Transformer}from\"react-konva\";import{NODES_TRANSFORMER_ID,POINTER_ICONS,TOOLS_IDS}from\"../../../utils/constants\";import{useStore}from\"../../../hooks\";import{CHANGE_POINTER_ICON,ENABLE_TEXT_CONTENT_EDIT}from\"../../../actions\";var NodesTransformer=function(){var a,b=useStore(),c=b.selectionsIds,d=void 0===c?[]:c,e=b.theme,f=b.designLayer,g=b.dispatch,h=b.config.useCloudimage,i=useMemo(function(){return null!==f&&void 0!==f&&f.findOne?d.map(function(a){return f.findOne(\"#\".concat(a))}).filter(Boolean):[]},[d]),j=function(){1===i.length&&i[0].name()===TOOLS_IDS.TEXT&&g({type:ENABLE_TEXT_CONTENT_EDIT,payload:{textIdOfEditableContent:i[0].id()}})},k=h?[\"top-left\",\"bottom-left\",\"top-right\",\"bottom-right\"]:void 0;return React.createElement(Transformer,{id:NODES_TRANSFORMER_ID,centeredScaling:!1,rotationSnaps:[0,45,90,135,180,225,270,315],nodes:i,rotateAnchorOffset:30,anchorSize:14,anchorCornerRadius:7,padding:1===i.length?null!==(a=i[0].attrs.padding)&&void 0!==a?a:1:1,ignoreStroke:!1,anchorStroke:e.palette[\"accent-primary\"],anchorFill:e.palette[\"access-primary\"],anchorStrokeWidth:2,borderStroke:e.palette[\"accent-primary\"],borderStrokeWidth:2,borderDash:[4],rotateEnabled:!h,onMouseOver:function changePointerIconToMove(){g({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.MOVE}})},onMouseLeave:function changePointerIconToDraw(){g({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.DRAW}})},onDblClick:j,onDblTap:j,enabledAnchors:k,flipEnabled:!h,shouldOverdrawWholeArea:!0})};export default NodesTransformer;","import React from\"react\";import{Layer}from\"react-konva\";import{useStore}from\"../../../hooks\";import{TOOLS_IDS,TRANSFORMERS_LAYER_ID}from\"../../../utils/constants\";import CropTransformer from\"./CropTransformer\";import NodesTransformer from\"./NodesTransformer\";var TransformersLayer=function(){var a=useStore(),b=a.toolId,c=a.shownImageDimensions;return React.createElement(Layer,{id:TRANSFORMERS_LAYER_ID,x:c.abstractX||0,y:c.abstractY||0},React.createElement(NodesTransformer,null),b===TOOLS_IDS.CROP&&React.createElement(CropTransformer,null))};export default TransformersLayer;","import styled from\"styled-components\";var StyledNodeControls=styled.div.withConfig({componentId:\"sc-1tst9ex-0\"})(function(a){var b=a.theme,c=a.top,d=a.left;return\"\\n position: absolute;\\n z-index: 1;\\n background: \".concat(b.palette[\"bg-secondary\"],\";\\n border-radius: 2px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: 0px 1px 2px \").concat(b.palette[\"light-shadow\"],\";\\n top: \").concat((c||0)+8,\"px;\\n left: \").concat((d||0)+4,\"px;\\n transform: translateX(-50%);\\n height: 32px;\\n\")});export{StyledNodeControls};","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useEffect,useMemo,useState}from\"react\";import IconButton from\"@scaleflex/ui/core/icon-button\";import DeleteOutline from\"@scaleflex/icons/delete-outline\";import Duplicate from\"@scaleflex/icons/duplicate\";import{useStore}from\"../../hooks\";import{DUPLICATE_ANNOTATIONS,REMOVE_ANNOTATIONS}from\"../../actions\";import{NODES_TRANSFORMER_ID,WATERMARK_ANNOTATION_ID}from\"../../utils/constants\";import debounce from\"../../utils/debounce\";import{StyledNodeControls}from\"./NodeControls.styled\";var NodeControls=function(){var a=useStore(),b=a.selectionsIds,c=void 0===b?[]:b,d=a.designLayer,e=a.annotations,f=a.dispatch,g=useState({left:0,top:0}),h=_slicedToArray(g,2),i=h[0],j=h[1],k=useMemo(function(){var a;return null===d||void 0===d||null===(a=d.getStage())||void 0===a?void 0:a.findOne(\"#\".concat(NODES_TRANSFORMER_ID))},[d]),l=c.length,m=debounce(function(){k&&j({left:(k.x()+k.width()/2)*k.scaleX(),top:(k.y()+k.height())*k.scaleY()})},0);if(useEffect(function(){m()},[c,k,e]),0===l||!k)return null;return React.createElement(StyledNodeControls,{className:\"FIE_annotation-controls-overlay\",left:i.left,top:i.top},c[0]!==WATERMARK_ANNOTATION_ID&&React.createElement(IconButton,{color:\"basic\",size:\"sm\",onClick:function duplicateSelectedNodes(){f({type:DUPLICATE_ANNOTATIONS,payload:{annotationsIds:c}})}},React.createElement(Duplicate,null)),React.createElement(IconButton,{color:\"basic\",size:\"sm\",onClick:function removeSelectedNodes(){f({type:REMOVE_ANNOTATIONS,payload:{annotationsIds:c}})}},React.createElement(DeleteOutline,null)))};export default NodeControls;","import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;ct),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useMemo(function(){return{cursor:g===POINTER_ICONS.DEFAULT&&h===TABS_IDS.ANNOTATE?POINTER_ICONS.DRAW:g}},[h,g]),A=function(a){f({type:ZOOM_CANVAS,payload:a})},B=useCallback(function(a){var b,c;a.evt.preventDefault(),null===(b=(c=a.currentTarget).container)||void 0===b||b.call(c).focus(),a.target instanceof Konva.Stage&&0t&&u&&(a.preventDefault(),y(!0),f({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS.DRAG}}))},E=function(a){\"Space\"===a.code&&(a.preventDefault(),C())},F=function(){c.current&&c.current.container().focus()};useEffect(function(){f({type:CHANGE_POINTER_ICON,payload:{pointerCssIcon:POINTER_ICONS[x?\"DRAG\":\"DEFAULT\"]}})},[x]),useEffect(function(){y(h!==TABS_IDS.ANNOTATE&&h!==TABS_IDS.WATERMARK&&p.factor>t);var a;return c.current&&(a=c.current.container(),a.addEventListener(\"mouseenter\",F),a.addEventListener(\"keydown\",D),a.addEventListener(\"keyup\",E)),function(){a&&(a.removeEventListener(\"mouseenter\",F),a.removeEventListener(\"keydown\",D),a.removeEventListener(\"keyup\",E))}},[h,p.factor,t]);var G=l*(u&&p.factor||t);return React.createElement(StyledCanvasNode,{className:\"FIE_canvas-node\",tabIndex:-1,ref:c,width:j,height:k,scaleX:G,scaleY:G,x:u&&p.x||null,y:u&&p.y||null,zoomFactor:u&&p.factor||t,onWheel:u?function handleZoom(a){a.evt.preventDefault();var b=(p.factor||t)+a.evt.deltaY*-ZOOM_DELTA_TO_SCALE_CONVERT_FACTOR,c=a.currentTarget.getPointerPosition();A(_objectSpread(_objectSpread({},c),{},{factor:b}))}:void 0,onTap:B,onClick:B,onTouchMove:u?function(a){return zoomOnTouchesMove(a,A)}:void 0,onDragStart:function preventDraggingIfMultiTouches(a){var b;1<(null===(b=a.evt.touches)||void 0===b?void 0:b.length)&&y(!1)},onTouchEnd:u?function endTouchesZoomingEnablePanning(){endTouchesZooming(C)}:void 0,dragBoundFunc:function dragBoundFunc(a){var b=Math.min(0,Math.max(a.x,j*(1-p.factor))),c=Math.min(0,Math.max(a.y,k*(1-p.factor)));return{x:b,y:c}},draggable:u&&x,onDragEnd:function handleCanvasDragEnd(a){a.currentTarget.draggable()&&\"stage\"===a.target.nodeType.toLowerCase()&&u&&x&&A({factor:p.factor,x:a.target.x(),y:a.target.y(),preparedDimensions:!0})},style:z},b)};export default memo(CanvasNode);","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useCallback,useEffect,useRef}from\"react\";import{DesignLayer,TransformersLayer}from\"../Layers\";import{AppProviderOverridenValue}from\"../../context\";import{SET_CANVAS_SIZE}from\"../../actions\";import{useResizeObserver,useStore}from\"../../hooks\";import NodeControls from\"../NodeControls\";import CanvasNode from\"./CanvasNode\";import{CanvasContainer,StyledOrignalImage}from\"./MainCanvas.styled\";var MainCanvas=function(){var a=useResizeObserver(),b=_slicedToArray(a,1),c=b[0],d=useStore(),e=useRef(null),f=useCallback(function(a){var b=a.width,c=a.height;d.dispatch({type:SET_CANVAS_SIZE,payload:{canvasWidth:b,canvasHeight:c}})},[]);return useEffect(function(){c(e.current,f)},[]),React.createElement(CanvasContainer,{className:\"FIE_canvas-container\",ref:e},!d.textIdOfEditableContent&&React.createElement(NodeControls,null),d.isShowOriginalImage&&React.createElement(StyledOrignalImage,{className:\"FIE_original-image-compare\",src:d.originalImage.src}),React.createElement(CanvasNode,null,React.createElement(AppProviderOverridenValue,{overridingValue:d},React.createElement(DesignLayer,null),React.createElement(TransformersLayer,null))))};export default MainCanvas;","import styled from\"styled-components\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";var StyledSeparator=styled.div.withConfig({componentId:\"sc-etsyb6-0\"})([\"display:inline-block;height:\",\";width:\",\";border-radius:1px;background:\",\";\"],function(a){return a.height},function(a){return a.width},function(a){var b=a.theme.palette;return b[PC.BordersSecondary]});export{StyledSeparator};","import React from\"react\";import{StyledSeparator}from\"./Separator.styled\";var Separator=function(a){var b=a.height,c=a.width;return React.createElement(StyledSeparator,{height:b,width:c})};Separator.defaultProps={height:\"24px\",width:\"1px\"};export default Separator;","import styled from\"styled-components\";import Button from\"@scaleflex/ui/core/button\";import IconButton from\"@scaleflex/ui/core/icon-button\";import Label from\"@scaleflex/ui/core/label\";import{CrossButton,InputGroup,SelectGroup}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledTopbar=styled.div.withConfig({componentId:\"sc-21g986-0\"})([\"padding:16px;box-sizing:border-box;position:relative;width:100%;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid \",\";[data-phone='true'] &{padding:6px 6px 4px 6px;\",\"}\"],function(a){var b=a.theme.palette;return b[PC.BordersSecondary]},function(a){var b=a.isPhoneScreen;return b&&\"\\n padding: 12px 12px 0px;\\n gap: 12px;\\n \"}),StyledMainButtonsWrapper=styled.div.withConfig({componentId:\"sc-21g986-1\"})([\"display:flex;align-items:center;order:1;\"]),StyledControlButtonsWrapper=styled.div.withConfig({componentId:\"sc-21g986-2\"})([\"display:flex;align-items:center;order:3;gap:4px;\"]),StyledHistoryButton=styled(IconButton).withConfig({componentId:\"sc-21g986-3\"})([\"margin:\",\";svg{color:\",\";}\"],function(a){var b=a.margin;return null!==b&&void 0!==b?b:\"0 4px\"},function(a){var b=a.theme.palette,c=a.disabled;return c?b[PC.IconsMuted]:b[PC.IconsPrimary]}),StyledZoomingWrapper=styled.div.withConfig({componentId:\"sc-21g986-4\"})([\"display:flex;align-items:center;gap:2px;\"]),StyledDimensionsLabel=styled(Label).withConfig({componentId:\"sc-21g986-5\"})([\"flex-shrink:0;color:\",\";\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPlaceholder]},function(a){var b=a.theme.typography;return b.font[FV.LabelMedium]}),StyledSmallButton=styled(IconButton).withConfig({componentId:\"sc-21g986-6\"})([\"padding:8px;svg{color:\",\";}\"],function(a){var b=a.theme.palette,c=a.showBackButton;return c?b[PC.IconsPrimary]:b[PC.IconsMuted]}),StyledFlexCenterAlignedContainer=styled.div.withConfig({componentId:\"sc-21g986-7\"})([\"width:\",\";height:32px;display:block;width:100%;order:4;\",\";@media (min-width:761px){display:flex;align-items:center;justify-content:center;width:fit-content;order:2;}\"],function(a){var b=a.showBackButton;return b?\"318px\":\"384px\"},function(a){var b=a.reverseDirection;return b?\"flex-direction: row-reverse\":\"\"}),StyledZoomPercentageLabel=styled(Label).withConfig({componentId:\"sc-21g986-8\"})([\"cursor:pointer;color:\",\";\",\";\"],function(a){var b=a.theme.palette;return b[PC.TextPrimary]},function(a){var b=a.theme.typography;return b.font[FV.InputMd]}),StyledBackButtonLabel=styled.span.withConfig({componentId:\"sc-21g986-9\"})([\"\",\";\"],function(a){var b=a.theme.typography;return b.font[FV.ButtonMdEmphasis]}),StyledCloseButton=styled(CrossButton).withConfig({componentId:\"sc-21g986-10\"})([\"padding:8px;z-index:111;\"]),StyledSaveButton=styled(Button).withConfig({componentId:\"sc-21g986-11\"})([\"padding:4px 12px;\"]),StyledFileNameInput=styled(InputGroup).withConfig({componentId:\"sc-21g986-12\"})([\"\"]),StyledFileExtensionSelect=styled(SelectGroup).withConfig({componentId:\"sc-21g986-13\"})([\"margin-top:16px;\"]),StyledQualityWrapper=styled.div.withConfig({componentId:\"sc-21g986-14\"})([\"width:100%;margin-top:16px;\"]),StyledResizeOnSave=styled.div.withConfig({componentId:\"sc-21g986-15\"})([\"margin-top:16px;width:100%;\"]),StyledResizeOnSaveLabel=styled(Label).withConfig({componentId:\"sc-21g986-16\"})([\"margin-bottom:4px;\"]),StyledHistoryButtons=styled.div.withConfig({componentId:\"sc-21g986-17\"})([\"display:flex;gap:6px;\"]),StyledImageOptionsButtons=styled.div.withConfig({componentId:\"sc-21g986-18\"})([\"display:flex;gap:12px;justify-content:\",\";\"],function(a){var b=a.isPhoneScreen;return b?\"space-between\":\"center\"}),StyledMenuIconButton=styled(IconButton).withConfig({componentId:\"sc-21g986-19\"})([\"@media (min-width:761px){display:none;}\"]),StyledDimensionsButtons=styled.div.withConfig({componentId:\"sc-21g986-20\"})([\"display:flex;gap:12px;align-items:center;\"]);export{StyledTopbar,StyledFlexCenterAlignedContainer,StyledHistoryButton,StyledZoomingWrapper,StyledSmallButton,StyledZoomPercentageLabel,StyledBackButtonLabel,StyledCloseButton,StyledSaveButton,StyledFileNameInput,StyledFileExtensionSelect,StyledQualityWrapper,StyledResizeOnSave,StyledDimensionsLabel,StyledMainButtonsWrapper,StyledControlButtonsWrapper,StyledHistoryButtons,StyledImageOptionsButtons,StyledMenuIconButton,StyledDimensionsButtons,StyledResizeOnSaveLabel};","import styled,{css}from\"styled-components\";import modalTitle from\"@scaleflex/ui/core/modal-title\";import{Modal,ModalActions}from\"@scaleflex/ui/core\";import{Color as PC}from\"@scaleflex/ui/utils/types/palette\";import{FontVariant as FV}from\"@scaleflex/ui/utils/types/typography\";var StyledModal=styled(Modal).withConfig({componentId:\"sc-kpjpf5-0\"})([\"width:\",\";max-width:unset;\"],function(a){var b=a.width;return b||\"300px\"}),StyledModalTitle=styled(modalTitle).withConfig({componentId:\"sc-kpjpf5-1\"})(function(a){var b=a.theme,c=a.isWarning;return css([\"padding-bottom:0;.SfxModalTitle-Icon{background-color:\",\";}.SfxModalTitle-LabelPrimary{margin-bottom:24px;\",\";}.SfxModalTitle-LabelSecondary{\",\";text-align:center;}\"],c&&b.palette[PC.Orange_0_1_Overlay],b.typography.font[FV.TitleH3],b.typography.font[FV.TextLarge])}),StyledModalActions=styled(ModalActions).withConfig({componentId:\"sc-kpjpf5-2\"})([\"gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}\"]);export{StyledModal,StyledModalTitle,StyledModalActions};","import React from\"react\";import{Button,ModalContent}from\"@scaleflex/ui/core\";import{StyledModal,StyledModalTitle,StyledModalActions}from\"./Modal.styled\";var Modal=function(a){var b=a.title,c=a.hint,d=a.Icon,f=a.onDone,g=a.onCancel,h=a.doneLabel,i=a.cancelLabel,j=a.isOpened,k=a.doneButtonStyle,l=a.doneButtonColor,m=void 0===l?\"basic\":l,n=a.cancelButtonColor,o=void 0===n?\"basic\":n,p=a.children,q=a.areButtonsDisabled,r=a.zIndex,s=a.className,t=a.width,u=a.isWarning;return React.createElement(StyledModal,{className:s,open:j,onClose:g,style:{zIndex:r},onKeyUp:function onKeyUp(a){\"Enter\"===a.key&&f(a),\"Escape\"===a.key&&g()},width:t,role:\"dialog\",tabIndex:-1,\"aria-modal\":\"true\",\"aria-label\":b},React.createElement(StyledModalTitle,{icon:React.createElement(d,{size:25}),iconShadow:!0,isWarning:u,onClose:g,primary:b,secondary:c,variant:\"with-icon\"}),p&&React.createElement(ModalContent,null,p),React.createElement(StyledModalActions,{align:\"center\"},React.createElement(Button,{color:o,onClick:g,size:\"md\",disabled:q},i),React.createElement(Button,{color:m,onClick:f,size:\"md\",warning:u,style:k,disabled:q},h)))};Modal.defaultProps={hint:\"\",isOpened:!1,doneLabel:\"Yes\",cancelLabel:\"No\",doneButtonStyle:void 0,doneButtonColor:\"basic\",cancelButtonColor:\"basic\",children:void 0,areButtonsDisabled:!1,zIndex:void 0,className:void 0,width:\"\",isWarning:!1};export default Modal;","import _slicedToArray from\"@babel/runtime/helpers/slicedToArray\";import React,{useState,useCallback}from\"react\";import{Warning}from\"@scaleflex/icons\";import{useStore}from\"../../hooks\";import{RESET}from\"../../actions\";import Modal from\"../common/Modal\";import{CLOSING_REASONS}from\"../../utils/constants\";var ConfirmationModal=function(a){var b=a.children,c=a.isReset,d=useStore(),e=d.t,f=d.theme,g=d.config,h=d.dispatch,i=d.isResetted,j=d.haveNotSavedChanges,k=d.config.onClose,l=useState(!1),m=_slicedToArray(l,2),n=m[0],o=m[1];if(\"function\"!=typeof k&&!c)return React.createElement(\"span\",null);var p=function(){o(!1)},q=useCallback(function(){h({type:RESET,payload:{config:g}}),p()},[g]),r=function(){c||(k(CLOSING_REASONS.CLOSE_BUTTON,j),q())};return React.createElement(React.Fragment,null,React.cloneElement(b,{onClick:!(void 0!==i)||i?r:function openModal(){o(!0)}}),n&&React.createElement(Modal,{title:c?e(\"warning\"):e(\"discardChanges\"),hint:c?e(\"changesLoseWarningHint\"):e(\"discardChangesWarningHint\"),isOpened:n,onCancel:p,onDone:c?q:r,Icon:function WarningIcon(){return React.createElement(Warning,{color:f.palette.warning,size:25})},doneLabel:e(\"confirm\"),doneButtonColor:\"warning-primary\",cancelLabel:e(\"cancel\"),width:\"400px\",isWarning:!0}))};ConfirmationModal.defaultProps={isReset:!1};export default ConfirmationModal;","import React from\"react\";import CrossOutline from\"@scaleflex/icons/cross-outline\";import{useStore}from\"../../hooks\";import Separator from\"../common/Separator\";import{StyledCloseButton}from\"./Topbar.styled\";import ConfirmationModal from\"./ConfirmationModal\";var CloseButton=function(){var a=useStore(),b=a.config.onClose;return\"function\"==typeof b?React.createElement(React.Fragment,null,React.createElement(Separator,null),React.createElement(ConfirmationModal,null,React.createElement(StyledCloseButton,{className:\"FIE_topbar-close-button\",color:\"basic\",size:\"md\"},React.createElement(CrossOutline,null)))):null};export default CloseButton;","import{DEFAULT_SAVE_QUALITY}from\"./constants\";var getDefaultSaveQuality=function(a){return 0>=a||1 svg:not([color]){color:\",\"}:disabled,[aria-disabled=\\\"true\\\"]{cursor:not-allowed;}&::-webkit-scrollbar{width:4px;height:4px;}&::-webkit-scrollbar-track{background:rgba(203,211,218,0.35);}&::-webkit-scrollbar-thumb{background:rgba(203,211,218,1);border-radius:10px;}}\"],ROOT_CONTAINER_CLASS_NAME,ROOT_CONTAINER_CLASS_NAME,function(a){var b=a.theme;return b.palette[\"icons-primary\"]});export{FontsFaces,OverrideDefaultStyles};","import React,{useEffect,memo}from\"react\";import ThemeProvider from\"@scaleflex/ui/theme\";import App from\"../App\";import{AppProvider}from\"../../context\";import defaultConfig from\"../../context/defaultConfig\";import deepMerge from\"../../utils/deepMerge\";import assignFinetuneNamesToKonva from\"../../utils/assignFinetuneNamesToKonva\";import{FontsFaces,OverrideDefaultStyles}from\"./globalStyles\";var AssemblyPoint=function(a){var b=a.source,c=a.useCloudimage,d=a.cloudimage;if(!b||\"string\"!=typeof b&&!(b instanceof HTMLImageElement))throw new Error(\"`source` property is required either a string of image url or a HTMLImageElement for the image that will be edited.\");if(c){var e,f;if(null!==d&&void 0!==d&&null!==(e=d.imageSealing)&&void 0!==e&&e.enable&&!(null!==d&&void 0!==d&&null!==(f=d.imageSealing)&&void 0!==f&&f.salt))throw new Error(\"`salt` property of imageSealing object is required in cloudimage mode as long as `imageSealing` is enabled.\")}useEffect(function(){assignFinetuneNamesToKonva()},[]);var g=deepMerge(defaultConfig,a);return React.createElement(React.StrictMode,null,React.createElement(ThemeProvider,{theme:g.theme},React.createElement(FontsFaces,null),React.createElement(OverrideDefaultStyles,null),React.createElement(AppProvider,{config:g},React.createElement(App,null))))};AssemblyPoint.defaultProps={useCloudimage:!1,cloudimage:{}};export default memo(AssemblyPoint);","import _typeof from\"@babel/runtime/helpers/typeof\";import _classCallCheck from\"@babel/runtime/helpers/classCallCheck\";import _createClass from\"@babel/runtime/helpers/createClass\";import _defineProperty from\"@babel/runtime/helpers/defineProperty\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;carguments.length?b:c;throw new TypeError(\"Private element is not present on this object\")}import{createElement}from\"react\";import{createRoot}from\"react-dom/client\";import AssemblyPoint,{TOOLS,TABS}from\"react-filerobot-image-editor\";import deepMerge from\"react-filerobot-image-editor/lib/utils/deepMerge\";var _root=new WeakMap,_getCurrentImgDataFnRef=new WeakMap,_updateStateFnRef=new WeakMap,FilerobotImageEditor=function(){function a(b){var c=1t in e?pN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xn=(e,t)=>{for(var n in t||(t={}))zw.call(t,n)&&jw(e,n,t[n]);if($f)for(var n of $f(t))Bw.call(t,n)&&jw(e,n,t[n]);return e},qf=(e,t)=>gN(e,mN(t));var g4=(e,t)=>{var n={};for(var r in e)zw.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$f)for(var r of $f(e))t.indexOf(r)<0&&Bw.call(e,r)&&(n[r]=e[r]);return n};import{p as Yo,m as mh,S as el}from"./previewUtils-IBFOr72u.chunk.mjs";function Qr(e){"@babel/helpers - typeof";return Qr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qr(e)}function vN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yN(e,t){if(Qr(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Qr(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ZP(e){var t=yN(e,"string");return Qr(t)=="symbol"?t:t+""}function bN(e,t){for(var n=0;n>>1,ie=U[ae];if(0>>1;aei(Ce,Q))pei(R,Ce)?(U[ae]=R,U[pe]=Q,ae=pe):(U[ae]=Ce,U[ue]=Q,ae=ue);else if(pei(R,Q))U[ae]=R,U[pe]=Q,ae=pe;else break e}}return J}function i(U,J){var Q=U.sortIndex-J.sortIndex;return Q!==0?Q:U.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var u=[],d=[],f=1,w=null,m=3,g=!1,y=!1,C=!1,P=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(U){for(var J=n(d);J!==null;){if(J.callback===null)r(d);else if(J.startTime<=U)r(d),J.sortIndex=J.expirationTime,t(u,J);else break;J=n(d)}}function x(U){if(C=!1,p(U),!y)if(n(u)!==null)y=!0,G(O);else{var J=n(d);J!==null&&q(x,J.startTime-U)}}function O(U,J){y=!1,C&&(C=!1,S(L),L=-1),g=!0;var Q=m;try{for(p(J),w=n(u);w!==null&&(!(w.expirationTime>J)||U&&!N());){var ae=w.callback;if(typeof ae=="function"){w.callback=null,m=w.priorityLevel;var ie=ae(w.expirationTime<=J);J=e.unstable_now(),typeof ie=="function"?w.callback=ie:w===n(u)&&r(u),p(J)}else r(u);w=n(u)}if(w!==null)var oe=!0;else{var ue=n(d);ue!==null&&q(x,ue.startTime-J),oe=!1}return oe}finally{w=null,m=Q,g=!1}}var k=!1,I=null,L=-1,D=5,M=-1;function N(){return!(e.unstable_now()-MU||125ae?(U.sortIndex=Q,t(d,U),n(u)===null&&U===n(d)&&(C?(S(L),L=-1):C=!0,q(x,Q-ae))):(U.sortIndex=ie,t(u,U),y||g||(y=!0,G(O))),U},e.unstable_shouldYield=N,e.unstable_wrapCallback=function(U){var J=m;return function(){var Q=m;m=J;try{return U.apply(this,arguments)}finally{m=Q}}}})(Xw),ak.exports=Xw;var NN=ak.exports,RN=rk,Di=NN;function Se(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zy=Object.prototype.hasOwnProperty,jN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Yw={},Kw={};function zN(e){return zy.call(Kw,e)?!0:zy.call(Yw,e)?!1:jN.test(e)?Kw[e]=!0:(Yw[e]=!0,!1)}function BN(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function HN(e,t,n,r){if(t===null||typeof t>"u"||BN(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Zr(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var Sr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Sr[e]=new Zr(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Sr[t]=new Zr(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Sr[e]=new Zr(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Sr[e]=new Zr(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Sr[e]=new Zr(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Sr[e]=new Zr(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Sr[e]=new Zr(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Sr[e]=new Zr(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Sr[e]=new Zr(e,5,!1,e.toLowerCase(),null,!1,!1)});var y4=/[\-:]([a-z])/g;function b4(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(y4,b4);Sr[t]=new Zr(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(y4,b4);Sr[t]=new Zr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(y4,b4);Sr[t]=new Zr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Sr[e]=new Zr(e,1,!1,e.toLowerCase(),null,!1,!1)}),Sr.xlinkHref=new Zr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Sr[e]=new Zr(e,1,!1,e.toLowerCase(),null,!0,!0)});function E8(e,t,n,r){var i=Sr.hasOwnProperty(t)?Sr[t]:null;(i!==null?i.type!==0:r||!(2c||i[o]!==a[c]){var u="\n"+i[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=c);break}}}finally{x4=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D0(e):""}function GN(e){switch(e.tag){case 5:return D0(e.type);case 16:return D0("Lazy");case 13:return D0("Suspense");case 19:return D0("SuspenseList");case 0:case 2:case 15:return e=C4(e.type,!1),e;case 11:return e=C4(e.type.render,!1),e;case 1:return e=C4(e.type,!0),e;default:return""}}function Vy(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vd:return"Fragment";case md:return"Portal";case By:return"Profiler";case P8:return"StrictMode";case Hy:return"Suspense";case Gy:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case lk:return(e.displayName||"Context")+".Consumer";case sk:return(e._context.displayName||"Context")+".Provider";case k8:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case L8:return t=e.displayName||null,t!==null?t:Vy(e.type)||"Memo";case Ks:t=e._payload,e=e._init;try{return Vy(e(t))}catch(n){}}return null}function VN(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vy(t);case 8:return t===P8?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function fl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function uk(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function UN(e){var t=uk(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ep(e){e._valueTracker||(e._valueTracker=UN(e))}function dk(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=uk(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ag(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Uy(e,t){var n=t.checked;return En({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function $w(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=fl(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function hk(e,t){t=t.checked,t!=null&&E8(e,"checked",t,!1)}function Wy(e,t){hk(e,t);var n=fl(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Xy(e,t.type,n):t.hasOwnProperty("defaultValue")&&Xy(e,t.type,fl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function qw(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Xy(e,t,n){(t!=="number"||ag(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var N0=Array.isArray;function Md(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=tp.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function l1(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var X0={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},WN=["Webkit","ms","Moz","O"];Object.keys(X0).forEach(function(e){WN.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),X0[t]=X0[e]})});function mk(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||X0.hasOwnProperty(e)&&X0[e]?(""+t).trim():t+"px"}function vk(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=mk(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var XN=En({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Zy(e,t){if(t){if(XN[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Se(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Se(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Se(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Se(62))}}function $y(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var qy=null;function M8(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Qy=null,Td=null,Ad=null;function ex(e){if(e=H1(e)){if(typeof Qy!="function")throw Error(Se(280));var t=e.stateNode;t&&(t=m3(t),Qy(e.stateNode,e.type,t))}}function yk(e){Td?Ad?Ad.push(e):Ad=[e]:Td=e}function bk(){if(Td){var e=Td,t=Ad;if(Ad=Td=null,ex(e),t)for(e=0;e>>=0,e===0?32:31-(rR(e)/iR|0)|0}var np=64,rp=4194304;function R0(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function cg(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var c=o&~i;c!==0?r=R0(c):(a&=o,a!==0&&(r=R0(a)))}else o=n&~i,o!==0?r=R0(o):a!==0&&(r=R0(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function z1(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ma(t),e[t]=n}function lR(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=K0),cx=" ",ux=!1;function zk(e,t){switch(e){case"keyup":return NR.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bk(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var yd=!1;function jR(e,t){switch(e){case"compositionend":return Bk(t);case"keypress":return t.which!==32?null:(ux=!0,cx);case"textInput":return e=t.data,e===cx&&ux?null:e;default:return null}}function zR(e,t){if(yd)return e==="compositionend"||!j8&&zk(e,t)?(e=Rk(),M2=D8=tl=null,yd=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=px(n)}}function Uk(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Uk(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Wk(){for(var e=window,t=ag();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch(r){n=!1}if(n)e=t.contentWindow;else break;t=ag(e.document)}return t}function z8(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function KR(e){var t=Wk(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Uk(n.ownerDocument.documentElement,n)){if(r!==null&&z8(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=gx(n,a);var o=gx(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,bd=null,i6=null,$0=null,a6=!1;function mx(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;a6||bd==null||bd!==ag(r)||(r=bd,"selectionStart"in r&&z8(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),$0&&p1($0,r)||($0=r,r=hg(i6,"onSelect"),0Cd||(e.current=d6[Cd],d6[Cd]=null,Cd--)}function sn(e,t){Cd++,d6[Cd]=e.current,e.current=t}var pl={},Br=bl(pl),ui=bl(!1),zc=pl;function Vd(e,t){var n=e.type.contextTypes;if(!n)return pl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function di(e){return e=e.childContextTypes,e!=null}function pg(){fn(ui),fn(Br)}function Sx(e,t,n){if(Br.current!==pl)throw Error(Se(168));sn(Br,t),sn(ui,n)}function eL(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Se(108,VN(e)||"Unknown",i));return En({},n,r)}function gg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pl,zc=Br.current,sn(Br,e),sn(ui,ui.current),!0}function _x(e,t,n){var r=e.stateNode;if(!r)throw Error(Se(169));n?(e=eL(e,t,zc),r.__reactInternalMemoizedMergedChildContext=e,fn(ui),fn(Br),sn(Br,e)):fn(ui),sn(ui,n)}var Ho=null,v3=!1,N4=!1;function tL(e){Ho===null?Ho=[e]:Ho.push(e)}function oj(e){v3=!0,tL(e)}function wl(){if(!N4&&Ho!==null){N4=!0;var e=0,t=Ht;try{var n=Ho;for(Ht=1;e>=o,i-=o,Go=1<<32-Ma(t)+i|n<L?(D=I,I=null):D=I.sibling;var M=m(S,I,p[L],x);if(M===null){I===null&&(I=D);break}e&&I&&M.alternate===null&&t(S,I),E=a(M,E,L),k===null?O=M:k.sibling=M,k=M,I=D}if(L===p.length)return n(S,I),gn&&wc(S,L),O;if(I===null){for(;LL?(D=I,I=null):D=I.sibling;var N=m(S,I,M.value,x);if(N===null){I===null&&(I=D);break}e&&I&&N.alternate===null&&t(S,I),E=a(N,E,L),k===null?O=N:k.sibling=N,k=N,I=D}if(M.done)return n(S,I),gn&&wc(S,L),O;if(I===null){for(;!M.done;L++,M=p.next())M=w(S,M.value,x),M!==null&&(E=a(M,E,L),k===null?O=M:k.sibling=M,k=M);return gn&&wc(S,L),O}for(I=r(S,I);!M.done;L++,M=p.next())M=g(I,S,L,M.value,x),M!==null&&(e&&M.alternate!==null&&I.delete(M.key===null?L:M.key),E=a(M,E,L),k===null?O=M:k.sibling=M,k=M);return e&&I.forEach(function(z){return t(S,z)}),gn&&wc(S,L),O}function P(S,E,p,x){if(typeof p=="object"&&p!==null&&p.type===vd&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case Jf:e:{for(var O=p.key,k=E;k!==null;){if(k.key===O){if(O=p.type,O===vd){if(k.tag===7){n(S,k.sibling),E=i(k,p.props.children),E.return=S,S=E;break e}}else if(k.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===Ks&&Px(O)===k.type){n(S,k.sibling),E=i(k,p.props),E.ref=l0(S,k,p),E.return=S,S=E;break e}n(S,k);break}else t(S,k);k=k.sibling}p.type===vd?(E=Mc(p.props.children,S.mode,x,p.key),E.return=S,S=E):(x=j2(p.type,p.key,p.props,null,S.mode,x),x.ref=l0(S,E,p),x.return=S,S=x)}return o(S);case md:e:{for(k=p.key;E!==null;){if(E.key===k)if(E.tag===4&&E.stateNode.containerInfo===p.containerInfo&&E.stateNode.implementation===p.implementation){n(S,E.sibling),E=i(E,p.children||[]),E.return=S,S=E;break e}else{n(S,E);break}else t(S,E);E=E.sibling}E=U4(p,S.mode,x),E.return=S,S=E}return o(S);case Ks:return k=p._init,P(S,E,k(p._payload),x)}if(N0(p))return y(S,E,p,x);if(r0(p))return C(S,E,p,x);up(S,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,E!==null&&E.tag===6?(n(S,E.sibling),E=i(E,p),E.return=S,S=E):(n(S,E),E=V4(p,S.mode,x),E.return=S,S=E),o(S)):n(S,E)}return P}var Wd=aL(!0),oL=aL(!1),yg=bl(null),bg=null,Od=null,V8=null;function U8(){V8=Od=bg=null}function W8(e){var t=yg.current;fn(yg),e._currentValue=t}function p6(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Fd(e,t){bg=e,V8=Od=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ci=!0),e.firstContext=null)}function aa(e){var t=e._currentValue;if(V8!==e)if(e={context:e,memoizedValue:t,next:null},Od===null){if(bg===null)throw Error(Se(308));Od=e,bg.dependencies={lanes:0,firstContext:e}}else Od=Od.next=e;return t}var Ec=null;function X8(e){Ec===null?Ec=[e]:Ec.push(e)}function sL(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,X8(t)):(n.next=i.next,i.next=n),t.interleaved=n,Zo(e,r)}function Zo(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Zs=!1;function Y8(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lL(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $o(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function sl(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Pt&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Zo(e,n)}return i=r.interleaved,i===null?(t.next=t,X8(r)):(t.next=i.next,i.next=t),r.interleaved=t,Zo(e,n)}function A2(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,A8(e,n)}}function kx(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function wg(e,t,n,r){var i=e.updateQueue;Zs=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,c=i.shared.pending;if(c!==null){i.shared.pending=null;var u=c,d=u.next;u.next=null,o===null?a=d:o.next=d,o=u;var f=e.alternate;f!==null&&(f=f.updateQueue,c=f.lastBaseUpdate,c!==o&&(c===null?f.firstBaseUpdate=d:c.next=d,f.lastBaseUpdate=u))}if(a!==null){var w=i.baseState;o=0,f=d=u=null,c=a;do{var m=c.lane,g=c.eventTime;if((r&m)===m){f!==null&&(f=f.next={eventTime:g,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var y=e,C=c;switch(m=t,g=n,C.tag){case 1:if(y=C.payload,typeof y=="function"){w=y.call(g,w,m);break e}w=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=C.payload,m=typeof y=="function"?y.call(g,w,m):y,m==null)break e;w=En({},w,m);break e;case 2:Zs=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,m=i.effects,m===null?i.effects=[c]:m.push(c))}else g={eventTime:g,lane:m,tag:c.tag,payload:c.payload,callback:c.callback,next:null},f===null?(d=f=g,u=w):f=f.next=g,o|=m;if(c=c.next,c===null){if(c=i.shared.pending,c===null)break;m=c,c=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);if(f===null&&(u=w),i.baseState=u,i.firstBaseUpdate=d,i.lastBaseUpdate=f,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Gc|=o,e.lanes=o,e.memoizedState=w}}function Lx(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=j4.transition;j4.transition={};try{e(!1),t()}finally{Ht=n,j4.transition=r}}function OL(){return oa().memoizedState}function uj(e,t,n){var r=cl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},EL(e))PL(t,n);else if(n=sL(e,t,n,r),n!==null){var i=qr();Ta(n,e,r,i),kL(n,t,r)}}function dj(e,t,n){var r=cl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(EL(e))PL(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,c=a(o,n);if(i.hasEagerState=!0,i.eagerState=c,Ia(c,o)){var u=t.interleaved;u===null?(i.next=i,X8(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch(d){}finally{}n=sL(e,t,i,r),n!==null&&(i=qr(),Ta(n,e,r,i),kL(n,t,r))}}function EL(e){var t=e.alternate;return e===On||t!==null&&t===On}function PL(e,t){q0=Cg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kL(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,A8(e,n)}}var Sg={readContext:aa,useCallback:Tr,useContext:Tr,useEffect:Tr,useImperativeHandle:Tr,useInsertionEffect:Tr,useLayoutEffect:Tr,useMemo:Tr,useReducer:Tr,useRef:Tr,useState:Tr,useDebugValue:Tr,useDeferredValue:Tr,useTransition:Tr,useMutableSource:Tr,useSyncExternalStore:Tr,useId:Tr,unstable_isNewReconciler:!1},hj={readContext:aa,useCallback:function(e,t){return Ja().memoizedState=[e,t===void 0?null:t],e},useContext:aa,useEffect:Tx,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,F2(4194308,4,wL.bind(null,t,e),n)},useLayoutEffect:function(e,t){return F2(4194308,4,e,t)},useInsertionEffect:function(e,t){return F2(4,2,e,t)},useMemo:function(e,t){var n=Ja();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ja();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=uj.bind(null,On,e),[r.memoizedState,e]},useRef:function(e){var t=Ja();return e={current:e},t.memoizedState=e},useState:Mx,useDebugValue:t7,useDeferredValue:function(e){return Ja().memoizedState=e},useTransition:function(){var e=Mx(!1),t=e[0];return e=cj.bind(null,e[1]),Ja().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=On,i=Ja();if(gn){if(n===void 0)throw Error(Se(407));n=n()}else{if(n=t(),vr===null)throw Error(Se(349));Hc&30||hL(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Tx(pL.bind(null,r,a,e),[e]),r.flags|=2048,C1(9,fL.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ja(),t=vr.identifierPrefix;if(gn){var n=Vo,r=Go;n=(r&~(1<<32-Ma(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=w1++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[to]=t,e[v1]=r,jL(e,t,!1,!1),t.stateNode=e;e:{switch(o=$y(n,r),n){case"dialog":un("cancel",e),un("close",e),i=r;break;case"iframe":case"object":case"embed":un("load",e),i=r;break;case"video":case"audio":for(i=0;iKd&&(t.flags|=128,r=!0,c0(a,!1),t.lanes=4194304)}else{if(!r)if(e=xg(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),c0(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!gn)return Ar(t),null}else 2*Gn()-a.renderingStartTime>Kd&&n!==1073741824&&(t.flags|=128,r=!0,c0(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Gn(),t.sibling=null,n=Cn.current,sn(Cn,r?n&1|2:n&1),t):(Ar(t),null);case 22:case 23:return s7(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Li&1073741824&&(Ar(t),t.subtreeFlags&6&&(t.flags|=8192)):Ar(t),null;case 24:return null;case 25:return null}throw Error(Se(156,t.tag))}function wj(e,t){switch(H8(t),t.tag){case 1:return di(t.type)&&pg(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Xd(),fn(ui),fn(Br),$8(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Z8(t),null;case 13:if(fn(Cn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Se(340));Ud()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fn(Cn),null;case 4:return Xd(),null;case 10:return W8(t.type._context),null;case 22:case 23:return s7(),null;case 24:return null;default:return null}}var hp=!1,zr=!1,xj=typeof WeakSet=="function"?WeakSet:Set,De=null;function Ed(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Dn(e,t,r)}else n.current=null}function HL(e,t,n){try{n()}catch(r){Dn(e,t,r)}}var Gx=!1;function Cj(e,t){if(o6=ug,e=Wk(),z8(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch(x){n=null;break e}var o=0,c=-1,u=-1,d=0,f=0,w=e,m=null;t:for(;;){for(var g;w!==n||i!==0&&w.nodeType!==3||(c=o+i),w!==a||r!==0&&w.nodeType!==3||(u=o+r),w.nodeType===3&&(o+=w.nodeValue.length),(g=w.firstChild)!==null;)m=w,w=g;for(;;){if(w===e)break t;if(m===n&&++d===i&&(c=o),m===a&&++f===r&&(u=o),(g=w.nextSibling)!==null)break;w=m,m=w.parentNode}w=g}n=c===-1||u===-1?null:{start:c,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(s6={focusedElem:e,selectionRange:n},ug=!1,De=t;De!==null;)if(t=De,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,De=e;else for(;De!==null;){t=De;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var C=y.memoizedProps,P=y.memoizedState,S=t.stateNode,E=S.getSnapshotBeforeUpdate(t.elementType===t.type?C:_a(t.type,C),P);S.__reactInternalSnapshotBeforeUpdate=E}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Se(163))}}catch(x){Dn(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,De=e;break}De=t.return}return y=Gx,Gx=!1,y}function Q0(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&HL(t,n,a)}i=i.next}while(i!==r)}}function w3(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function S6(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function GL(e){var t=e.alternate;t!==null&&(e.alternate=null,GL(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[to],delete t[v1],delete t[u6],delete t[ij],delete t[aj])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function VL(e){return e.tag===5||e.tag===3||e.tag===4}function Vx(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||VL(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _6(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=fg));else if(r!==4&&(e=e.child,e!==null))for(_6(e,t,n),e=e.sibling;e!==null;)_6(e,t,n),e=e.sibling}function O6(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(O6(e,t,n),e=e.sibling;e!==null;)O6(e,t,n),e=e.sibling}var Cr=null,Oa=!1;function Os(e,t,n){for(n=n.child;n!==null;)UL(e,t,n),n=n.sibling}function UL(e,t,n){if(ao&&typeof ao.onCommitFiberUnmount=="function")try{ao.onCommitFiberUnmount(h3,n)}catch(c){}switch(n.tag){case 5:zr||Ed(n,t);case 6:var r=Cr,i=Oa;Cr=null,Os(e,t,n),Cr=r,Oa=i,Cr!==null&&(Oa?(e=Cr,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Cr.removeChild(n.stateNode));break;case 18:Cr!==null&&(Oa?(e=Cr,n=n.stateNode,e.nodeType===8?D4(e.parentNode,n):e.nodeType===1&&D4(e,n),h1(e)):D4(Cr,n.stateNode));break;case 4:r=Cr,i=Oa,Cr=n.stateNode.containerInfo,Oa=!0,Os(e,t,n),Cr=r,Oa=i;break;case 0:case 11:case 14:case 15:if(!zr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&HL(n,t,o),i=i.next}while(i!==r)}Os(e,t,n);break;case 1:if(!zr&&(Ed(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(c){Dn(n,t,c)}Os(e,t,n);break;case 21:Os(e,t,n);break;case 22:n.mode&1?(zr=(r=zr)||n.memoizedState!==null,Os(e,t,n),zr=r):Os(e,t,n);break;default:Os(e,t,n)}}function Ux(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new xj),t.forEach(function(r){var i=Tj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function va(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=Gn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_j(r/1960))-r,10e?16:e,nl===null)var r=!1;else{if(e=nl,nl=null,Eg=0,Pt&6)throw Error(Se(331));var i=Pt;for(Pt|=4,De=e.current;De!==null;){var a=De,o=a.child;if(De.flags&16){var c=a.deletions;if(c!==null){for(var u=0;uGn()-a7?Lc(e,0):i7|=n),hi(e,t)}function QL(e,t){t===0&&(e.mode&1?(t=rp,rp<<=1,!(rp&130023424)&&(rp=4194304)):t=1);var n=qr();e=Zo(e,t),e!==null&&(z1(e,t,n),hi(e,n))}function Mj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),QL(e,n)}function Tj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Se(314))}r!==null&&r.delete(t),QL(e,n)}var JL;JL=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ui.current)ci=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ci=!1,yj(e,t,n);ci=!!(e.flags&131072)}else ci=!1,gn&&t.flags&1048576&&nL(t,vg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;D2(e,t),e=t.pendingProps;var i=Vd(t,Br.current);Fd(t,n),i=Q8(null,t,r,e,i,n);var a=J8();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,di(r)?(a=!0,gg(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Y8(t),i.updater=b3,t.stateNode=i,i._reactInternals=t,m6(t,r,e,n),t=b6(null,t,r,!0,a,n)):(t.tag=0,gn&&a&&B8(t),$r(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(D2(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=Ij(r),e=_a(r,e),i){case 0:t=y6(null,t,r,e,n);break e;case 1:t=zx(null,t,r,e,n);break e;case 11:t=Rx(null,t,r,e,n);break e;case 14:t=jx(null,t,r,_a(r.type,e),n);break e}throw Error(Se(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),y6(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),zx(e,t,r,i,n);case 3:e:{if(DL(t),e===null)throw Error(Se(387));r=t.pendingProps,a=t.memoizedState,i=a.element,lL(e,t),wg(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Yd(Error(Se(423)),t),t=Bx(e,t,r,n,i);break e}else if(r!==i){i=Yd(Error(Se(424)),t),t=Bx(e,t,r,n,i);break e}else for(Ai=ol(t.stateNode.containerInfo.firstChild),Fi=t,gn=!0,Ea=null,n=oL(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ud(),r===i){t=Qo(e,t,n);break e}$r(e,t,r,n)}t=t.child}return t;case 5:return cL(t),e===null&&f6(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,l6(r,i)?o=null:a!==null&&l6(r,a)&&(t.flags|=32),FL(e,t),$r(e,t,o,n),t.child;case 6:return e===null&&f6(t),null;case 13:return NL(e,t,n);case 4:return K8(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wd(t,null,r,n):$r(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),Rx(e,t,r,i,n);case 7:return $r(e,t,t.pendingProps,n),t.child;case 8:return $r(e,t,t.pendingProps.children,n),t.child;case 12:return $r(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,sn(yg,r._currentValue),r._currentValue=o,a!==null)if(Ia(a.value,o)){if(a.children===i.children&&!ui.current){t=Qo(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var c=a.dependencies;if(c!==null){o=a.child;for(var u=c.firstContext;u!==null;){if(u.context===r){if(a.tag===1){u=$o(-1,n&-n),u.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var f=d.pending;f===null?u.next=u:(u.next=f.next,f.next=u),d.pending=u}}a.lanes|=n,u=a.alternate,u!==null&&(u.lanes|=n),p6(a.return,n,t),c.lanes|=n;break}u=u.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(Se(341));o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),p6(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}$r(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Fd(t,n),i=aa(i),r=r(i),t.flags|=1,$r(e,t,r,n),t.child;case 14:return r=t.type,i=_a(r,t.pendingProps),i=_a(r.type,i),jx(e,t,r,i,n);case 15:return AL(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:_a(r,i),D2(e,t),t.tag=1,di(r)?(e=!0,gg(t)):e=!1,Fd(t,n),LL(t,r,i),m6(t,r,i,n),b6(null,t,r,!0,e,n);case 19:return RL(e,t,n);case 22:return IL(e,t,n)}throw Error(Se(156,t.tag))};function eM(e,t){return Ek(e,t)}function Aj(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function na(e,t,n,r){return new Aj(e,t,n,r)}function c7(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ij(e){if(typeof e=="function")return c7(e)?1:0;if(e!=null){if(e=e.$$typeof,e===k8)return 11;if(e===L8)return 14}return 2}function ul(e,t){var n=e.alternate;return n===null?(n=na(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function j2(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")c7(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case vd:return Mc(n.children,i,a,t);case P8:o=8,i|=8;break;case By:return e=na(12,n,t,i|2),e.elementType=By,e.lanes=a,e;case Hy:return e=na(13,n,t,i),e.elementType=Hy,e.lanes=a,e;case Gy:return e=na(19,n,t,i),e.elementType=Gy,e.lanes=a,e;case ck:return C3(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case sk:o=10;break e;case lk:o=9;break e;case k8:o=11;break e;case L8:o=14;break e;case Ks:o=16,r=null;break e}throw Error(Se(130,e==null?e:typeof e,""))}return t=na(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Mc(e,t,n,r){return e=na(7,e,r,t),e.lanes=n,e}function C3(e,t,n,r){return e=na(22,e,r,t),e.elementType=ck,e.lanes=n,e.stateNode={isHidden:!1},e}function V4(e,t,n){return e=na(6,e,null,t),e.lanes=n,e}function U4(e,t,n){return t=na(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fj(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_4(0),this.expirationTimes=_4(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_4(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function u7(e,t,n,r,i,a,o,c,u){return e=new Fj(e,t,n,c,u),t===1?(t=1,a===!0&&(t|=8)):t=0,a=na(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Y8(a),e}function Dj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(rM)}catch(e){console.error(e)}}rM(),ik.exports=Ei;var zj=ik.exports,T6,Jx=zj;T6=Jx.createRoot,Jx.hydrateRoot;var iM={exports:{}},ot={},d7=Symbol.for("react.transitional.element"),Bj=Symbol.for("react.portal"),Hj=Symbol.for("react.fragment"),Gj=Symbol.for("react.strict_mode"),Vj=Symbol.for("react.profiler"),Uj=Symbol.for("react.consumer"),Wj=Symbol.for("react.context"),Xj=Symbol.for("react.forward_ref"),Yj=Symbol.for("react.suspense"),Kj=Symbol.for("react.memo"),aM=Symbol.for("react.lazy"),eC=Symbol.iterator;function Zj(e){return e===null||typeof e!="object"?null:(e=eC&&e[eC]||e["@@iterator"],typeof e=="function"?e:null)}var oM={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},sM=Object.assign,lM={};function Nd(e,t,n){this.props=e,this.context=t,this.refs=lM,this.updater=n||oM}Nd.prototype.isReactComponent={},Nd.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},Nd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function cM(){}cM.prototype=Nd.prototype;function h7(e,t,n){this.props=e,this.context=t,this.refs=lM,this.updater=n||oM}var Y4=h7.prototype=new cM;Y4.constructor=h7,sM(Y4,Nd.prototype),Y4.isPureReactComponent=!0;var tC=Array.isArray,wn={H:null,A:null,T:null,S:null},nC=Object.prototype.hasOwnProperty;function A6(e,t,n,r,i,a){return n=a.ref,{$$typeof:d7,type:e,key:t,ref:n!==void 0?n:null,props:a}}function $j(e,t){return A6(e.type,t,void 0,void 0,void 0,e.props)}function I6(e){return typeof e=="object"&&e!==null&&e.$$typeof===d7}function qj(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var rC=/\/+/g;function K4(e,t){return typeof e=="object"&&e!==null&&e.key!=null?qj(""+e.key):t.toString(36)}function iC(){}function Qj(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(iC,iC):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function hd(e,t,n,r,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case d7:case Bj:o=!0;break;case aM:return o=e._init,hd(o(e._payload),t,n,r,i)}}if(o)return i=i(e),o=r===""?"."+K4(e,0):r,tC(i)?(n="",o!=null&&(n=o.replace(rC,"$&/")+"/"),hd(i,t,n,"",function(d){return d})):i!=null&&(I6(i)&&(i=$j(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(rC,"$&/")+"/")+o)),t.push(i)),1;o=0;var c=r===""?".":r+":";if(tC(e))for(var u=0;u0?gr(bh,--sa):0,qd--,Kn===10&&(qd=1,_3--),Kn}function Aa(){return Kn=sa2||D6(Kn)>3?"":" "}function uz(e,t){for(;--t&&Aa()&&!(Kn<48||Kn>102||Kn>57&&Kn<65||Kn>70&&Kn<97););return E3(e,B2()+(t<6&&Tc()==32&&Aa()==32))}function N6(e){for(;Aa();)switch(Kn){case e:return sa;case 34:case 39:e!==34&&e!==39&&N6(Kn);break;case 40:e===41&&N6(e);break;case 92:Aa();break}return sa}function dz(e,t){for(;Aa()&&e+Kn!==57&&!(e+Kn===84&&Tc()===47););return"/*"+E3(t,sa-1)+"*"+p7(e===47?e:Aa())}function hz(e){for(;!D6(Tc());)Aa();return E3(e,sa)}function fz(e){return lz(H2("",null,null,null,[""],e=sz(e),0,[0],e))}function H2(e,t,n,r,i,a,o,c,u){for(var d=0,f=0,w=o,m=0,g=0,y=0,C=1,P=1,S=1,E=0,p="",x=i,O=a,k=r,I=p;P;)switch(y=E,E=Aa()){case 40:if(y!=108&&gr(I,w-1)==58){z2(I+=st(Z4(E),"&","&\f"),"&\f",hM(d?c[d-1]:0))!=-1&&(S=-1);break}case 34:case 39:case 91:I+=Z4(E);break;case 9:case 10:case 13:case 32:I+=cz(y);break;case 92:I+=uz(B2()-1,7);continue;case 47:switch(Tc()){case 42:case 47:z0(pz(dz(Aa(),B2()),t,n,u),u);break;default:I+="/"}break;case 123*C:c[d++]=eo(I)*S;case 125*C:case 59:case 0:switch(E){case 0:case 125:P=0;case 59+f:S==-1&&(I=st(I,/\f/g,"")),g>0&&eo(I)-w&&z0(g>32?lC(I+";",r,n,w-1,u):lC(st(I," ","")+";",r,n,w-2,u),u);break;case 59:I+=";";default:if(z0(k=sC(I,t,n,d,f,i,c,p,x=[],O=[],w,a),a),E===123)if(f===0)H2(I,t,k,k,x,a,w,c,O);else switch(m===99&&gr(I,3)===110?100:m){case 100:case 108:case 109:case 115:H2(e,k,k,r&&z0(sC(e,k,k,0,0,i,c,p,i,x=[],w,O),O),i,O,w,c,r?x:O);break;default:H2(I,k,k,k,[""],O,0,c,O)}}d=f=g=0,C=S=1,p=I="",w=o;break;case 58:w=1+eo(I),g=y;default:if(C<1){if(E==123)--C;else if(E==125&&C++==0&&oz()==125)continue}switch(I+=p7(E),E*C){case 38:S=f>0?1:(I+="\f",-1);break;case 44:c[d++]=(eo(I)-1)*S,S=1;break;case 64:Tc()===45&&(I+=Z4(Aa())),m=Tc(),f=w=eo(p=I+=hz(B2())),E++;break;case 45:y===45&&eo(I)==2&&(C=0)}}return a}function sC(e,t,n,r,i,a,o,c,u,d,f,w){for(var m=i-1,g=i===0?a:[""],y=pM(g),C=0,P=0,S=0;C0?g[E]+" "+p:st(p,/&\f/g,g[E])))&&(u[S++]=x);return O3(e,t,n,i===0?S3:c,u,d,f,w)}function pz(e,t,n,r){return O3(e,t,n,uM,p7(az()),$d(e,2,-2),0,r)}function lC(e,t,n,r,i){return O3(e,t,n,f7,$d(e,0,r),$d(e,r+1,-1),r,i)}function mM(e,t,n){switch(rz(e,t)){case 5103:return Nt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Nt+e+e;case 4789:return t1+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Nt+e+t1+e+dn+e+e;case 5936:switch(gr(e,t+11)){case 114:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Nt+e+dn+st(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Nt+e+dn+e+e;case 6165:return Nt+e+dn+"flex-"+e+e;case 5187:return Nt+e+st(e,/(\w+).+(:[^]+)/,Nt+"box-$1$2"+dn+"flex-$1$2")+e;case 5443:return Nt+e+dn+"flex-item-"+st(e,/flex-|-self/g,"")+(Bo(e,/flex-|baseline/)?"":dn+"grid-row-"+st(e,/flex-|-self/g,""))+e;case 4675:return Nt+e+dn+"flex-line-pack"+st(e,/align-content|flex-|-self/g,"")+e;case 5548:return Nt+e+dn+st(e,"shrink","negative")+e;case 5292:return Nt+e+dn+st(e,"basis","preferred-size")+e;case 6060:return Nt+"box-"+st(e,"-grow","")+Nt+e+dn+st(e,"grow","positive")+e;case 4554:return Nt+st(e,/([^-])(transform)/g,"$1"+Nt+"$2")+e;case 6187:return st(st(st(e,/(zoom-|grab)/,Nt+"$1"),/(image-set)/,Nt+"$1"),e,"")+e;case 5495:case 3959:return st(e,/(image-set\([^]*)/,Nt+"$1$`$1");case 4968:return st(st(e,/(.+:)(flex-)?(.*)/,Nt+"box-pack:$3"+dn+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Nt+e+e;case 4200:if(!Bo(e,/flex-|baseline/))return dn+"grid-column-align"+$d(e,t)+e;break;case 2592:case 3360:return dn+st(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,i){return t=i,Bo(r.props,/grid-\w+-end/)})?~z2(e+(n=n[t].value),"span",0)?e:dn+st(e,"-start","")+e+dn+"grid-row-span:"+(~z2(n,"span",0)?Bo(n,/\d+/):+Bo(n,/\d+/)-+Bo(e,/\d+/))+";":dn+st(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return Bo(r.props,/grid-\w+-start/)})?e:dn+st(st(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return st(e,/(.+)-inline(.+)/,Nt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(eo(e)-1-t>6)switch(gr(e,t+1)){case 109:if(gr(e,t+4)!==45)break;case 102:return st(e,/(.+:)(.+)-([^]+)/,"$1"+Nt+"$2-$3$1"+t1+(gr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~z2(e,"stretch",0)?mM(st(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return st(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,i,a,o,c,u,d){return dn+i+":"+a+d+(o?dn+i+"-span:"+(c?u:+u-+a)+d:"")+e});case 4949:if(gr(e,t+6)===121)return st(e,":",":"+Nt)+e;break;case 6444:switch(gr(e,gr(e,14)===45?18:11)){case 120:return st(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Nt+(gr(e,14)===45?"inline-":"")+"box$3$1"+Nt+"$2$3$1"+dn+"$2box$3")+e;case 100:return st(e,":",":"+dn)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return st(e,"scroll-","scroll-snap-")+e}return e}function Tg(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case f7:e.return=mM(e.value,e.length,n);return;case dM:return Tg([Us(e,{value:st(e.value,"@","@"+Nt)})],r);case S3:if(e.length)return iz(n=e.props,function(i){switch(Bo(i,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":Ru(Us(e,{props:[st(i,/:(read-\w+)/,":"+t1+"$1")]})),Ru(Us(e,{props:[i]})),F6(e,{props:oC(n,r)});break;case"::placeholder":Ru(Us(e,{props:[st(i,/:(plac\w+)/,":"+Nt+"input-$1")]})),Ru(Us(e,{props:[st(i,/:(plac\w+)/,":"+t1+"$1")]})),Ru(Us(e,{props:[st(i,/:(plac\w+)/,dn+"input-$1")]})),Ru(Us(e,{props:[i]})),F6(e,{props:oC(n,r)});break}return""})}}var bz={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ki={},Qd=typeof Yo<"u"&&ki!==void 0&&(ki.REACT_APP_SC_ATTR||ki.SC_ATTR)||"data-styled",vM="active",yM="data-styled-version",P3="6.1.14",g7="/*!sc*/\n",Ag=typeof window<"u"&&"HTMLElement"in window,wz=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof Yo<"u"&&ki!==void 0&&ki.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&ki.REACT_APP_SC_DISABLE_SPEEDY!==""?ki.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&ki.REACT_APP_SC_DISABLE_SPEEDY:typeof Yo<"u"&&ki!==void 0&&ki.SC_DISABLE_SPEEDY!==void 0&&ki.SC_DISABLE_SPEEDY!==""&&ki.SC_DISABLE_SPEEDY!=="false"&&ki.SC_DISABLE_SPEEDY),xz={},k3=Object.freeze([]),Jd=Object.freeze({});function bM(e,t,n){return n===void 0&&(n=Jd),e.theme!==n.theme&&e.theme||t||n.theme}var wM=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),Cz=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Sz=/(^-|-$)/g;function cC(e){return e.replace(Cz,"-").replace(Sz,"")}var _z=/(a)(d)/gi,yp=52,uC=function(e){return String.fromCharCode(e+(e>25?39:97))};function R6(e){var t,n="";for(t=Math.abs(e);t>yp;t=t/yp|0)n=uC(t%yp)+n;return(uC(t%yp)+n).replace(_z,"$1-$2")}var $4,xM=5381,kd=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},CM=function(e){return kd(xM,e)};function m7(e){return R6(CM(e)>>>0)}function Oz(e){return e.displayName||e.name||"Component"}function q4(e){return typeof e=="string"&&!0}var SM=typeof Symbol=="function"&&Symbol.for,_M=SM?Symbol.for("react.memo"):60115,Ez=SM?Symbol.for("react.forward_ref"):60112,Pz={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},kz={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},OM={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Lz=(($4={})[Ez]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},$4[_M]=OM,$4);function dC(e){return("type"in(t=e)&&t.type.$$typeof)===_M?OM:"$$typeof"in e?Lz[e.$$typeof]:Pz;var t}var Mz=Object.defineProperty,Tz=Object.getOwnPropertyNames,hC=Object.getOwnPropertySymbols,Az=Object.getOwnPropertyDescriptor,Iz=Object.getPrototypeOf,fC=Object.prototype;function EM(e,t,n){if(typeof t!="string"){if(fC){var r=Iz(t);r&&r!==fC&&EM(e,r,n)}var i=Tz(t);hC&&(i=i.concat(hC(t)));for(var a=dC(e),o=dC(t),c=0;c0?" Args: ".concat(t.join(", ")):""))}var Fz=function(){function e(t){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=t}return e.prototype.indexOfGroup=function(t){for(var n=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,i=r.length,a=i;t>=a;)if((a<<=1)<0)throw gl(16,"".concat(t));this.groupSizes=new Uint32Array(a),this.groupSizes.set(r),this.length=a;for(var o=i;o=this.length||this.groupSizes[t]===0)return n;for(var r=this.groupSizes[t],i=this.indexOfGroup(t),a=i+r,o=i;o=0){var r=document.createTextNode(n);return this.element.insertBefore(r,this.nodes[t]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(t){this.element.removeChild(this.nodes[t]),this.length--},e.prototype.getRule=function(t){return t0&&(P+="".concat(S,","))}),u+="".concat(y).concat(C,'{content:"').concat(P,'"}').concat(g7)},f=0;f0?".".concat(t):m},f=u.slice();f.push(function(m){m.type===S3&&m.value.includes("&")&&(m.props[0]=m.props[0].replace(Wz,n).replace(r,d))}),o.prefix&&f.push(yz),f.push(gz);var w=function(m,g,y,C){g===void 0&&(g=""),y===void 0&&(y=""),C===void 0&&(C="&"),t=C,n=g,r=new RegExp("\\".concat(n,"\\b"),"g");var P=m.replace(Xz,""),S=fz(y||g?"".concat(y," ").concat(g," { ").concat(P," }"):P);o.namespace&&(S=kM(S,o.namespace));var E=[];return Tg(S,mz(f.concat(vz(function(p){return E.push(p)})))),E};return w.hash=u.length?u.reduce(function(m,g){return g.name||gl(15),kd(m,g.name)},xM).toString():"",w}var Kz=new Dg,z6=Yz(),LM=b.createContext({shouldForwardProp:void 0,styleSheet:Kz,stylis:z6});LM.Consumer,b.createContext(void 0);function B6(){return B.useContext(LM)}var MM=function(){function e(t,n){var r=this;this.inject=function(i,a){a===void 0&&(a=z6);var o=r.name+a.hash;i.hasNameForId(r.id,o)||i.insertRules(r.id,o,a(r.rules,o,"@keyframes"))},this.name=t,this.id="sc-keyframes-".concat(t),this.rules=n,y7(this,function(){throw gl(12,String(r.name))})}return e.prototype.getName=function(t){return t===void 0&&(t=z6),this.name+t.hash},e}(),Zz=function(e){return e>="A"&&e<="Z"};function mC(e){for(var t="",n=0;n>>0);if(!n.hasNameForId(this.componentId,o)){var c=r(a,".".concat(o),void 0,this.componentId);n.insertRules(this.componentId,o,c)}i=kc(i,o),this.staticRulesId=o}else{for(var u=kd(this.baseHash,r.hash),d="",f=0;f>>0);n.hasNameForId(this.componentId,g)||n.insertRules(this.componentId,g,r(d,".".concat(g),void 0,this.componentId)),i=kc(i,g)}}return i},e}(),eh=b.createContext(void 0);eh.Consumer;function Qz(){var e=B.useContext(eh);if(!e)throw gl(18);return e}function Jz(e){var t=b.useContext(eh),n=B.useMemo(function(){return function(r,i){if(!r)throw gl(14);if(Uc(r)){var a=r(i);return a}if(Array.isArray(r)||typeof r!="object")throw gl(8);return i?mr(mr({},i),r):r}(e.theme,t)},[e.theme,t]);return e.children?b.createElement(eh.Provider,{value:n},e.children):null}var Q4={};function eB(e,t,n){var r=v7(e),i=e,a=!q4(e),o=t.attrs,c=o===void 0?k3:o,u=t.componentId,d=u===void 0?function(x,O){var k=typeof x!="string"?"sc":cC(x);Q4[k]=(Q4[k]||0)+1;var I="".concat(k,"-").concat(m7(P3+k+Q4[k]));return O?"".concat(O,"-").concat(I):I}(t.displayName,t.parentComponentId):u,f=t.displayName,w=f===void 0?function(x){return q4(x)?"styled.".concat(x):"Styled(".concat(Oz(x),")")}(e):f,m=t.displayName&&t.componentId?"".concat(cC(t.displayName),"-").concat(t.componentId):t.componentId||d,g=r&&i.attrs?i.attrs.concat(c).filter(Boolean):c,y=t.shouldForwardProp;if(r&&i.shouldForwardProp){var C=i.shouldForwardProp;if(t.shouldForwardProp){var P=t.shouldForwardProp;y=function(x,O){return C(x,O)&&P(x,O)}}else y=C}var S=new qz(n,m,r?i.componentStyle:void 0);function E(x,O){return function(k,I,L){var D=k.attrs,M=k.componentStyle,N=k.defaultProps,z=k.foldedComponentIds,H=k.styledComponentId,W=k.target,K=b.useContext(eh),G=B6(),q=k.shouldForwardProp||G.shouldForwardProp,U=bM(I,K,N)||Jd,J=function(Ce,pe,R){for(var Y,re=mr(mr({},pe),{className:void 0,theme:R}),be=0;be2&&Dg.registerId(this.componentId+t),this.removeStyles(t,r),this.createStyles(t,n,r,i)},e}();function L3(e){for(var t=[],n=1;n-1}function Hi(V,ee){var he=this.__data__,Ne=Ha(he,V);return Ne<0?(++this.size,he.push([V,ee])):he[Ne][1]=ee,this}ei.prototype.clear=Jc,ei.prototype.delete=ja,ei.prototype.get=Vn,ei.prototype.has=ti,ei.prototype.set=Hi;function ho(V){var ee=-1,he=V==null?0:V.length;for(this.clear();++ee1?he[ft-1]:void 0,zt=ft>2?he[2]:void 0;for(wt=V.length>3&&typeof wt=="function"?(ft--,wt):void 0,zt&&uf(he[0],he[1],zt)&&(wt=ft<3?void 0:wt,ft=1),ee=Object(ee);++Ne-1&&V%1==0&&V0){if(++ee>=i)return arguments[0]}else ee=0;return V.apply(void 0,arguments)}}function pf(V){if(V!=null){try{return ln.call(V)}catch(ee){}try{return V+""}catch(ee){}}return""}function Ml(V,ee){return V===ee||V!==V&&ee!==ee}var au=Ll(function(){return arguments}())?Ll:function(V){return po(V)&&tn.call(V,"callee")&&!We.call(V,"callee")},Tl=Array.isArray;function ou(V){return V!=null&&Ah(V.length)&&!lu(V)}function gf(V){return po(V)&&ou(V)}var su=br||uu;function lu(V){if(!Ga(V))return!1;var ee=ni(V);return ee==g||ee==y||ee==d||ee==p}function Ah(V){return typeof V=="number"&&V>-1&&V%1==0&&V<=o}function Ga(V){var ee=typeof V;return V!=null&&(ee=="object"||ee=="function")}function po(V){return V!=null&&typeof V=="object"}function mf(V){if(!po(V)||ni(V)!=E)return!1;var ee=ze(V);if(ee===null)return!0;var he=tn.call(ee,"constructor")&&ee.constructor;return typeof he=="function"&&he instanceof he&&ln.call(he)==yr}var Ih=ge?Me(ge):Ph;function e5(V){return af(V,vf(V))}function vf(V){return ou(V)?_h(V):Q1(V)}var yf=of(function(V,ee,he){kh(V,ee,he)});function Al(V){return function(){return V}}function cu(V){return V}function uu(){return!1}e.exports=yf}(U2,U2.exports);var nB=U2.exports;const rB=mh(nB);function G6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,r=n||1e6,i=+e;return Math.min(Math.max(t,i),r)}function J4(e,t,n,r,i){return(e-t)*(i-r)/(n-t)+r}var C7=function(e){return e.replaceAll(/[^\d,]/gi,"").split(",").map(function(t){return+t})},W2=function(e){return e?[Number.parseInt(e.slice(1,3),16),Number.parseInt(e.slice(3,5),16),Number.parseInt(e.slice(5,7),16)]:[0,0,0]},NM=function(e){return e.toString(16).padStart(2,"0")},RM=function(){for(var e=arguments.length,t=new Array(e),n=0;n.5?w/(2-c-o):w/(c+o),c){case r:u=(i-a)/w+(i0&&arguments[0]!==void 0?arguments[0]:{};return e={},A(A(A(A(A(A(A(A(A(A(e,Oe.LabelExtraSmall,ye(ye({},Be),{},{fontSize:"10px",lineHeight:"12px"},t)),Oe.LabelExtraSmallEmphasis,ye(ye({},Be),{},{fontWeight:"Bold",fontSize:"10px",lineHeight:"12px"},t)),Oe.LabelExtraSmallUp,ye(ye({},Be),{},{fontSize:"11px",lineHeight:"12px"},t)),Oe.LabelSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},t)),Oe.LabelSmallEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},t)),Oe.LabelSmallUp,ye(ye({fontSize:"13px",lineHeight:"16px"},Be),t)),Oe.LabelSmallUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},t)),Oe.LabelMedium,ye(ye({fontSize:"14px",lineHeight:"16px"},Be),t)),Oe.LabelMediumEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},t)),Oe.LabelLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},t)),A(A(A(A(A(A(A(A(A(e,Oe.LabelLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},t)),Oe.LabelLargeUp,ye(ye({},Be),{},{fontWeight:on.Regular,fontSize:"18px",lineHeight:"20px"},t)),Oe.LabelExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"24px",lineHeight:"28px"},t)),Oe.LabelExtraLarge,ye(ye({},Be),{},{fontWeight:on.Regular,fontSize:"24px",lineHeight:"28px"},t)),Oe.LabelXExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"32px",lineHeight:"36px"},t)),Oe.LabelXExtraLarge,ye(ye({},Be),{},{fontSize:"32px",lineHeight:"36px"},t)),Oe.LabelXXExtraLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"48px",lineHeight:"54px"},t)),Oe.LabelXXExtraLarge,ye(ye({},Be),{},{fontSize:"48px",lineHeight:"54px"},t)),Oe.LabelXXXExtraLarge,ye(ye({},Be),{},{fontSize:"60px",lineHeight:"68px"},t))},mB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A({},Oe.TextExtraSmall,ye(ye({},Be),{},{fontSize:"11px",lineHeight:"14px"},e)),Oe.TextSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"18px"},e)),Oe.TextSmallUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"18px"},e)),Oe.TextMedium,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"20px"},e)),Oe.TextLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"22px"},e)),Oe.TextExtraLarge,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"26px"},e)),Oe.TextXExtraLarge,ye(ye({},Be),{},{fontSize:"28px",lineHeight:"40px"},e))},vB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A(A(A(A({},Oe.ButtonSmEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},e)),Oe.ButtonSm,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.ButtonSmUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},e)),Oe.ButtonSmUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.ButtonMdEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},e)),Oe.ButtonMd,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.ButtonLgEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},e)),Oe.ButtonLg,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e)),Oe.ButtonLgUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"20px"},e)),Oe.ButtonLgUp,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"20px"},e))},yB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A(A(A(A(A({},Oe.LinkSmall,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.LinkSmallEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"14px"},e)),Oe.LinkSmallUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.LinkSmallUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"13px",lineHeight:"16px"},e)),Oe.LinkMedium,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.LinkMediumEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"16px"},e)),Oe.LinkLarge,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e)),Oe.LinkLargeEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"18px"},e)),Oe.LinkLargeUp,ye(ye({},Be),{},{fontSize:"18px",lineHeight:"20px"},e)),Oe.LinkLargeUpEmphasis,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"20px"},e))},bB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A({},Oe.InputSm,ye(ye({},Be),{},{fontSize:"12px",lineHeight:"14px"},e)),Oe.InputSmUp,ye(ye({},Be),{},{fontSize:"13px",lineHeight:"16px"},e)),Oe.InputMd,ye(ye({},Be),{},{fontSize:"14px",lineHeight:"16px"},e)),Oe.InputLg,ye(ye({},Be),{},{fontSize:"16px",lineHeight:"18px"},e))},wB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return A(A(A(A(A(A({},Oe.TitleH6,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"12px",lineHeight:"18px"},e)),Oe.TitleH5,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"14px",lineHeight:"21px"},e)),Oe.TitleH4,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"16px",lineHeight:"24px"},e)),Oe.TitleH3,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"18px",lineHeight:"27px"},e)),Oe.TitleH2,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"20px",lineHeight:"30px"},e)),Oe.TitleH1,ye(ye({},Be),{},{fontWeight:on.Medium,fontSize:"28px",lineHeight:"42px"},e))},xB=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ye(ye({fontFamily:Be.fontFamily,baseLineHeight:1.375},e),{},{font:ye(ye(ye(ye(ye(ye({},gB(e)),mB(e)),vB(e)),yB(e)),bB(e)),wB(e))})},CB=L3(["@keyframes spinner{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.Menu-open{overflow:hidden;}.Modal-open{overflow:hidden;}"]),iv,Cp,av,ov,sv,lv;function EC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function $i(e){for(var t=1;t=n.xs&&m=n.sm&&m=n.md&&m=n.lg&&m=n.xl&&m=n.xxl&&m=n.xxxl?g?y(i.xxxl):i.xxxl:g?y(i.md):i.md};return{keys:o,values:n,classes:i,getBreakpointClass:w,up:c,down:u,between:d,only:f}};function kC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ql(e){for(var t=1;t{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(lt);var Pn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=lt;class n{constructor(x=[1,0,0,1,0,0]){this.dirty=!1,this.m=x&&x.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(x){x.m[0]=this.m[0],x.m[1]=this.m[1],x.m[2]=this.m[2],x.m[3]=this.m[3],x.m[4]=this.m[4],x.m[5]=this.m[5]}point(x){const O=this.m;return{x:O[0]*x.x+O[2]*x.y+O[4],y:O[1]*x.x+O[3]*x.y+O[5]}}translate(x,O){return this.m[4]+=this.m[0]*x+this.m[2]*O,this.m[5]+=this.m[1]*x+this.m[3]*O,this}scale(x,O){return this.m[0]*=x,this.m[1]*=x,this.m[2]*=O,this.m[3]*=O,this}rotate(x){const O=Math.cos(x),k=Math.sin(x),I=this.m[0]*O+this.m[2]*k,L=this.m[1]*O+this.m[3]*k,D=this.m[0]*-k+this.m[2]*O,M=this.m[1]*-k+this.m[3]*O;return this.m[0]=I,this.m[1]=L,this.m[2]=D,this.m[3]=M,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(x,O){const k=this.m[0]+this.m[2]*O,I=this.m[1]+this.m[3]*O,L=this.m[2]+this.m[0]*x,D=this.m[3]+this.m[1]*x;return this.m[0]=k,this.m[1]=I,this.m[2]=L,this.m[3]=D,this}multiply(x){const O=this.m[0]*x.m[0]+this.m[2]*x.m[1],k=this.m[1]*x.m[0]+this.m[3]*x.m[1],I=this.m[0]*x.m[2]+this.m[2]*x.m[3],L=this.m[1]*x.m[2]+this.m[3]*x.m[3],D=this.m[0]*x.m[4]+this.m[2]*x.m[5]+this.m[4],M=this.m[1]*x.m[4]+this.m[3]*x.m[5]+this.m[5];return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}invert(){const x=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),O=this.m[3]*x,k=-this.m[1]*x,I=-this.m[2]*x,L=this.m[0]*x,D=x*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),M=x*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}getMatrix(){return this.m}decompose(){const x=this.m[0],O=this.m[1],k=this.m[2],I=this.m[3],L=this.m[4],D=this.m[5],M=x*I-O*k,N={x:L,y:D,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(x!=0||O!=0){const z=Math.sqrt(x*x+O*O);N.rotation=O>0?Math.acos(x/z):-Math.acos(x/z),N.scaleX=z,N.scaleY=M/z,N.skewX=(x*k+O*I)/M,N.skewY=0}else if(k!=0||I!=0){const z=Math.sqrt(k*k+I*I);N.rotation=Math.PI/2-(I>0?Math.acos(-k/z):-Math.acos(k/z)),N.scaleX=M/z,N.scaleY=z,N.skewX=0,N.skewY=(x*k+O*I)/M}return N.rotation=e.Util._getRotation(N.rotation),N}}e.Transform=n;const r="[object Array]",i="[object Number]",a="[object String]",o="[object Boolean]",c=Math.PI/180,u=180/Math.PI,d="#",f="",w="0",m="Konva warning: ",g="Konva error: ",y="rgb(",C={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},P=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/;let S=[];const E=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(p){setTimeout(p,60)};e.Util={_isElement(p){return!!(p&&p.nodeType==1)},_isFunction(p){return!!(p&&p.constructor&&p.call&&p.apply)},_isPlainObject(p){return!!p&&p.constructor===Object},_isArray(p){return Object.prototype.toString.call(p)===r},_isNumber(p){return Object.prototype.toString.call(p)===i&&!isNaN(p)&&isFinite(p)},_isString(p){return Object.prototype.toString.call(p)===a},_isBoolean(p){return Object.prototype.toString.call(p)===o},isObject(p){return p instanceof Object},isValidSelector(p){if(typeof p!="string")return!1;const x=p[0];return x==="#"||x==="."||x===x.toUpperCase()},_sign(p){return p===0||p>0?1:-1},requestAnimFrame(p){S.push(p),S.length===1&&E(function(){const x=S;S=[],x.forEach(function(O){O()})})},createCanvasElement(){const p=document.createElement("canvas");try{p.style=p.style||{}}catch(x){}return p},createImageElement(){return document.createElement("img")},_isInDocument(p){for(;p=p.parentNode;)if(p==document)return!0;return!1},_urlToImage(p,x){const O=e.Util.createImageElement();O.onload=function(){x(O)},O.src=p},_rgbToHex(p,x,O){return((1<<24)+(p<<16)+(x<<8)+O).toString(16).slice(1)},_hexToRgb(p){p=p.replace(d,f);const x=parseInt(p,16);return{r:x>>16&255,g:x>>8&255,b:x&255}},getRandomColor(){let p=(Math.random()*16777215<<0).toString(16);for(;p.length<6;)p=w+p;return d+p},getRGB(p){let x;return p in C?(x=C[p],{r:x[0],g:x[1],b:x[2]}):p[0]===d?this._hexToRgb(p.substring(1)):p.substr(0,4)===y?(x=P.exec(p.replace(/ /g,"")),{r:parseInt(x[1],10),g:parseInt(x[2],10),b:parseInt(x[3],10)}):{r:0,g:0,b:0}},colorToRGBA(p){return p=p||"black",e.Util._namedColorToRBA(p)||e.Util._hex3ColorToRGBA(p)||e.Util._hex4ColorToRGBA(p)||e.Util._hex6ColorToRGBA(p)||e.Util._hex8ColorToRGBA(p)||e.Util._rgbColorToRGBA(p)||e.Util._rgbaColorToRGBA(p)||e.Util._hslColorToRGBA(p)},_namedColorToRBA(p){const x=C[p.toLowerCase()];return x?{r:x[0],g:x[1],b:x[2],a:1}:null},_rgbColorToRGBA(p){if(p.indexOf("rgb(")===0){p=p.match(/rgb\(([^)]+)\)/)[1];const x=p.split(/ *, */).map(Number);return{r:x[0],g:x[1],b:x[2],a:1}}},_rgbaColorToRGBA(p){if(p.indexOf("rgba(")===0){p=p.match(/rgba\(([^)]+)\)/)[1];const x=p.split(/ *, */).map((O,k)=>O.slice(-1)==="%"?k===3?parseInt(O)/100:parseInt(O)/100*255:Number(O));return{r:x[0],g:x[1],b:x[2],a:x[3]}}},_hex8ColorToRGBA(p){if(p[0]==="#"&&p.length===9)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:parseInt(p.slice(7,9),16)/255}},_hex6ColorToRGBA(p){if(p[0]==="#"&&p.length===7)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:1}},_hex4ColorToRGBA(p){if(p[0]==="#"&&p.length===5)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:parseInt(p[4]+p[4],16)/255}},_hex3ColorToRGBA(p){if(p[0]==="#"&&p.length===4)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:1}},_hslColorToRGBA(p){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(p)){const[x,...O]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(p),k=Number(O[0])/360,I=Number(O[1])/100,L=Number(O[2])/100;let D,M,N;if(I===0)return N=L*255,{r:Math.round(N),g:Math.round(N),b:Math.round(N),a:1};L<.5?D=L*(1+I):D=L+I-L*I;const z=2*L-D,H=[0,0,0];for(let W=0;W<3;W++)M=k+1/3*-(W-1),M<0&&M++,M>1&&M--,6*M<1?N=z+(D-z)*6*M:2*M<1?N=D:3*M<2?N=z+(D-z)*(2/3-M)*6:N=z,H[W]=N*255;return{r:Math.round(H[0]),g:Math.round(H[1]),b:Math.round(H[2]),a:1}}},haveIntersection(p,x){return!(x.x>p.x+p.width||x.x+x.widthp.y+p.height||x.y+x.height1?(D=O,M=k,N=(O-I)*(O-I)+(k-L)*(k-L)):(D=p+H*(O-p),M=x+H*(k-x),N=(D-I)*(D-I)+(M-L)*(M-L))}return[D,M,N]},_getProjectionToLine(p,x,O){const k=e.Util.cloneObject(p);let I=Number.MAX_VALUE;return x.forEach(function(L,D){if(!O&&D===x.length-1)return;const M=x[(D+1)%x.length],N=e.Util._getProjectionToSegment(L.x,L.y,M.x,M.y,p.x,p.y),z=N[0],H=N[1],W=N[2];Wx.length){const D=x;x=p,p=D}for(let D=0;D{x.width=0,x.height=0})},drawRoundedRectPath(p,x,O,k){let I=0,L=0,D=0,M=0;typeof k=="number"?I=L=D=M=Math.min(k,x/2,O/2):(I=Math.min(k[0]||0,x/2,O/2),L=Math.min(k[1]||0,x/2,O/2),M=Math.min(k[2]||0,x/2,O/2),D=Math.min(k[3]||0,x/2,O/2)),p.moveTo(I,0),p.lineTo(x-L,0),p.arc(x-L,L,L,Math.PI*3/2,0,!1),p.lineTo(x,O-M),p.arc(x-M,O-M,M,0,Math.PI/2,!1),p.lineTo(D,O),p.arc(D,O-D,D,Math.PI/2,Math.PI,!1),p.lineTo(0,I),p.arc(I,I,I,Math.PI,Math.PI*3/2,!1)}}})(Pn);var mn={},dt={},Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.RGBComponent=MB,Ue.alphaComponent=TB,Ue.getNumberValidator=AB,Ue.getNumberOrArrayOfNumbersValidator=IB,Ue.getNumberOrAutoValidator=FB,Ue.getStringValidator=DB,Ue.getStringOrGradientValidator=NB,Ue.getFunctionValidator=RB,Ue.getNumberArrayValidator=jB,Ue.getBooleanValidator=zB,Ue.getComponentValidator=BB;const ns=lt,Nn=Pn;function rs(e){return Nn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function MB(e){return e>255?255:e<0?0:Math.round(e)}function TB(e){return e>1?1:e<1e-4?1e-4:e}function AB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isNumber(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}function IB(e){if(ns.Konva.isUnminified)return function(t,n){let r=Nn.Util._isNumber(t),i=Nn.Util._isArray(t)&&t.length==e;return!r&&!i&&Nn.Util.warn(rs(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}function FB(){if(ns.Konva.isUnminified)return function(e,t){var n=Nn.Util._isNumber(e),r=e==="auto";return n||r||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}function DB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isString(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}function NB(){if(ns.Konva.isUnminified)return function(e,t){const n=Nn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}function RB(){if(ns.Konva.isUnminified)return function(e,t){return Nn.Util._isFunction(e)||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}function jB(){if(ns.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nn.Util._isArray(e)?e.forEach(function(r){Nn.Util._isNumber(r)||Nn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}function zB(){if(ns.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nn.Util.warn(rs(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}function BB(e){if(ns.Konva.isUnminified)return function(t,n){return t==null||Nn.Util.isObject(t)||Nn.Util.warn(rs(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Pn,n=Ue,r="get",i="set";e.Factory={addGetterSetter(a,o,c,u,d){e.Factory.addGetter(a,o,c),e.Factory.addSetter(a,o,u,d),e.Factory.addOverloadedGetterSetter(a,o)},addGetter(a,o,c){var u=r+t.Util._capitalize(o);a.prototype[u]=a.prototype[u]||function(){const d=this.attrs[o];return d===void 0?c:d}},addSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]||e.Factory.overWriteSetter(a,o,c,u)},overWriteSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]=function(f){return c&&f!==void 0&&f!==null&&(f=c.call(this,f,o)),this._setAttr(o,f),u&&u.call(this),this}},addComponentsGetterSetter(a,o,c,u,d){const f=c.length,w=t.Util._capitalize,m=r+w(o),g=i+w(o);a.prototype[m]=function(){const C={};for(let P=0;P{this._setAttr(o+w(S),void 0)}),this._fireChangeEvent(o,P,C),d&&d.call(this),this},e.Factory.addOverloadedGetterSetter(a,o)},addOverloadedGetterSetter(a,o){var c=t.Util._capitalize(o),u=i+c,d=r+c;a.prototype[o]=function(){return arguments.length?(this[u](arguments[0]),this):this[d]()}},addDeprecatedGetterSetter(a,o,c,u){t.Util.error("Adding deprecated "+o);const d=r+t.Util._capitalize(o),f=o+" property is deprecated and will be removed soon. Look at Konva change log for more information.";a.prototype[d]=function(){t.Util.error(f);const w=this.attrs[o];return w===void 0?c:w},e.Factory.addSetter(a,o,u,function(){t.Util.error(f)}),e.Factory.addOverloadedGetterSetter(a,o)},backCompat(a,o){t.Util.each(o,function(c,u){const d=a.prototype[u],f=r+t.Util._capitalize(c),w=i+t.Util._capitalize(c);function m(){d.apply(this,arguments),t.Util.error('"'+c+'" method is deprecated and will be removed soon. Use ""'+u+'" instead.')}a.prototype[c]=m,a.prototype[f]=m,a.prototype[w]=m})},afterSetFilter(){this._filterUpToDate=!1}}})(dt);var ka={},Uo={};Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.HitContext=Uo.SceneContext=Uo.Context=void 0;const WM=Pn,HB=lt;function GB(e){const t=[],n=e.length,r=WM.Util;for(let i=0;itypeof d=="number"?Math.floor(d):d)),i+=VB+u.join(LC)+UB)):(i+=o.property,e||(i+=ZB+o.val)),i+=YB;return i}clearTrace(){this.traceArr=[]}_trace(e){let t=this.traceArr,n;t.push(e),n=t.length,n>=qB&&t.shift()}reset(){const e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){const t=this.getCanvas();e?this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0):this.clearRect(0,0,t.getWidth()/t.pixelRatio,t.getHeight()/t.pixelRatio)}_applyLineCap(e){const t=e.attrs.lineCap;t&&this.setAttr("lineCap",t)}_applyOpacity(e){const t=e.getAbsoluteOpacity();t!==1&&this.setAttr("globalAlpha",t)}_applyLineJoin(e){const t=e.attrs.lineJoin;t&&this.setAttr("lineJoin",t)}setAttr(e,t){this._context[e]=t}arc(e,t,n,r,i,a){this._context.arc(e,t,n,r,i,a)}arcTo(e,t,n,r,i){this._context.arcTo(e,t,n,r,i)}beginPath(){this._context.beginPath()}bezierCurveTo(e,t,n,r,i,a){this._context.bezierCurveTo(e,t,n,r,i,a)}clearRect(e,t,n,r){this._context.clearRect(e,t,n,r)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,t){const n=arguments;if(n.length===2)return this._context.createImageData(e,t);if(n.length===1)return this._context.createImageData(e)}createLinearGradient(e,t,n,r){return this._context.createLinearGradient(e,t,n,r)}createPattern(e,t){return this._context.createPattern(e,t)}createRadialGradient(e,t,n,r,i,a){return this._context.createRadialGradient(e,t,n,r,i,a)}drawImage(e,t,n,r,i,a,o,c,u){const d=arguments,f=this._context;d.length===3?f.drawImage(e,t,n):d.length===5?f.drawImage(e,t,n,r,i):d.length===9&&f.drawImage(e,t,n,r,i,a,o,c,u)}ellipse(e,t,n,r,i,a,o,c){this._context.ellipse(e,t,n,r,i,a,o,c)}isPointInPath(e,t,n,r){return n?this._context.isPointInPath(n,e,t,r):this._context.isPointInPath(e,t,r)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,t,n,r){this._context.fillRect(e,t,n,r)}strokeRect(e,t,n,r){this._context.strokeRect(e,t,n,r)}fillText(e,t,n,r){r?this._context.fillText(e,t,n,r):this._context.fillText(e,t,n)}measureText(e){return this._context.measureText(e)}getImageData(e,t,n,r){return this._context.getImageData(e,t,n,r)}lineTo(e,t){this._context.lineTo(e,t)}moveTo(e,t){this._context.moveTo(e,t)}rect(e,t,n,r){this._context.rect(e,t,n,r)}roundRect(e,t,n,r,i){this._context.roundRect(e,t,n,r,i)}putImageData(e,t,n){this._context.putImageData(e,t,n)}quadraticCurveTo(e,t,n,r){this._context.quadraticCurveTo(e,t,n,r)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,t){this._context.scale(e,t)}setLineDash(e){this._context.setLineDash?this._context.setLineDash(e):"mozDash"in this._context?this._context.mozDash=e:"webkitLineDash"in this._context&&(this._context.webkitLineDash=e)}getLineDash(){return this._context.getLineDash()}setTransform(e,t,n,r,i,a){this._context.setTransform(e,t,n,r,i,a)}stroke(e){e?this._context.stroke(e):this._context.stroke()}strokeText(e,t,n,r){this._context.strokeText(e,t,n,r)}transform(e,t,n,r,i,a){this._context.transform(e,t,n,r,i,a)}translate(e,t){this._context.translate(e,t)}_enableTrace(){let e=this,t=MC.length,n=this.setAttr,r,i;const a=function(o){let c=e[o],u;e[o]=function(){return i=GB(Array.prototype.slice.call(arguments,0)),u=c.apply(e,arguments),e._trace({method:o,args:i}),u}};for(r=0;r{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){let r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((a,o)=>{const{node:c}=a,u=c.getStage();u.setPointersPositions(r),a.pointerId===void 0&&(a.pointerId=n.Util._getFirstPointerId(r));const d=u._changedPointerPositions.find(f=>f.id===a.pointerId);if(d){if(a.dragStatus!=="dragging"){const f=c.dragDistance();if(Math.max(Math.abs(d.x-a.startPointerPos.x),Math.abs(d.y-a.startPointerPos.y)){a.fire("dragmove",{type:"dragmove",target:a,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(a=>{const{node:o}=a,c=o.getStage();if(r&&c.setPointersPositions(r),!c._changedPointerPositions.find(d=>d.id===a.pointerId))return;(a.dragStatus==="dragging"||a.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,a.dragStatus="stopped");const u=a.node.getLayer()||a.node instanceof t.Konva.Stage&&a.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(a=>{a.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,a)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(a)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("touchcancel",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1),window.addEventListener("touchcancel",e.DD._endDragAfter,!1))})(M3),Object.defineProperty(mn,"__esModule",{value:!0}),mn.Node=void 0;const yt=Pn,B0=dt,d0=ka,Es=lt,qi=M3,Bn=Ue,Y2="absoluteOpacity",_p="allEventListeners",Ro="absoluteTransform",TC="absoluteScale",Jl="canvas",aH="Change",oH="children",sH="konva",V6="listening",AC="mouseenter",IC="mouseleave",FC="set",DC="Shape",K2=" ",NC="stage",Ws="transform",lH="Stage",U6="visible",cH=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(K2);let uH=1,Qe=class W6{constructor(t){this._id=uH++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Ws||t===Ro)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){let r=this._cache.get(t);return(r===void 0||(t===Ws||t===Ro)&&r.dirty===!0)&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(a=>a+"Change.konva").join(K2);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(Jl)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===Ro&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(Jl)){const{scene:t,filter:n,hit:r}=this._cache.get(Jl);yt.Util.releaseCanvas(t,n,r),this._cache.delete(Jl)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){const n=t||{};let r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0}));let i=Math.ceil(n.width||r.width),a=Math.ceil(n.height||r.height),o=n.pixelRatio,c=n.x===void 0?Math.floor(r.x):n.x,u=n.y===void 0?Math.floor(r.y):n.y,d=n.offset||0,f=n.drawBorder||!1,w=n.hitCanvasPixelRatio||1;if(!i||!a){yt.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}const m=Math.abs(Math.round(r.x)-c)>.5?1:0,g=Math.abs(Math.round(r.y)-u)>.5?1:0;i+=d*2+m,a+=d*2+g,c-=d,u-=d;const y=new d0.SceneCanvas({pixelRatio:o,width:i,height:a}),C=new d0.SceneCanvas({pixelRatio:o,width:0,height:0,willReadFrequently:!0}),P=new d0.HitCanvas({pixelRatio:w,width:i,height:a}),S=y.getContext(),E=P.getContext();return P.isCache=!0,y.isCache=!0,this._cache.delete(Jl),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(y.getContext()._context.imageSmoothingEnabled=!1,C.getContext()._context.imageSmoothingEnabled=!1),S.save(),E.save(),S.translate(-c,-u),E.translate(-c,-u),this._isUnderCache=!0,this._clearSelfAndDescendantCache(Y2),this._clearSelfAndDescendantCache(TC),this.drawScene(y,this),this.drawHit(P,this),this._isUnderCache=!1,S.restore(),E.restore(),f&&(S.save(),S.beginPath(),S.rect(0,0,i,a),S.closePath(),S.setAttr("strokeStyle","red"),S.setAttr("lineWidth",5),S.stroke(),S.restore()),this._cache.set(Jl,{scene:y,filter:C,hit:P,x:c,y:u}),this._requestDraw(),this}isCached(){return this._cache.has(Jl)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){const r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}];let i=1/0,a=1/0,o=-1/0,c=-1/0;const u=this.getAbsoluteTransform(n);return r.forEach(function(d){const f=u.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),{x:i,y:a,width:o-i,height:c-a}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);const r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){const n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){let t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,a=i.getContext(),o,c,u,d;if(t){if(!this._filterUpToDate){const f=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(o=t.length,a.clear(),a.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),c=a.getImageData(0,0,i.getWidth(),i.getHeight()),u=0;u{let n,r;if(!t)return this;for(n in t)n!==oH&&(r=FC+yt.Util._capitalize(n),yt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(V6,this._isListening)}_isListening(t){if(!this.listening())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isListening(t):!0}isVisible(){return this._getCache(U6,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);const r=this.getLayer();let i=!1;qi.DD._dragElements.forEach(o=>{o.dragStatus==="dragging"&&(o.node.nodeType==="Stage"||o.node.getLayer()===r)&&(i=!0)});const a=!n&&!Es.Konva.hitOnDragEnabled&&(i||Es.Konva.isTransforming());return this.isListening()&&this.isVisible()&&!a}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let t=this.getDepth(),n=this,r=0,i,a,o,c;function u(f){for(i=[],a=f.length,o=0;o0&&i[0].getDepth()<=t&&u(i)}const d=this.getStage();return n.nodeType!==lH&&d&&u(d.getChildren()),r}getDepth(){let t=0,n=this.parent;for(;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Ws),this._clearSelfAndDescendantCache(Ro)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){const t=this.getStage();if(!t)return null;const n=t.getPointerPosition();if(!n)return null;const r=this.getAbsoluteTransform().copy();return r.invert(),r.point(n)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);const i=this.getAbsoluteTransform(t).getMatrix(),a=new yt.Transform,o=this.offset();return a.m=i.slice(),a.translate(o.x,o.y),a.getTranslation()}setAbsolutePosition(t){const o=this._clearTransform(),{x:n,y:r}=o,i=g4(o,["x","y"]);this.attrs.x=n,this.attrs.y=r,this._clearCache(Ws);const a=this._getAbsoluteTransform().copy();return a.invert(),a.translate(t.x,t.y),t={x:this.attrs.x+a.getTranslation().x,y:this.attrs.y+a.getTranslation().y},this._setTransform(i),this.setPosition({x:t.x,y:t.y}),this._clearCache(Ws),this._clearSelfAndDescendantCache(Ro),this}_setTransform(t){let n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){const t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){let n=t.x,r=t.y,i=this.x(),a=this.y();return n!==void 0&&(i+=n),r!==void 0&&(a+=r),this.setPosition({x:i,y:a}),this}_eachAncestorReverse(t,n){let r=[],i=this.getParent(),a,o;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(a=r.length,o=0;o0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return yt.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;const t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return yt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&yt.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");const n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(Y2,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let t=this.opacity();const n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){let t=this.getAttrs(),n,r,i,a,o;const c={attrs:{},className:this.getClassName()};for(n in t)r=t[n],o=yt.Util.isObject(r)&&!yt.Util._isPlainObject(r)&&!yt.Util._isArray(r),!o&&(i=typeof this[n]=="function"&&this[n],delete t[n],a=i?i.call(this):null,t[n]=r,a!==r&&(c.attrs[n]=r));return yt.Util._prepareToStringify(c)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){const i=[];n&&this._isMatch(t)&&i.push(this);let a=this.parent;for(;a;){if(a===r)return i;a._isMatch(t)&&i.push(a),a=a.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);let n=t.replace(/ /g,"").split(","),r=n.length,i,a;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,yt.Util._urlToImage(this.toDataURL(t),function(a){n(a),i==null||i(a)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(a=>{n(a),i==null||i(a)},t==null?void 0:t.mimeType,t==null?void 0:t.quality)}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Es.Konva.dragDistance}_off(t,n,r){let i=this.eventListeners[t],a,o,c;for(a=0;a=0)||this.isDragging())return;let n=!1;qi.DD._dragElements.forEach(r=>{this.isAncestorOf(r.node)&&(n=!0)}),n||this._createDragElement(t)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;const t=qi.DD._dragElements.get(this._id),n=t&&t.dragStatus==="dragging",r=t&&t.dragStatus==="ready";n?this.stopDrag():r&&qi.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return yt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return yt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){let r=W6.prototype.getClassName.call(t),i=t.children,a,o,c;n&&(t.attrs.container=n),Es.Konva[r]||(yt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const u=Es.Konva[r];if(a=new u(t.attrs),i)for(o=i.length,c=0;c0}removeChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let n=0;n0?t[0]:void 0}_generalFind(e,t){const n=[];return this._descendants(r=>{const i=r._isMatch(e);return i&&n.push(r),!!(i&&t)}),n}_descendants(e){let t=!1;const n=this.getChildren();for(const r of n)if(t=e(r),t||r.hasChildren()&&(t=r._descendants(e),t))return!0;return!1}toObject(){const e=uv.Node.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){let t=e.getParent();for(;t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){const t=uv.Node.prototype.clone.call(this,e);return this.getChildren().forEach(function(n){t.add(n.clone())}),t}getAllIntersections(e){const t=[];return this.find("Shape").forEach(n=>{n.isVisible()&&n.intersects(e)&&t.push(n)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(n){n._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,n){t.index=n}),this._requestDraw()}drawScene(e,t,n){const r=this.getLayer(),i=e||r&&r.getCanvas(),a=i&&i.getContext(),o=this._getCanvasCache(),c=o&&o.scene,u=i&&i.isCache;if(!this.isVisible()&&!u)return this;if(c){a.save();const d=this.getAbsoluteTransform(t).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",i,t,n);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;const n=this.getLayer(),r=e||n&&n.hitCanvas,i=r&&r.getContext(),a=this._getCanvasCache();if(a&&a.hit){i.save();const o=this.getAbsoluteTransform(t).getMatrix();i.transform(o[0],o[1],o[2],o[3],o[4],o[5]),this._drawCachedHitCanvas(i),i.restore()}else this._drawChildren("drawHit",r,t);return this}_drawChildren(e,t,n,r){var i;const a=t&&t.getContext(),o=this.clipWidth(),c=this.clipHeight(),u=this.clipFunc(),d=typeof o=="number"&&typeof c=="number"||u,f=n===this;if(d){a.save();const m=this.getAbsoluteTransform(n);let g=m.getMatrix();a.transform(g[0],g[1],g[2],g[3],g[4],g[5]),a.beginPath();let y;if(u)y=u.call(this,a,this);else{const C=this.clipX(),P=this.clipY();a.rect(C||0,P||0,o,c)}a.clip.apply(a,y),g=m.copy().invert().getMatrix(),a.transform(g[0],g[1],g[2],g[3],g[4],g[5])}const w=!f&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";w&&(a.save(),a._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(m){m[e](t,n,r)}),w&&a.restore(),d&&a.restore()}getClientRect(e={}){var t;const n=e.skipTransform,r=e.relativeTo;let i,a,o,c,u={x:1/0,y:1/0,width:0,height:0};const d=this;(t=this.children)===null||t===void 0||t.forEach(function(m){if(!m.visible())return;const g=m.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});g.width===0&&g.height===0||(i===void 0?(i=g.x,a=g.y,o=g.x+g.width,c=g.y+g.height):(i=Math.min(i,g.x),a=Math.min(a,g.y),o=Math.max(o,g.x+g.width),c=Math.max(c,g.y+g.height)))});const f=this.find("Shape");let w=!1;for(let m=0;mpe.indexOf("pointer")>=0?"pointer":pe.indexOf("touch")>=0?"touch":"mouse",ie=pe=>{const R=ae(pe);if(R==="pointer")return i.Konva.pointerEventsEnabled&&Q.pointer;if(R==="touch")return Q.touch;if(R==="mouse")return Q.mouse};function oe(pe={}){return(pe.clipFunc||pe.clipWidth||pe.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),pe}const ue="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class Ce extends r.Container{constructor(R){super(oe(R)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{oe(this.attrs)}),this._checkVisibility()}_validateAdd(R){const Y=R.getType()==="Layer",re=R.getType()==="FastLayer";Y||re||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const R=this.visible()?"":"none";this.content.style.display=R}setContainer(R){if(typeof R===f){if(R.charAt(0)==="."){const re=R.slice(1);R=document.getElementsByClassName(re)[0]}else{var Y;R.charAt(0)!=="#"?Y=R:Y=R.slice(1),R=document.getElementById(Y)}if(!R)throw"Can not find container in document with id "+Y}return this._setAttr("container",R),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),R.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){const R=this.children,Y=R.length;for(let re=0;re-1&&e.stages.splice(Y,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const R=this._pointerPositions[0]||this._changedPointerPositions[0];return R?{x:R.x,y:R.y}:(t.Util.warn(ue),null)}_getPointerById(R){return this._pointerPositions.find(Y=>Y.id===R)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(R){R=R||{},R.x=R.x||0,R.y=R.y||0,R.width=R.width||this.width(),R.height=R.height||this.height();const Y=new a.SceneCanvas({width:R.width,height:R.height,pixelRatio:R.pixelRatio||1}),re=Y.getContext()._context,be=this.children;return(R.x||R.y)&&re.translate(-1*R.x,-1*R.y),be.forEach(function(xe){if(!xe.isVisible())return;const ge=xe._toKonvaCanvas(R);re.drawImage(ge._canvas,R.x,R.y,ge.getWidth()/ge.getPixelRatio(),ge.getHeight()/ge.getPixelRatio())}),Y}getIntersection(R){if(!R)return null;const Y=this.children,re=Y.length,be=re-1;for(let xe=be;xe>=0;xe--){const ge=Y[xe].getIntersection(R);if(ge)return ge}return null}_resizeDOM(){const R=this.width(),Y=this.height();this.content&&(this.content.style.width=R+w,this.content.style.height=Y+w),this.bufferCanvas.setSize(R,Y),this.bufferHitCanvas.setSize(R,Y),this.children.forEach(re=>{re.setSize({width:R,height:Y}),re.draw()})}add(R,...Y){if(arguments.length>1){for(let be=0;beU&&t.Util.warn("The stage has "+re+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),R.setSize({width:this.width(),height:this.height()}),R.draw(),i.Konva.isBrowser&&this.content.appendChild(R.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(R){return u.hasPointerCapture(R,this)}setPointerCapture(R){u.setPointerCapture(R,this)}releaseCapture(R){u.releaseCapture(R,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&J.forEach(([R,Y])=>{this.content.addEventListener(R,re=>{this[Y](re)},{passive:!1})})}_pointerenter(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerenter,{evt:R,target:this,currentTarget:this})}_pointerover(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this})}_getTargetShape(R){let Y=this[R+"targetShape"];return Y&&!Y.getStage()&&(Y=null),Y}_pointerleave(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this._getTargetShape(re),xe=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;be&&xe?(be._fireAndBubble(Y.pointerout,{evt:R}),be._fireAndBubble(Y.pointerleave,{evt:R}),this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this[re+"targetShape"]=null):xe&&(this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this._fire(Y.pointerout,{evt:R,target:this,currentTarget:this})),this.pointerPos=null,this._pointerPositions=[]}_pointerdown(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);let be=!1;this._changedPointerPositions.forEach(xe=>{const ge=this.getIntersection(xe);if(o.DD.justDragged=!1,i.Konva["_"+re+"ListenClick"]=!0,!ge||!ge.isListening()){this[re+"ClickStartShape"]=void 0;return}i.Konva.capturePointerEventsEnabled&&ge.setPointerCapture(xe.id),this[re+"ClickStartShape"]=ge,ge._fireAndBubble(Y.pointerdown,{evt:R,pointerId:xe.id}),be=!0;const Ae=R.type.indexOf("touch")>=0;ge.preventDefault()&&R.cancelable&&Ae&&R.preventDefault()}),be||this._fire(Y.pointerdown,{evt:R,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(R){const Y=ie(R.type),re=ae(R.type);if(!Y||(i.Konva.isDragging()&&o.DD.node.preventDefault()&&R.cancelable&&R.preventDefault(),this.setPointersPositions(R),!(!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled)))return;const be={};let xe=!1;const ge=this._getTargetShape(re);this._changedPointerPositions.forEach(Ae=>{const Ie=u.getCapturedShape(Ae.id)||this.getIntersection(Ae),Me=Ae.id,et={evt:R,pointerId:Me},Re=ge!==Ie;if(Re&&ge&&(ge._fireAndBubble(Y.pointerout,Xn({},et),Ie),ge._fireAndBubble(Y.pointerleave,Xn({},et),Ie)),Ie){if(be[Ie._id])return;be[Ie._id]=!0}Ie&&Ie.isListening()?(xe=!0,Re&&(Ie._fireAndBubble(Y.pointerover,Xn({},et),ge),Ie._fireAndBubble(Y.pointerenter,Xn({},et),ge),this[re+"targetShape"]=Ie),Ie._fireAndBubble(Y.pointermove,Xn({},et))):ge&&(this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this,pointerId:Me}),this[re+"targetShape"]=null)}),xe||this._fire(Y.pointermove,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this[re+"ClickStartShape"],xe=this[re+"ClickEndShape"],ge={};let Ae=!1;this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie);if(Me){if(Me.releaseCapture(Ie.id),ge[Me._id])return;ge[Me._id]=!0}const et=Ie.id,Re={evt:R,pointerId:et};let rt=!1;i.Konva["_"+re+"InDblClickWindow"]?(rt=!0,clearTimeout(this[re+"DblTimeout"])):o.DD.justDragged||(i.Konva["_"+re+"InDblClickWindow"]=!0,clearTimeout(this[re+"DblTimeout"])),this[re+"DblTimeout"]=setTimeout(function(){i.Konva["_"+re+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Me&&Me.isListening()?(Ae=!0,this[re+"ClickEndShape"]=Me,Me._fireAndBubble(Y.pointerup,Xn({},Re)),i.Konva["_"+re+"ListenClick"]&&be&&be===Me&&(Me._fireAndBubble(Y.pointerclick,Xn({},Re)),rt&&xe&&xe===Me&&Me._fireAndBubble(Y.pointerdblclick,Xn({},Re)))):(this[re+"ClickEndShape"]=null,i.Konva["_"+re+"ListenClick"]&&this._fire(Y.pointerclick,{evt:R,target:this,currentTarget:this,pointerId:et}),rt&&this._fire(Y.pointerdblclick,{evt:R,target:this,currentTarget:this,pointerId:et}))}),Ae||this._fire(Y.pointerup,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+re+"ListenClick"]=!1,R.cancelable&&re!=="touch"&&re!=="pointer"&&R.preventDefault()}_contextmenu(R){this.setPointersPositions(R);const Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(z,{evt:R}):this._fire(z,{evt:R,target:this,currentTarget:this})}_wheel(R){this.setPointersPositions(R);const Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(q,{evt:R}):this._fire(q,{evt:R,target:this,currentTarget:this})}_pointercancel(R){this.setPointersPositions(R);const Y=u.getCapturedShape(R.pointerId)||this.getIntersection(this.getPointerPosition());Y&&Y._fireAndBubble(O,u.createEvent(R)),u.releaseCapture(R.pointerId)}_lostpointercapture(R){u.releaseCapture(R.pointerId)}setPointersPositions(R){const Y=this._getContentPosition();let re=null,be=null;R=R||window.event,R.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(R.touches,xe=>{this._pointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})}),Array.prototype.forEach.call(R.changedTouches||R.touches,xe=>{this._changedPointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})})):(re=(R.clientX-Y.left)/Y.scaleX,be=(R.clientY-Y.top)/Y.scaleY,this.pointerPos={x:re,y:be},this._pointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}],this._changedPointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}])}_setPointerPosition(R){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(R)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};const R=this.content.getBoundingClientRect();return{top:R.top,left:R.left,scaleX:R.width/this.content.clientWidth||1,scaleY:R.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new a.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new a.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!i.Konva.isBrowser)return;const R=this.container();if(!R)throw"Stage has no container. A container is required.";R.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),R.appendChild(this.content),this._resizeDOM()}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(R){R.batchDraw()}),this}}e.Stage=Ce,Ce.prototype.nodeType=d,(0,c._registerNode)(Ce),n.Factory.addGetterSetter(Ce,"container"),i.Konva.isBrowser&&document.addEventListener("visibilitychange",()=>{e.stages.forEach(pe=>{pe.batchDraw()})})})(KM);var E1={},sr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=lt,n=Pn,r=dt,i=mn,a=Ue,o=lt,c=$s,u="hasShadow",d="shadowRGBA",f="patternImage",w="linearGradient",m="radialGradient";let g;function y(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function C(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function P(D){D.stroke()}function S(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function E(D){D.stroke()}function p(){this._clearCache(u)}function x(){this._clearCache(d)}function O(){this._clearCache(f)}function k(){this._clearCache(w)}function I(){this._clearCache(m)}class L extends i.Node{constructor(M){super(M);let N;for(;N=n.Util.getRandomColor(),!(N&&!(N in e.shapes)););this.colorKey=N,e.shapes[N]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(u,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(f,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){const M=y().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const N=new n.Transform;N.translate(this.fillPatternX(),this.fillPatternY()),N.rotate(t.Konva.getAngle(this.fillPatternRotation())),N.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),N.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const z=N.getMatrix(),H=typeof DOMMatrix>"u"?{a:z[0],b:z[1],c:z[2],d:z[3],e:z[4],f:z[5]}:new DOMMatrix(z);M.setTransform(H)}return M}}_getLinearGradient(){return this._getCache(w,this.__getLinearGradient)}__getLinearGradient(){const M=this.fillLinearGradientColorStops();if(M){const N=y(),z=this.fillLinearGradientStartPoint(),H=this.fillLinearGradientEndPoint(),W=N.createLinearGradient(z.x,z.y,H.x,H.y);for(let K=0;Kthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const M=this.hitStrokeWidth();return M==="auto"?this.hasStroke():this.strokeEnabled()&&!!M}intersects(M){const N=this.getStage();if(!N)return!1;const z=N.bufferHitCanvas;return z.getContext().clear(),this.drawHit(z,void 0,!0),z.context.getImageData(Math.round(M.x),Math.round(M.y),1,1).data[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(M){var N;if(!(!((N=this.attrs.perfectDrawEnabled)!==null&&N!==void 0)||N))return!1;const z=M||this.hasFill(),H=this.hasStroke(),W=this.getAbsoluteOpacity()!==1;if(z&&H&&W)return!0;const K=this.hasShadow(),G=this.shadowForStrokeEnabled();return!!(z&&H&&K&&G)}setStrokeHitEnabled(M){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),M?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){const M=this.size();return{x:this._centroid?-M.width/2:0,y:this._centroid?-M.height/2:0,width:M.width,height:M.height}}getClientRect(M={}){let N=!1,z=this.getParent();for(;z;){if(z.isCached()){N=!0;break}z=z.getParent()}const H=M.skipTransform,W=M.relativeTo||N&&this.getStage()||void 0,K=this.getSelfRect(),G=!M.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,q=K.width+G,U=K.height+G,J=!M.skipShadow&&this.hasShadow(),Q=J?this.shadowOffsetX():0,ae=J?this.shadowOffsetY():0,ie=q+Math.abs(Q),oe=U+Math.abs(ae),ue=J&&this.shadowBlur()||0,Ce=ie+ue*2,pe=oe+ue*2,R={width:Ce,height:pe,x:-(G/2+ue)+Math.min(Q,0)+K.x,y:-(G/2+ue)+Math.min(ae,0)+K.y};return H?R:this._transformedRect(R,W)}drawScene(M,N,z){const H=this.getLayer();let W=M||H.getCanvas(),K=W.getContext(),G=this._getCanvasCache(),q=this.getSceneFunc(),U=this.hasShadow(),J,Q;const ae=W.isCache,ie=N===this;if(!this.isVisible()&&!ie)return this;if(G){K.save();const ue=this.getAbsoluteTransform(N).getMatrix();return K.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),this._drawCachedSceneCanvas(K),K.restore(),this}if(!q)return this;if(K.save(),this._useBufferCanvas()&&!ae){J=this.getStage();const ue=z||J.bufferCanvas;Q=ue.getContext(),Q.clear(),Q.save(),Q._applyLineJoin(this);var oe=this.getAbsoluteTransform(N).getMatrix();Q.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),q.call(this,Q,this),Q.restore();const Ce=ue.pixelRatio;U&&K._applyShadow(this),K._applyOpacity(this),K._applyGlobalCompositeOperation(this),K.drawImage(ue._canvas,0,0,ue.width/Ce,ue.height/Ce)}else{if(K._applyLineJoin(this),!ie){var oe=this.getAbsoluteTransform(N).getMatrix();K.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),K._applyOpacity(this),K._applyGlobalCompositeOperation(this)}U&&K._applyShadow(this),q.call(this,K,this)}return K.restore(),this}drawHit(M,N,z=!1){if(!this.shouldDrawHit(N,z))return this;const H=this.getLayer(),W=M||H.hitCanvas,K=W&&W.getContext(),G=this.hitFunc()||this.sceneFunc(),q=this._getCanvasCache(),U=q&&q.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),U){K.save();const J=this.getAbsoluteTransform(N).getMatrix();return K.transform(J[0],J[1],J[2],J[3],J[4],J[5]),this._drawCachedHitCanvas(K),K.restore(),this}if(!G)return this;if(K.save(),K._applyLineJoin(this),this!==N){const J=this.getAbsoluteTransform(N).getMatrix();K.transform(J[0],J[1],J[2],J[3],J[4],J[5])}return G.call(this,K,this),K.restore(),this}drawHitFromCache(M=0){const N=this._getCanvasCache(),z=this._getCachedSceneCanvas(),H=N.hit,W=H.getContext(),K=H.getWidth(),G=H.getHeight();W.clear(),W.drawImage(z._canvas,0,0,K,G);try{const q=W.getImageData(0,0,K,G),U=q.data,J=U.length,Q=n.Util._hexToRgb(this.colorKey);for(let ae=0;aeM?(U[ae]=Q.r,U[ae+1]=Q.g,U[ae+2]=Q.b,U[ae+3]=255):U[ae+3]=0;W.putImageData(q,0,0)}catch(q){n.Util.error("Unable to draw hit graph from cached scene canvas. "+q.message)}return this}hasPointerCapture(M){return c.hasPointerCapture(M,this)}setPointerCapture(M){c.setPointerCapture(M,this)}releaseCapture(M){c.releaseCapture(M,this)}}e.Shape=L,L.prototype._fillFunc=C,L.prototype._strokeFunc=P,L.prototype._fillFuncHit=S,L.prototype._strokeFuncHit=E,L.prototype._centroid=!1,L.prototype.nodeType="Shape",(0,o._registerNode)(L),L.prototype.eventListeners={},L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",p),L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",x),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",O),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",k),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",I),r.Factory.addGetterSetter(L,"stroke",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"strokeWidth",2,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(L,"hitStrokeWidth","auto",(0,a.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(L,"strokeHitEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"perfectDrawEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"shadowForStrokeEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"lineJoin"),r.Factory.addGetterSetter(L,"lineCap"),r.Factory.addGetterSetter(L,"sceneFunc"),r.Factory.addGetterSetter(L,"hitFunc"),r.Factory.addGetterSetter(L,"dash"),r.Factory.addGetterSetter(L,"dashOffset",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowColor",void 0,(0,a.getStringValidator)()),r.Factory.addGetterSetter(L,"shadowBlur",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOpacity",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(L,"shadowOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternImage"),r.Factory.addGetterSetter(L,"fill",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"fillPatternX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(L,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(L,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(L,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(L,"fillEnabled",!0),r.Factory.addGetterSetter(L,"strokeEnabled",!0),r.Factory.addGetterSetter(L,"shadowEnabled",!0),r.Factory.addGetterSetter(L,"dashEnabled",!0),r.Factory.addGetterSetter(L,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(L,"fillPriority","color"),r.Factory.addComponentsGetterSetter(L,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternScaleX",1,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternScaleY",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(L,"fillPatternRotation",0),r.Factory.addGetterSetter(L,"fillRule",void 0,(0,a.getStringValidator)()),r.Factory.backCompat(L,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(sr),Object.defineProperty(E1,"__esModule",{value:!0}),E1.Layer=void 0;const Po=Pn,dv=Wc,Bu=mn,hv=dt,RC=ka,gH=Ue,mH=sr,vH=lt,yH="#",bH="beforeDraw",wH="draw",qM=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],xH=qM.length;let Hu=class extends dv.Container{constructor(e){super(e),this.canvas=new RC.SceneCanvas,this.hitCanvas=new RC.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);const t=this.getStage();return t&&t.content&&(t.content.removeChild(this.getNativeCanvasElement()),e{this.draw(),this._waitingForDraw=!1})),this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let t=1,n=!1;for(;;){for(let r=0;r0)return{antialiased:!0};return{}}drawScene(e,t){const n=this.getLayer(),r=e||n&&n.getCanvas();return this._fire(bH,{node:this}),this.clearBeforeDraw()&&r.getContext().clear(),dv.Container.prototype.drawScene.call(this,r,t),this._fire(wH,{node:this}),this}drawHit(e,t){const n=this.getLayer(),r=e||n&&n.hitCanvas;return n&&n.clearBeforeDraw()&&n.getHitCanvas().getContext().clear(),dv.Container.prototype.drawHit.call(this,r,t),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){Po.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return Po.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;const e=this.parent;this.hitCanvas._canvas.parentNode?e.content.removeChild(this.hitCanvas._canvas):e.content.appendChild(this.hitCanvas._canvas)}destroy(){return Po.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}};E1.Layer=Hu,Hu.prototype.nodeType="Layer",(0,vH._registerNode)(Hu),hv.Factory.addGetterSetter(Hu,"imageSmoothingEnabled",!0),hv.Factory.addGetterSetter(Hu,"clearBeforeDraw",!0),hv.Factory.addGetterSetter(Hu,"hitGraphEnabled",!0,(0,gH.getBooleanValidator)());var Hg={};Object.defineProperty(Hg,"__esModule",{value:!0}),Hg.FastLayer=void 0;const CH=Pn,SH=E1,_H=lt;let fv=class extends SH.Layer{constructor(e){super(e),this.listening(!1),CH.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}};Hg.FastLayer=fv,fv.prototype.nodeType="FastLayer",(0,_H._registerNode)(fv);var th={};Object.defineProperty(th,"__esModule",{value:!0}),th.Group=void 0;const OH=Pn,EH=Wc,PH=lt;let pv=class extends EH.Container{_validateAdd(e){const t=e.getType();t!=="Group"&&t!=="Shape"&&OH.Util.throw("You may only add groups and shapes to groups.")}};th.Group=pv,pv.prototype.nodeType="Group",(0,PH._registerNode)(pv);var nh={};Object.defineProperty(nh,"__esModule",{value:!0}),nh.Animation=void 0;const gv=lt,jC=Pn,mv=function(){return gv.glob.performance&&gv.glob.performance.now?function(){return gv.glob.performance.now()}:function(){return new Date().getTime()}}();let Ep=class fd{constructor(t,n){this.id=fd.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:mv(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){let n=[];return t&&(n=Array.isArray(t)?t:[t]),this.layers=n,this}getLayers(){return this.layers}addLayer(t){const n=this.layers,r=n.length;for(let i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():y<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=y,this.update())}getTime(){return this._time}setPosition(y){this.prevPos=this._pos,this.propFunc(y),this._pos=y}getPosition(y){return y===void 0&&(y=this._time),this.func(y,this.begin,this._change,this.duration)}play(){this.state=c,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=u,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(y){this.pause(),this._time=y,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){const y=this.getTimer()-this._startTime;this.state===c?this.setTime(y):this.state===u&&this.setTime(this.duration-y)}pause(){this.state=o,this.fire("onPause")}getTimer(){return new Date().getTime()}}class m{constructor(y){const C=this,P=y.node,S=P._id,E=y.easing||e.Easings.Linear,p=!!y.yoyo;let x,O;typeof y.duration>"u"?x=.3:y.duration===0?x=.001:x=y.duration,this.node=P,this._id=f++;const k=P.getLayer()||(P instanceof i.Konva.Stage?P.getLayers():null);k||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){C.tween.onEnterFrame()},k),this.tween=new w(O,function(I){C._tweenFunc(I)},E,0,1,x*1e3,p),this._addListeners(),m.attrs[S]||(m.attrs[S]={}),m.attrs[S][this._id]||(m.attrs[S][this._id]={}),m.tweens[S]||(m.tweens[S]={});for(O in y)a[O]===void 0&&this._addAttr(O,y[O]);this.reset(),this.onFinish=y.onFinish,this.onReset=y.onReset,this.onUpdate=y.onUpdate}_addAttr(y,C){const P=this.node,S=P._id;let E,p,x,O,k;const I=m.tweens[S][y];I&&delete m.attrs[S][I][y];let L=P.getAttr(y);if(t.Util._isArray(C))if(E=[],p=Math.max(C.length,L.length),y==="points"&&C.length!==L.length&&(C.length>L.length?(O=L,L=t.Util._prepareArrayForTween(L,C,P.closed())):(x=C,C=t.Util._prepareArrayForTween(C,L,P.closed()))),y.indexOf("fill")===0)for(let D=0;D{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{const y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueEnd&&y.setAttr("points",C.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{const y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueStart&&y.points(C.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(y){return this.tween.seek(y*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){const y=this.node._id,C=this._id,P=m.tweens[y];this.pause();for(const S in P)delete m.tweens[y][S];delete m.attrs[y][C]}}e.Tween=m,m.attrs={},m.tweens={},r.Node.prototype.to=function(g){const y=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),y&&y()},new m(g).play()},e.Easings={BackEaseIn(g,y,C,P){return C*(g/=P)*g*((1.70158+1)*g-1.70158)+y},BackEaseOut(g,y,C,P){return C*((g=g/P-1)*g*((1.70158+1)*g+1.70158)+1)+y},BackEaseInOut(g,y,C,P){let S=1.70158;return(g/=P/2)<1?C/2*(g*g*(((S*=1.525)+1)*g-S))+y:C/2*((g-=2)*g*(((S*=1.525)+1)*g+S)+2)+y},ElasticEaseIn(g,y,C,P,S,E){let p=0;return g===0?y:(g/=P)===1?y+C:(E||(E=P*.3),!S||S0?e:t),d=a*t,f=o*(o>0?e:t),w=c*(c>0?t:e);return{x:u,y:n?-1*w:f,width:d-u,height:w-f}}};Gg.Arc=ko,ko.prototype._centroid=!0,ko.prototype.className="Arc",ko.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,LH._registerNode)(ko),Pp.Factory.addGetterSetter(ko,"innerRadius",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"outerRadius",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"angle",0,(0,kp.getNumberValidator)()),Pp.Factory.addGetterSetter(ko,"clockwise",!1,(0,kp.getBooleanValidator)());var Vg={},P1={};Object.defineProperty(P1,"__esModule",{value:!0}),P1.Line=void 0;const Lp=dt,MH=lt,TH=sr,HC=Ue;function X6(e,t,n,r,i,a,o){const c=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),u=Math.sqrt(Math.pow(i-n,2)+Math.pow(a-r,2)),d=o*c/(c+u),f=o*u/(c+u),w=n-d*(i-e),m=r-d*(a-t),g=n+f*(i-e),y=r+f*(a-t);return[w,m,g,y]}function GC(e,t){const n=e.length,r=[];for(let i=2;i4){for(o=this.getTensionPoints(),c=o.length,u=i?0:4,i||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);u{let d,f;const w=u/2;d=0;for(let m=0;m<20;m++)f=w*e.tValues[20][m]+w,d+=e.cValues[20][m]*r(o,c,f);return w*d};e.getCubicArcLength=t;const n=(o,c,u)=>{u===void 0&&(u=1);const d=o[0]-2*o[1]+o[2],f=c[0]-2*c[1]+c[2],w=2*o[1]-2*o[0],m=2*c[1]-2*c[0],g=4*(d*d+f*f),y=4*(d*w+f*m),C=w*w+m*m;if(g===0)return u*Math.sqrt(Math.pow(o[2]-o[0],2)+Math.pow(c[2]-c[0],2));const P=y/(2*g),S=C/g,E=u+P,p=S-P*P,x=E*E+p>0?Math.sqrt(E*E+p):0,O=P*P+p>0?Math.sqrt(P*P+p):0,k=P+Math.sqrt(P*P+p)!==0?p*Math.log(Math.abs((E+x)/(P+O))):0;return Math.sqrt(g)/2*(E*x-P*O+k)};e.getQuadraticArcLength=n;function r(o,c,u){const d=i(1,u,o),f=i(1,u,c),w=d*d+f*f;return Math.sqrt(w)}const i=(o,c,u)=>{const d=u.length-1;let f,w;if(d===0)return 0;if(o===0){w=0;for(let m=0;m<=d;m++)w+=e.binomialCoefficients[d][m]*Math.pow(1-c,d-m)*Math.pow(c,m)*u[m];return w}else{f=new Array(d);for(let m=0;m{let d=1,f=o/c,w=(o-u(f))/c,m=0;for(;d>.001;){const g=u(f+w),y=Math.abs(o-g)/c;if(y500)break}return f};e.t2length=a})(QM),Object.defineProperty(rh,"__esModule",{value:!0}),rh.Path=void 0;const AH=dt,IH=sr,FH=lt,Gu=QM;let h0=class si extends IH.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=si.parsePathData(this.data()),this.pathLength=si.getPathLength(this.dataArray)}_sceneFunc(t){const n=this.dataArray;t.beginPath();let r=!1;for(let C=0;Cc?o:c,g=o>c?1:o/c,y=o>c?c/o:1;t.translate(i,a),t.rotate(f),t.scale(g,y),t.arc(0,0,m,u,u+d,1-w),t.scale(1/g,1/y),t.rotate(-f),t.translate(-i,-a);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){let t=[];this.dataArray.forEach(function(u){if(u.command==="A"){const d=u.points[4],f=u.points[5],w=u.points[4]+f;let m=Math.PI/180;if(Math.abs(d-w)w;g-=m){const y=si.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],g,0);t.push(y.x,y.y)}else for(let g=d+m;gn[i].pathLength;)t-=n[i].pathLength,++i;if(i===a)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};const o=n[i],c=o.points;switch(o.command){case"L":return si.getPointOnLine(t,o.start.x,o.start.y,c[0],c[1]);case"C":return si.getPointOnCubicBezier((0,Gu.t2length)(t,si.getPathLength(n),C=>(0,Gu.getCubicArcLength)([o.start.x,c[0],c[2],c[4]],[o.start.y,c[1],c[3],c[5]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3],c[4],c[5]);case"Q":return si.getPointOnQuadraticBezier((0,Gu.t2length)(t,si.getPathLength(n),C=>(0,Gu.getQuadraticArcLength)([o.start.x,c[0],c[2]],[o.start.y,c[1],c[3]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3]);case"A":var u=c[0],d=c[1],f=c[2],w=c[3],m=c[4],g=c[5],y=c[6];return m+=g*t/o.pathLength,si.getPointOnEllipticalArc(u,d,f,w,m,y)}return null}static getPointOnLine(t,n,r,i,a,o,c){o=o!=null?o:n,c=c!=null?c:r;const u=this.getLineLength(n,r,i,a);if(u<1e-10)return{x:n,y:r};if(i===n)return{x:o,y:c+(a>r?t:-t)};const d=(a-r)/(i-n),f=Math.sqrt(t*t/(1+d*d))*(i0&&!isNaN(M[0]);){let N="",z=[];const H=u,W=d;var m,g,y,C,P,S,E,p,x,O;switch(D){case"l":u+=M.shift(),d+=M.shift(),N="L",z.push(u,d);break;case"L":u=M.shift(),d=M.shift(),z.push(u,d);break;case"m":var k=M.shift(),I=M.shift();if(u+=k,d+=I,N="M",o.length>2&&o[o.length-1].command==="z"){for(let K=o.length-2;K>=0;K--)if(o[K].command==="M"){u=o[K].points[0]+k,d=o[K].points[1]+I;break}}z.push(u,d),D="l";break;case"M":u=M.shift(),d=M.shift(),N="M",z.push(u,d),D="L";break;case"h":u+=M.shift(),N="L",z.push(u,d);break;case"H":u=M.shift(),N="L",z.push(u,d);break;case"v":d+=M.shift(),N="L",z.push(u,d);break;case"V":d=M.shift(),N="L",z.push(u,d);break;case"C":z.push(M.shift(),M.shift(),M.shift(),M.shift()),u=M.shift(),d=M.shift(),z.push(u,d);break;case"c":z.push(u+M.shift(),d+M.shift(),u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="C",z.push(u,d);break;case"S":g=u,y=d,m=o[o.length-1],m.command==="C"&&(g=u+(u-m.points[2]),y=d+(d-m.points[3])),z.push(g,y,M.shift(),M.shift()),u=M.shift(),d=M.shift(),N="C",z.push(u,d);break;case"s":g=u,y=d,m=o[o.length-1],m.command==="C"&&(g=u+(u-m.points[2]),y=d+(d-m.points[3])),z.push(g,y,u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="C",z.push(u,d);break;case"Q":z.push(M.shift(),M.shift()),u=M.shift(),d=M.shift(),z.push(u,d);break;case"q":z.push(u+M.shift(),d+M.shift()),u+=M.shift(),d+=M.shift(),N="Q",z.push(u,d);break;case"T":g=u,y=d,m=o[o.length-1],m.command==="Q"&&(g=u+(u-m.points[0]),y=d+(d-m.points[1])),u=M.shift(),d=M.shift(),N="Q",z.push(g,y,u,d);break;case"t":g=u,y=d,m=o[o.length-1],m.command==="Q"&&(g=u+(u-m.points[0]),y=d+(d-m.points[1])),u+=M.shift(),d+=M.shift(),N="Q",z.push(g,y,u,d);break;case"A":C=M.shift(),P=M.shift(),S=M.shift(),E=M.shift(),p=M.shift(),x=u,O=d,u=M.shift(),d=M.shift(),N="A",z=this.convertEndpointToCenterParameterization(x,O,u,d,E,p,C,P,S);break;case"a":C=M.shift(),P=M.shift(),S=M.shift(),E=M.shift(),p=M.shift(),x=u,O=d,u+=M.shift(),d+=M.shift(),N="A",z=this.convertEndpointToCenterParameterization(x,O,u,d,E,p,C,P,S);break}o.push({command:N||D,points:z,start:{x:H,y:W},pathLength:this.calcLength(H,W,N||D,z)})}(D==="z"||D==="Z")&&o.push({command:"z",points:[],start:void 0,pathLength:0})}return o}static calcLength(t,n,r,i){let a,o,c,u;const d=si;switch(r){case"L":return d.getLineLength(t,n,i[0],i[1]);case"C":return(0,Gu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Gu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":a=0;var f=i[4],w=i[5],m=i[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;u-=g)c=d.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),a+=d.getLineLength(o.x,o.y,c.x,c.y),o=c;else for(u=f+g;u1&&(c*=Math.sqrt(g),u*=Math.sqrt(g));let y=Math.sqrt((c*c*(u*u)-c*c*(m*m)-u*u*(w*w))/(c*c*(m*m)+u*u*(w*w)));a===o&&(y*=-1),isNaN(y)&&(y=0);const C=y*c*m/u,P=y*-u*w/c,S=(t+r)/2+Math.cos(f)*C-Math.sin(f)*P,E=(n+i)/2+Math.sin(f)*C+Math.cos(f)*P,p=function(M){return Math.sqrt(M[0]*M[0]+M[1]*M[1])},x=function(M,N){return(M[0]*N[0]+M[1]*N[1])/(p(M)*p(N))},O=function(M,N){return(M[0]*N[1]=1&&(D=0),o===0&&D>0&&(D=D-2*Math.PI),o===1&&D<0&&(D=D+2*Math.PI),[S,E,c,u,k,D,f,o]}};rh.Path=h0,h0.prototype.className="Path",h0.prototype._attrsAffectingSize=["data"],(0,FH._registerNode)(h0),AH.Factory.addGetterSetter(h0,"data"),Object.defineProperty(Vg,"__esModule",{value:!0}),Vg.Arrow=void 0;const Mp=dt,DH=P1,VC=Ue,NH=lt,UC=rh;let tc=class extends DH.Line{_sceneFunc(e){super._sceneFunc(e);const t=Math.PI*2,n=this.points();let r=n;const i=this.tension()!==0&&n.length>4;i&&(r=this.getTensionPoints());const a=this.pointerLength(),o=n.length;let c,u;if(i){const w=[r[r.length-4],r[r.length-3],r[r.length-2],r[r.length-1],n[o-2],n[o-1]],m=UC.Path.calcLength(r[r.length-4],r[r.length-3],"C",w),g=UC.Path.getPointOnQuadraticBezier(Math.min(1,1-a/m),w[0],w[1],w[2],w[3],w[4],w[5]);c=n[o-2]-g.x,u=n[o-1]-g.y}else c=n[o-2]-n[o-4],u=n[o-1]-n[o-3];const d=(Math.atan2(u,c)+t)%t,f=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(n[o-2],n[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(n[0],n[1]),i?(c=(r[0]+r[2])/2-n[0],u=(r[1]+r[3])/2-n[1]):(c=n[2]-n[0],u=n[3]-n[1]),e.rotate((Math.atan2(-u,-c)+t)%t),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){const t=this.dashEnabled();t&&(this.attrs.dashEnabled=!1,e.setLineDash([])),e.fillStrokeShape(this),t&&(this.attrs.dashEnabled=!0)}getSelfRect(){const e=super.getSelfRect(),t=this.pointerWidth()/2;return{x:e.x,y:e.y-t,width:e.width,height:e.height+t*2}}};Vg.Arrow=tc,tc.prototype.className="Arrow",(0,NH._registerNode)(tc),Mp.Factory.addGetterSetter(tc,"pointerLength",10,(0,VC.getNumberValidator)()),Mp.Factory.addGetterSetter(tc,"pointerWidth",10,(0,VC.getNumberValidator)()),Mp.Factory.addGetterSetter(tc,"pointerAtBeginning",!1),Mp.Factory.addGetterSetter(tc,"pointerAtEnding",!0);var Ug={};Object.defineProperty(Ug,"__esModule",{value:!0}),Ug.Circle=void 0;const RH=dt,jH=sr,zH=Ue,BH=lt;let Vu=class extends jH.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius()!==e/2&&this.radius(e/2)}setHeight(e){this.radius()!==e/2&&this.radius(e/2)}};Ug.Circle=Vu,Vu.prototype._centroid=!0,Vu.prototype.className="Circle",Vu.prototype._attrsAffectingSize=["radius"],(0,BH._registerNode)(Vu),RH.Factory.addGetterSetter(Vu,"radius",0,(0,zH.getNumberValidator)());var Wg={};Object.defineProperty(Wg,"__esModule",{value:!0}),Wg.Ellipse=void 0;const vv=dt,HH=sr,WC=Ue,GH=lt;let ks=class extends HH.Shape{_sceneFunc(e){const t=this.radiusX(),n=this.radiusY();e.beginPath(),e.save(),t!==n&&e.scale(1,n/t),e.arc(0,0,t,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}};Wg.Ellipse=ks,ks.prototype.className="Ellipse",ks.prototype._centroid=!0,ks.prototype._attrsAffectingSize=["radiusX","radiusY"],(0,GH._registerNode)(ks),vv.Factory.addComponentsGetterSetter(ks,"radius",["x","y"]),vv.Factory.addGetterSetter(ks,"radiusX",0,(0,WC.getNumberValidator)()),vv.Factory.addGetterSetter(ks,"radiusY",0,(0,WC.getNumberValidator)());var Xg={};Object.defineProperty(Xg,"__esModule",{value:!0}),Xg.Image=void 0;const yv=Pn,nc=dt,VH=sr,UH=lt,f0=Ue;let Ya=class JM extends VH.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){const t=!!this.cornerRadius(),n=this.hasShadow();return t&&n?!0:super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),a=this.attrs.image;let o;if(a){const c=this.attrs.cropWidth,u=this.attrs.cropHeight;c&&u?o=[a,this.cropX(),this.cropY(),c,u,0,0,n,r]:o=[a,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?yv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),a&&(i&&t.clip(),t.drawImage.apply(t,o))}_hitFunc(t){const n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?yv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){const i=yv.Util.createImageElement();i.onload=function(){const a=new JM({image:i});n(a)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};Xg.Image=Ya,Ya.prototype.className="Image",(0,UH._registerNode)(Ya),nc.Factory.addGetterSetter(Ya,"cornerRadius",0,(0,f0.getNumberOrArrayOfNumbersValidator)(4)),nc.Factory.addGetterSetter(Ya,"image"),nc.Factory.addComponentsGetterSetter(Ya,"crop",["x","y","width","height"]),nc.Factory.addGetterSetter(Ya,"cropX",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropY",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropWidth",0,(0,f0.getNumberValidator)()),nc.Factory.addGetterSetter(Ya,"cropHeight",0,(0,f0.getNumberValidator)());var Rd={};Object.defineProperty(Rd,"__esModule",{value:!0}),Rd.Tag=Rd.Label=void 0;const Tp=dt,WH=sr,XH=th,bv=Ue,eT=lt,tT=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],YH="Change.konva",KH="none",Y6="up",K6="right",Z6="down",$6="left",ZH=tT.length;let wv=class extends XH.Group{constructor(e){super(e),this.on("add.konva",function(t){this._addListeners(t.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let t=this,n;const r=function(){t._sync()};for(n=0;n{t=Math.min(t,a.x),n=Math.max(n,a.x),r=Math.min(r,a.y),i=Math.max(i,a.y)}),{x:t,y:r,width:n-t,height:i-r}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};Yg.RegularPolygon=ic,ic.prototype.className="RegularPolygon",ic.prototype._centroid=!0,ic.prototype._attrsAffectingSize=["radius"],(0,nG._registerNode)(ic),XC.Factory.addGetterSetter(ic,"radius",0,(0,YC.getNumberValidator)()),XC.Factory.addGetterSetter(ic,"sides",0,(0,YC.getNumberValidator)());var Kg={};Object.defineProperty(Kg,"__esModule",{value:!0}),Kg.Ring=void 0;const KC=dt,rG=sr,ZC=Ue,iG=lt,$C=Math.PI*2;let ac=class extends rG.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,$C,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),$C,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}};Kg.Ring=ac,ac.prototype.className="Ring",ac.prototype._centroid=!0,ac.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,iG._registerNode)(ac),KC.Factory.addGetterSetter(ac,"innerRadius",0,(0,ZC.getNumberValidator)()),KC.Factory.addGetterSetter(ac,"outerRadius",0,(0,ZC.getNumberValidator)());var Zg={};Object.defineProperty(Zg,"__esModule",{value:!0}),Zg.Sprite=void 0;const oc=dt,aG=sr,oG=nh,qC=Ue,sG=lt;let Ka=class extends aG.Shape{constructor(e){super(e),this._updated=!0,this.anim=new oG.Animation(()=>{const t=this._updated;return this._updated=!1,t}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,i=this.animations()[t],a=this.frameOffsets(),o=i[r+0],c=i[r+1],u=i[r+2],d=i[r+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(e.beginPath(),e.rect(0,0,u,d),e.closePath(),e.fillStrokeShape(this)),f)if(a){const w=a[t],m=n*2;e.drawImage(f,o,c,u,d,w[m+0],w[m+1],u,d)}else e.drawImage(f,o,c,u,d,0,0,u,d)}_hitFunc(e){const t=this.animation(),n=this.frameIndex(),r=n*4,i=this.animations()[t],a=this.frameOffsets(),o=i[r+2],c=i[r+3];if(e.beginPath(),a){const u=a[t],d=n*2;e.rect(u[d+0],u[d+1],o,c)}else e.rect(0,0,o,c);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){const e=this;this.interval=setInterval(function(){e._updateIndex()},1e3/this.frameRate())}start(){if(this.isRunning())return;const e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){const e=this.frameIndex(),t=this.animation(),n=this.animations(),r=n[t],i=r.length/4;e{if(new RegExp("\\p{Emoji}","u").test(n)){const a=i[r+1];a&&new RegExp("\\p{Emoji_Modifier}|\\u200D","u").test(a)?(t.push(n+a),i[r+1]=""):t.push(n)}else new RegExp("\\p{Regional_Indicator}{2}","u").test(n+(i[r+1]||""))?t.push(n+i[r+1]):r>0&&new RegExp("\\p{Mn}|\\p{Me}|\\p{Mc}","u").test(n)?t[t.length-1]+=n:n&&t.push(n);return t},[])}const Uu="auto",hG="center",nT="inherit",p0="justify",fG="Change.konva",pG="2d",QC="-",rT="left",gG="text",mG="Text",vG="top",yG="bottom",JC="middle",eS="normal",bG="px ",Ip=" ",wG="right",tS="rtl",xG="word",CG="char",nS="none",_v="…",iT=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],SG=iT.length;function _G(e){return e.split(",").map(t=>{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t='"'.concat(t,'"')),t}).join(", ")}let Ov;function Ev(){return Ov||(Ov=q6.Util.createCanvasElement().getContext(pG),Ov)}function OG(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function EG(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function PG(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}let In=class extends uG.Shape{constructor(e){super(PG(e)),this._partialTextX=0,this._partialTextY=0;for(let t=0;t1&&(S+=a)}}_hitFunc(e){const t=this.getWidth(),n=this.getHeight();e.beginPath(),e.rect(0,0,t,n),e.closePath(),e.fillStrokeShape(this)}setText(e){const t=q6.Util._isString(e)?e:e==null?"":e+"";return this._setAttr(gG,t),this}getWidth(){return this.attrs.width===Uu||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===Uu||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return q6.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var t,n,r,i,a,o,c,u,d,f,w;let m=Ev(),g=this.fontSize(),y;m.save(),m.font=this._getContextFont(),y=m.measureText(e),m.restore();const C=g/100;return{actualBoundingBoxAscent:(t=y.actualBoundingBoxAscent)!==null&&t!==void 0?t:71.58203125*C,actualBoundingBoxDescent:(n=y.actualBoundingBoxDescent)!==null&&n!==void 0?n:0,actualBoundingBoxLeft:(r=y.actualBoundingBoxLeft)!==null&&r!==void 0?r:-7.421875*C,actualBoundingBoxRight:(i=y.actualBoundingBoxRight)!==null&&i!==void 0?i:75.732421875*C,alphabeticBaseline:(a=y.alphabeticBaseline)!==null&&a!==void 0?a:0,emHeightAscent:(o=y.emHeightAscent)!==null&&o!==void 0?o:100*C,emHeightDescent:(c=y.emHeightDescent)!==null&&c!==void 0?c:-20*C,fontBoundingBoxAscent:(u=y.fontBoundingBoxAscent)!==null&&u!==void 0?u:91*C,fontBoundingBoxDescent:(d=y.fontBoundingBoxDescent)!==null&&d!==void 0?d:21*C,hangingBaseline:(f=y.hangingBaseline)!==null&&f!==void 0?f:72.80000305175781*C,ideographicBaseline:(w=y.ideographicBaseline)!==null&&w!==void 0?w:-21*C,width:y.width,height:g}}_getContextFont(){return this.fontStyle()+Ip+this.fontVariant()+Ip+(this.fontSize()+bG)+_G(this.fontFamily())}_addTextLine(e){this.align()===p0&&(e=e.trim());const t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){const t=this.letterSpacing(),n=e.length;return Ev().measureText(e).width+t*n}_setTextData(){let e=this.text().split("\n"),t=+this.fontSize(),n=0,r=this.lineHeight()*t,i=this.attrs.width,a=this.attrs.height,o=i!==Uu&&i!==void 0,c=a!==Uu&&a!==void 0,u=this.padding(),d=i-u*2,f=a-u*2,w=0,m=this.wrap(),g=m!==nS,y=m!==CG&&g,C=this.ellipsis();this.textArr=[],Ev().font=this._getContextFont();const P=C?this._getTextWidth(_v):0;for(let S=0,E=e.length;Sd)for(;p.length>0;){let O=0,k=Cc(p).length,I="",L=0;for(;O>>1,M=Cc(p),N=M.slice(0,D+1).join(""),z=this._getTextWidth(N)+P;z<=d?(O=D+1,I=N,L=z):k=D}if(I){if(y){const D=Cc(p),M=Cc(I),N=D[M.length],z=N===Ip||N===QC;let H;if(z&&L<=d)H=M.length;else{const W=M.lastIndexOf(Ip),K=M.lastIndexOf(QC);H=Math.max(W,K)+1}H>0&&(O=H,I=D.slice(0,O).join(""),L=this._getTextWidth(I))}if(I=I.trimRight(),this._addTextLine(I),n=Math.max(n,L),w+=r,this._shouldHandleEllipsis(w)){this._tryToAddEllipsisToLastLine();break}if(p=Cc(p).slice(O).join("").trimLeft(),p.length>0&&(x=this._getTextWidth(p),x<=d)){this._addTextLine(p),w+=r,n=Math.max(n,x);break}}else break}else this._addTextLine(p),w+=r,n=Math.max(n,x),this._shouldHandleEllipsis(w)&&Sf)break}this.textHeight=t,this.textWidth=n}_shouldHandleEllipsis(e){const t=+this.fontSize(),n=this.lineHeight()*t,r=this.attrs.height,i=r!==Uu&&r!==void 0,a=this.padding(),o=r-a*2;return this.wrap()===nS||i&&e+n>o}_tryToAddEllipsisToLastLine(){const e=this.attrs.width,t=e!==Uu&&e!==void 0,n=this.padding(),r=e-n*2,i=this.ellipsis(),a=this.textArr[this.textArr.length-1];!a||!i||(t&&(this._getTextWidth(a.text+_v)t?null:g0.Path.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=g0.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();const t=this.textDecoration(),n=this.fill(),r=this.fontSize(),i=this.glyphInfo;t==="underline"&&e.beginPath();for(let a=0;a=1){const n=t[0].p0;e.moveTo(n.x,n.y)}for(let n=0;ne+".".concat(aT)).join(" "),cS="nodesRect",DG=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],NG={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},RG="ontouchstart"in Ca.Konva._global;function jG(e,t,n){if(e==="rotater")return n;t+=Xt.Util.degToRad(NG[e]||0);const r=(Xt.Util.radToDeg(t)%360+360)%360;return Xt.Util._inRange(r,315+22.5,360)||Xt.Util._inRange(r,0,22.5)?"ns-resize":Xt.Util._inRange(r,45-22.5,45+22.5)?"nesw-resize":Xt.Util._inRange(r,90-22.5,90+22.5)?"ew-resize":Xt.Util._inRange(r,135-22.5,135+22.5)?"nwse-resize":Xt.Util._inRange(r,180-22.5,180+22.5)?"ns-resize":Xt.Util._inRange(r,225-22.5,225+22.5)?"nesw-resize":Xt.Util._inRange(r,270-22.5,270+22.5)?"ew-resize":Xt.Util._inRange(r,315-22.5,315+22.5)?"nwse-resize":(Xt.Util.error("Transformer has unknown angle for cursor detection: "+r),"pointer")}const Jg=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];function zG(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function oT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return qf(Xn({},e),{rotation:e.rotation+t,x:r,y:i})}function BG(e,t){const n=zG(e);return oT(e,t,n)}function HG(e,t,n){let r=t;for(let i=0;in.isAncestorOf(this)?(Xt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);return this._nodes=e=t,e.length===1&&this.useSingleNodeRotation()?this.rotation(e[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(n=>{const r=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},i=n._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");n.on(i,r),n.on(DG.map(a=>a+".".concat(this._getEventNamespace())).join(" "),r),n.on("absoluteTransformChange.".concat(this._getEventNamespace()),r),this._proxyDrag(n)}),this._resetTransformCache(),this.findOne(".top-left")&&this.update(),this}_proxyDrag(e){let t;e.on("dragstart.".concat(this._getEventNamespace()),n=>{t=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back")&&this.startDrag(n,!1)}),e.on("dragmove.".concat(this._getEventNamespace()),n=>{if(!t)return;const r=e.getAbsolutePosition(),i=r.x-t.x,a=r.y-t.y;this.nodes().forEach(o=>{if(o===e||o.isDragging())return;const c=o.getAbsolutePosition();o.setAbsolutePosition({x:c.x+i,y:c.y+a}),o.startDrag(n)}),t=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(e=>{e.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(cS),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(cS,this.__getNodeRect)}__getNodeShape(e,t=this.rotation(),n){const r=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),i=e.getAbsoluteScale(n),a=e.getAbsolutePosition(n),o=r.x*i.x-e.offsetX()*i.x,c=r.y*i.y-e.offsetY()*i.y,u=(Ca.Konva.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:a.x+o*Math.cos(u)+c*Math.sin(-u),y:a.y+c*Math.cos(u)+o*Math.sin(u),width:r.width*i.x,height:r.height*i.y,rotation:u};return oT(d,-Ca.Konva.getAngle(t),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-1e8,y:-1e8,width:0,height:0,rotation:0};const e=[];this.nodes().map(c=>{const u=c.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),d=[{x:u.x,y:u.y},{x:u.x+u.width,y:u.y},{x:u.x+u.width,y:u.y+u.height},{x:u.x,y:u.y+u.height}],f=c.getAbsoluteTransform();d.forEach(function(w){const m=f.point(w);e.push(m)})});const t=new Xt.Transform;t.rotate(-Ca.Konva.getAngle(this.rotation()));let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(function(c){const u=t.point(c);n===void 0&&(n=i=u.x,r=a=u.y),n=Math.min(n,u.x),r=Math.min(r,u.y),i=Math.max(i,u.x),a=Math.max(a,u.y)}),t.invert();const o=t.point({x:n,y:r});return{x:o.x,y:o.y,width:i-n,height:a-r,rotation:Ca.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Jg.forEach(e=>{this._createAnchor(e)}),this._createAnchor("rotater")}_createAnchor(e){const t=new AG.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:RG?10:"auto"}),n=this;t.on("mousedown touchstart",function(r){n._handleMouseDown(r)}),t.on("dragstart",r=>{t.stopDrag(),r.cancelBubble=!0}),t.on("dragend",r=>{r.cancelBubble=!0}),t.on("mouseenter",()=>{const r=Ca.Konva.getAngle(this.rotation()),i=this.rotateAnchorCursor(),a=jG(e,r,i);t.getStage().content&&(t.getStage().content.style.cursor=a),this._cursorChange=!0}),t.on("mouseout",()=>{t.getStage().content&&(t.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(t)}_createBack(){const e=new TG.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(t,n){const r=n.getParent(),i=r.padding();t.beginPath(),t.rect(-i,-i,n.width()+i*2,n.height()+i*2),t.moveTo(n.width()/2,-i),r.rotateEnabled()&&r.rotateLineVisible()&&t.lineTo(n.width()/2,-r.rotateAnchorOffset()*Xt.Util._sign(n.height())-i),t.fillStrokeShape(n)},hitFunc:(t,n)=>{if(!this.shouldOverdrawWholeArea())return;const r=this.padding();t.beginPath(),t.rect(-r,-r,n.width()+r*2,n.height()+r*2),t.fillStrokeShape(n)}});this.add(e),this._proxyDrag(e),e.on("dragstart",t=>{t.cancelBubble=!0}),e.on("dragmove",t=>{t.cancelBubble=!0}),e.on("dragend",t=>{t.cancelBubble=!0}),this.on("dragmove",t=>{this.update()})}_handleMouseDown(e){if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];const t=this._getNodeRect(),n=t.width,r=t.height,i=Math.sqrt(Math.pow(n,2)+Math.pow(r,2));this.sin=Math.abs(r/i),this.cos=Math.abs(n/i),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;const a=e.target.getAbsolutePosition(),o=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:o.x-a.x,y:o.y-a.y},Q6++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach(c=>{c._fire("transformstart",{evt:e.evt,target:c})})}_handleMouseMove(e){let t,n,r;const i=this.findOne("."+this._movingAnchorName),a=i.getStage();a.setPointersPositions(e);const o=a.getPointerPosition();let c={x:o.x-this._anchorDragOffset.x,y:o.y-this._anchorDragOffset.y};const u=i.getAbsolutePosition();this.anchorDragBoundFunc()&&(c=this.anchorDragBoundFunc()(u,c,e)),i.setAbsolutePosition(c);const d=i.getAbsolutePosition();if(u.x===d.x&&u.y===d.y)return;if(this._movingAnchorName==="rotater"){const x=this._getNodeRect();t=i.x()-x.width/2,n=-i.y()+x.height/2;let O=Math.atan2(-n,t)+Math.PI/2;x.height<0&&(O-=Math.PI);const k=Ca.Konva.getAngle(this.rotation())+O,I=Ca.Konva.getAngle(this.rotationSnapTolerance()),L=HG(this.rotationSnaps(),k,I)-x.rotation,D=BG(x,L);this._fitNodesInto(D,e);return}const f=this.shiftBehavior();let w;f==="inverted"?w=this.keepRatio()&&!e.shiftKey:f==="none"?w=this.keepRatio():w=this.keepRatio()||e.shiftKey;var P=this.centeredScaling()||e.altKey;if(this._movingAnchorName==="top-left"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};r=Math.sqrt(Math.pow(m.x-i.x(),2)+Math.pow(m.y-i.y(),2));var g=this.findOne(".top-left").x()>m.x?-1:1,y=this.findOne(".top-left").y()>m.y?-1:1;t=r*this.cos*g,n=r*this.sin*y,this.findOne(".top-left").x(m.x-t),this.findOne(".top-left").y(m.y-n)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(i.y());else if(this._movingAnchorName==="top-right"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};r=Math.sqrt(Math.pow(i.x()-m.x,2)+Math.pow(m.y-i.y(),2));var g=this.findOne(".top-right").x()m.y?-1:1;t=r*this.cos*g,n=r*this.sin*y,this.findOne(".top-right").x(m.x+t),this.findOne(".top-right").y(m.y-n)}var C=i.position();this.findOne(".top-left").y(C.y),this.findOne(".bottom-right").x(C.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(i.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(i.x());else if(this._movingAnchorName==="bottom-left"){if(w){var m=P?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};r=Math.sqrt(Math.pow(m.x-i.x(),2)+Math.pow(i.y()-m.y,2));var g=m.x{var i;r._fire("transformend",{evt:e,target:r}),(i=r.getLayer())===null||i===void 0||i.batchDraw()}),this._movingAnchorName=null}}_fitNodesInto(e,t){const n=this._getNodeRect(),r=1;if(Xt.Util._inRange(e.width,-this.padding()*2-r,r)){this.update();return}if(Xt.Util._inRange(e.height,-this.padding()*2-r,r)){this.update();return}const i=new Xt.Transform;if(i.rotate(Ca.Konva.getAngle(this.rotation())),this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){const w=i.point({x:-this.padding()*2,y:0});e.x+=w.x,e.y+=w.y,e.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){const w=i.point({x:this.padding()*2,y:0});this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.width+=this.padding()*2}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){const w=i.point({x:0,y:-this.padding()*2});e.x+=w.x,e.y+=w.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.height+=this.padding()*2}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const w=i.point({x:0,y:this.padding()*2});this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=w.x,this._anchorDragOffset.y-=w.y,e.height+=this.padding()*2}if(this.boundBoxFunc()){const w=this.boundBoxFunc()(n,e);w?e=w:Xt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,o=new Xt.Transform;o.translate(n.x,n.y),o.rotate(n.rotation),o.scale(n.width/a,n.height/a);const c=new Xt.Transform,u=e.width/a,d=e.height/a;this.flipEnabled()===!1?(c.translate(e.x,e.y),c.rotate(e.rotation),c.translate(e.width<0?e.width:0,e.height<0?e.height:0),c.scale(Math.abs(u),Math.abs(d))):(c.translate(e.x,e.y),c.rotate(e.rotation),c.scale(u,d));const f=c.multiply(o.invert());this._nodes.forEach(w=>{var m;const g=w.getParent().getAbsoluteTransform(),y=w.getTransform().copy();y.translate(w.offsetX(),w.offsetY());const C=new Xt.Transform;C.multiply(g.copy().invert()).multiply(f).multiply(g).multiply(y);const P=C.decompose();w.setAttrs(P),(m=w.getLayer())===null||m===void 0||m.batchDraw()}),this.rotation(Xt.Util._getRotation(e.rotation)),this._nodes.forEach(w=>{this._fire("transform",{evt:t,target:w}),w._fire("transform",{evt:t,target:w})}),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,t){this.findOne(e).setAttrs(t)}update(){var e;const t=this._getNodeRect();this.rotation(Xt.Util._getRotation(t.rotation));const n=t.width,r=t.height,i=this.enabledAnchors(),a=this.resizeEnabled(),o=this.padding(),c=this.anchorSize(),u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+o,offsetY:c/2+o,visible:a&&i.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:n/2,y:0,offsetY:c/2+o,visible:a&&i.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:n,y:0,offsetX:c/2-o,offsetY:c/2+o,visible:a&&i.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:r/2,offsetX:c/2+o,visible:a&&i.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:n,y:r/2,offsetX:c/2-o,visible:a&&i.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:r,offsetX:c/2+o,offsetY:c/2-o,visible:a&&i.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:n/2,y:r,offsetY:c/2-o,visible:a&&i.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:n,y:r,offsetX:c/2-o,offsetY:c/2-o,visible:a&&i.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:n/2,y:-this.rotateAnchorOffset()*Xt.Util._sign(r)-o,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:n,height:r,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();const e=this.findOne("."+this._movingAnchorName);e&&e.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),lS.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return sS.Node.prototype.toObject.call(this)}clone(e){return sS.Node.prototype.clone.call(this,e)}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}};Qg.Transformer=xt,xt.isTransforming=()=>Q6>0;function GG(e){return e instanceof Array||Xt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Jg.indexOf(t)===-1&&Xt.Util.warn("Unknown anchor name: "+t+". Available names are: "+Jg.join(", "))}),e||[]}xt.prototype.className="Transformer",(0,IG._registerNode)(xt),Ft.Factory.addGetterSetter(xt,"enabledAnchors",Jg,GG),Ft.Factory.addGetterSetter(xt,"flipEnabled",!0,(0,Ts.getBooleanValidator)()),Ft.Factory.addGetterSetter(xt,"resizeEnabled",!0),Ft.Factory.addGetterSetter(xt,"anchorSize",10,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"rotateEnabled",!0),Ft.Factory.addGetterSetter(xt,"rotateLineVisible",!0),Ft.Factory.addGetterSetter(xt,"rotationSnaps",[]),Ft.Factory.addGetterSetter(xt,"rotateAnchorOffset",50,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"rotateAnchorCursor","crosshair"),Ft.Factory.addGetterSetter(xt,"rotationSnapTolerance",5,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderEnabled",!0),Ft.Factory.addGetterSetter(xt,"anchorStroke","rgb(0, 161, 255)"),Ft.Factory.addGetterSetter(xt,"anchorStrokeWidth",1,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"anchorFill","white"),Ft.Factory.addGetterSetter(xt,"anchorCornerRadius",0,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderStroke","rgb(0, 161, 255)"),Ft.Factory.addGetterSetter(xt,"borderStrokeWidth",1,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"borderDash"),Ft.Factory.addGetterSetter(xt,"keepRatio",!0),Ft.Factory.addGetterSetter(xt,"shiftBehavior","default"),Ft.Factory.addGetterSetter(xt,"centeredScaling",!1),Ft.Factory.addGetterSetter(xt,"ignoreStroke",!1),Ft.Factory.addGetterSetter(xt,"padding",0,(0,Ts.getNumberValidator)()),Ft.Factory.addGetterSetter(xt,"nodes"),Ft.Factory.addGetterSetter(xt,"node"),Ft.Factory.addGetterSetter(xt,"boundBoxFunc"),Ft.Factory.addGetterSetter(xt,"anchorDragBoundFunc"),Ft.Factory.addGetterSetter(xt,"anchorStyleFunc"),Ft.Factory.addGetterSetter(xt,"shouldOverdrawWholeArea",!1),Ft.Factory.addGetterSetter(xt,"useSingleNodeRotation",!0),Ft.Factory.backCompat(xt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var em={};Object.defineProperty(em,"__esModule",{value:!0}),em.Wedge=void 0;const Fp=dt,VG=sr,UG=lt,uS=Ue,WG=lt;let Lo=class extends VG.Shape{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,UG.Konva.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}};em.Wedge=Lo,Lo.prototype.className="Wedge",Lo.prototype._centroid=!0,Lo.prototype._attrsAffectingSize=["radius"],(0,WG._registerNode)(Lo),Fp.Factory.addGetterSetter(Lo,"radius",0,(0,uS.getNumberValidator)()),Fp.Factory.addGetterSetter(Lo,"angle",0,(0,uS.getNumberValidator)()),Fp.Factory.addGetterSetter(Lo,"clockwise",!1),Fp.Factory.backCompat(Lo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var tm={};Object.defineProperty(tm,"__esModule",{value:!0}),tm.Blur=void 0;const dS=dt,XG=mn,YG=Ue;function hS(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}const KG=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],ZG=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function $G(e,t){const n=e.data,r=e.width,i=e.height;let a,o,c,u,d,f,w,m,g,y,C,P,S,E,p,x,O,k,I,L,D,M,N,z;const H=t+t+1,W=r-1,K=i-1,G=t+1,q=G*(G+1)/2,U=new hS,J=KG[t],Q=ZG[t];let ae=null,ie=U,oe=null,ue=null;for(c=1;c>Q,N!==0?(N=255/N,n[f]=(m*J>>Q)*N,n[f+1]=(g*J>>Q)*N,n[f+2]=(y*J>>Q)*N):n[f]=n[f+1]=n[f+2]=0,m-=P,g-=S,y-=E,C-=p,P-=oe.r,S-=oe.g,E-=oe.b,p-=oe.a,u=w+((u=a+t+1)>Q,N>0?(N=255/N,n[u]=(m*J>>Q)*N,n[u+1]=(g*J>>Q)*N,n[u+2]=(y*J>>Q)*N):n[u]=n[u+1]=n[u+2]=0,m-=P,g-=S,y-=E,C-=p,P-=oe.r,S-=oe.g,E-=oe.b,p-=oe.a,u=a+((u=o+G)0&&$G(e,t)};tm.Blur=qG,dS.Factory.addGetterSetter(XG.Node,"blurRadius",0,(0,YG.getNumberValidator)(),dS.Factory.afterSetFilter);var nm={};Object.defineProperty(nm,"__esModule",{value:!0}),nm.Brighten=void 0;const fS=dt,QG=mn,JG=Ue,eV=function(e){const t=this.brightness()*255,n=e.data,r=n.length;for(let i=0;i255?255:i,a=a<0?0:a>255?255:a,o=o<0?0:o>255?255:o,n[c]=i,n[c+1]=a,n[c+2]=o};rm.Contrast=rV,pS.Factory.addGetterSetter(tV.Node,"contrast",0,(0,nV.getNumberValidator)(),pS.Factory.afterSetFilter);var im={};Object.defineProperty(im,"__esModule",{value:!0}),im.Emboss=void 0;const As=dt,Dp=mn,iV=Pn,gS=Ue,aV=function(e){const t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),a=e.data,o=e.width,c=e.height,u=o*4;let d=0,f=0,w=c;switch(r){case"top-left":d=-1,f=-1;break;case"top":d=-1,f=0;break;case"top-right":d=-1,f=1;break;case"right":d=0,f=1;break;case"bottom-right":d=1,f=1;break;case"bottom":d=1,f=0;break;case"bottom-left":d=1,f=-1;break;case"left":d=0,f=-1;break;default:iV.Util.error("Unknown emboss direction: "+r)}do{const m=(w-1)*u;let g=d;w+g<1&&(g=0),w+g>c&&(g=0);const y=(w-1+g)*o*4;let C=o;do{const P=m+(C-1)*4;let S=f;C+S<1&&(S=0),C+S>o&&(S=0);const E=y+(C-1+S)*4,p=a[P]-a[E],x=a[P+1]-a[E+1],O=a[P+2]-a[E+2];let k=p;const I=k>0?k:-k,L=x>0?x:-x,D=O>0?O:-O;if(L>I&&(k=x),D>I&&(k=O),k*=t,i){const M=a[P]+k,N=a[P+1]+k,z=a[P+2]+k;a[P]=M>255?255:M<0?0:M,a[P+1]=N>255?255:N<0?0:N,a[P+2]=z>255?255:z<0?0:z}else{let M=n-k;M<0?M=0:M>255&&(M=255),a[P]=a[P+1]=a[P+2]=M}}while(--C)}while(--w)};im.Emboss=aV,As.Factory.addGetterSetter(Dp.Node,"embossStrength",.5,(0,gS.getNumberValidator)(),As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossWhiteLevel",.5,(0,gS.getNumberValidator)(),As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossDirection","top-left",void 0,As.Factory.afterSetFilter),As.Factory.addGetterSetter(Dp.Node,"embossBlend",!1,void 0,As.Factory.afterSetFilter);var am={};Object.defineProperty(am,"__esModule",{value:!0}),am.Enhance=void 0;const mS=dt,oV=mn,sV=Ue;function Lv(e,t,n,r,i){const a=n-t,o=i-r;if(a===0)return r+o/2;if(o===0)return r;let c=(e-t)/a;return c=o*c+r,c}const lV=function(e){const t=e.data,n=t.length;let r=t[0],i=r,a,o=t[1],c=o,u,d=t[2],f=d,w;const m=this.enhance();if(m===0)return;for(let k=0;ki&&(i=a),u=t[k+1],uc&&(c=u),w=t[k+2],wf&&(f=w);i===r&&(i=255,r=0),c===o&&(c=255,o=0),f===d&&(f=255,d=0);let g,y,C,P,S,E,p,x,O;m>0?(y=i+m*(255-i),C=r-m*(r-0),S=c+m*(255-c),E=o-m*(o-0),x=f+m*(255-f),O=d-m*(d-0)):(g=(i+r)*.5,y=i+m*(i-g),C=r+m*(r-g),P=(c+o)*.5,S=c+m*(c-P),E=o+m*(o-P),p=(f+d)*.5,x=f+m*(f-p),O=d+m*(d-p));for(let k=0;kd?m:d;const g=o,y=a,C=360/y*Math.PI/180;for(let P=0;Pd?m:d;const g=o,y=a,C=0;let P,S;for(f=0;ft&&(x=p,O=0,k=-1),i=0;i=0&&g=0&&y=0&&g=0&&y=255*4?255:0}return o}function SV(e,t,n){const r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),a=Math.floor(i/2),o=[];for(let c=0;c=0&&g=0&&y=n))for(a=C;a=r||(o=(n*a+i)*4,c+=x[o+0],u+=x[o+1],d+=x[o+2],f+=x[o+3],p+=1);for(c=c/p,u=u/p,d=d/p,f=f/p,i=g;i=n))for(a=C;a=r||(o=(n*a+i)*4,x[o+0]=c,x[o+1]=u,x[o+2]=d,x[o+3]=f)}};fm.Pixelate=TV,CS.Factory.addGetterSetter(LV.Node,"pixelSize",8,(0,MV.getNumberValidator)(),CS.Factory.afterSetFilter);var pm={};Object.defineProperty(pm,"__esModule",{value:!0}),pm.Posterize=void 0;const SS=dt,AV=mn,IV=Ue,FV=function(e){const t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t;for(let a=0;a255?255:e<0?0:Math.round(e)}),jp.Factory.addGetterSetter(Fv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),jp.Factory.addGetterSetter(Fv.Node,"blue",0,DV.RGBComponent,jp.Factory.afterSetFilter);var mm={};Object.defineProperty(mm,"__esModule",{value:!0}),mm.RGBA=void 0;const v0=dt,zp=mn,RV=Ue,jV=function(e){const t=e.data,n=t.length,r=this.red(),i=this.green(),a=this.blue(),o=this.alpha();for(let c=0;c255?255:e<0?0:Math.round(e)}),v0.Factory.addGetterSetter(zp.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),v0.Factory.addGetterSetter(zp.Node,"blue",0,RV.RGBComponent,v0.Factory.afterSetFilter),v0.Factory.addGetterSetter(zp.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var vm={};Object.defineProperty(vm,"__esModule",{value:!0}),vm.Sepia=void 0;const zV=function(e){const t=e.data,n=t.length;for(let r=0;r127&&(d=255-d),f>127&&(f=255-f),w>127&&(w=255-w),t[u]=d,t[u+1]=f,t[u+2]=w}while(--c)}while(--a)};ym.Solarize=BV;var bm={};Object.defineProperty(bm,"__esModule",{value:!0}),bm.Threshold=void 0;const _S=dt,HV=mn,GV=Ue,VV=function(e){const t=this.threshold()*255,n=e.data,r=n.length;for(let i=0;i>>1,Q=G[J];if(0>>1;Ji(oe,U))uei(Ce,oe)?(G[J]=Ce,G[ue]=U,J=ue):(G[J]=oe,G[ie]=U,J=ie);else if(uei(Ce,U))G[J]=Ce,G[ue]=U,J=ue;else break e}}return q}function i(G,q){var U=G.sortIndex-q.sortIndex;return U!==0?U:G.id-q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var u=[],d=[],f=1,w=null,m=3,g=!1,y=!1,C=!1,P=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function p(G){for(var q=n(d);q!==null;){if(q.callback===null)r(d);else if(q.startTime<=G)r(d),q.sortIndex=q.expirationTime,t(u,q);else break;q=n(d)}}function x(G){if(C=!1,p(G),!y)if(n(u)!==null)y=!0,W();else{var q=n(d);q!==null&&K(x,q.startTime-G)}}var O=!1,k=-1,I=5,L=-1;function D(){return!(e.unstable_now()-LG&&D());){var J=w.callback;if(typeof J=="function"){w.callback=null,m=w.priorityLevel;var Q=J(w.expirationTime<=G);if(G=e.unstable_now(),typeof Q=="function"){w.callback=Q,p(G),q=!0;break t}w===n(u)&&r(u),p(G)}else r(u);w=n(u)}if(w!==null)q=!0;else{var ae=n(d);ae!==null&&K(x,ae.startTime-G),q=!1}}break e}finally{w=null,m=U,g=!1}q=void 0}}finally{q?N():O=!1}}}var N;if(typeof E=="function")N=function(){E(M)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,H=z.port2;z.port1.onmessage=M,N=function(){H.postMessage(null)}}else N=function(){P(M,0)};function W(){O||(O=!0,N())}function K(G,q){k=P(function(){G(e.unstable_now())},q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_continueExecution=function(){y||g||(y=!0,W())},e.unstable_forceFrameRate=function(G){0>G||125J?(G.sortIndex=U,t(d,G),n(u)===null&&G===n(d)&&(C?(S(k),k=-1):C=!0,K(x,U-J))):(G.sortIndex=Q,t(u,G),y||g||(y=!0,W())),G},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(G){var q=m;return function(){var U=m;m=q;try{return G.apply(this,arguments)}finally{m=U}}}}(kS)),kS}var MS;function cT(){return MS||(MS=1,PS.exports=kU()),PS.exports}(function(e){e.exports=function(t){function n(s,l,h,v){return new TF(s,l,h,v)}function r(){}function i(s){var l="https://react.dev/errors/"+s;if(1)":-1_||ne[v]!==we[_]){var Ee="\n"+ne[v].replace(" at new "," at ");return s.displayName&&Ee.includes("")&&(Ee=Ee.replace("",s.displayName)),Ee}while(1<=v&&0<=_);break}}}finally{G5=!1,Error.prepareStackTrace=h}return(h=s?s.displayName||s.name:"")?c(h):""}function d(s){switch(s.tag){case 26:case 27:case 5:return c(s.type);case 16:return c("Lazy");case 13:return c("Suspense");case 19:return c("SuspenseList");case 0:case 15:return s=u(s.type,!1),s;case 11:return s=u(s.type.render,!1),s;case 1:return s=u(s.type,!0),s;default:return""}}function f(s){try{var l="";do l+=d(s),s=s.return;while(s);return l}catch(h){return"\nError generating stack: "+h.message+"\n"+h.stack}}function w(s){var l=s,h=s;if(s.alternate)for(;l.return;)l=l.return;else{s=l;do l=s,l.flags&4098&&(h=l.return),s=l.return;while(s)}return l.tag===3?h:null}function m(s){if(w(s)!==s)throw Error(i(188))}function g(s){var l=s.alternate;if(!l){if(l=w(s),l===null)throw Error(i(188));return l!==s?null:s}for(var h=s,v=l;;){var _=h.return;if(_===null)break;var T=_.alternate;if(T===null){if(v=_.return,v!==null){h=v;continue}break}if(_.child===T.child){for(T=_.child;T;){if(T===h)return m(_),s;if(T===v)return m(_),l;T=T.sibling}throw Error(i(188))}if(h.return!==v.return)h=_,v=T;else{for(var j=!1,Z=_.child;Z;){if(Z===h){j=!0,h=_,v=T;break}if(Z===v){j=!0,v=_,h=T;break}Z=Z.sibling}if(!j){for(Z=T.child;Z;){if(Z===h){j=!0,h=T,v=_;break}if(Z===v){j=!0,v=T,h=_;break}Z=Z.sibling}if(!j)throw Error(i(189))}}if(h.alternate!==v)throw Error(i(190))}if(h.tag!==3)throw Error(i(188));return h.stateNode.current===h?s:l}function y(s){var l=s.tag;if(l===5||l===26||l===27||l===6)return s;for(s=s.child;s!==null;){if(l=y(s),l!==null)return l;s=s.sibling}return null}function C(s){var l=s.tag;if(l===5||l===26||l===27||l===6)return s;for(s=s.child;s!==null;){if(s.tag!==4&&(l=C(s),l!==null))return l;s=s.sibling}return null}function P(s){return{current:s}}function S(s){0>bu||(s.current=K5[bu],K5[bu]=null,bu--)}function E(s,l){bu++,K5[bu]=s.current,s.current=l}function p(s){return s>>>=0,s===0?32:31-(QD(s)/JD|0)|0}function x(s){var l=s&42;if(l!==0)return l;switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function O(s,l){var h=s.pendingLanes;if(h===0)return 0;var v=0,_=s.suspendedLanes,T=s.pingedLanes,j=s.warmLanes;s=s.finishedLanes!==0;var Z=h&134217727;return Z!==0?(h=Z&~_,h!==0?v=x(h):(T&=Z,T!==0?v=x(T):s||(j=Z&~j,j!==0&&(v=x(j))))):(Z=h&~_,Z!==0?v=x(Z):T!==0?v=x(T):s||(j=h&~j,j!==0&&(v=x(j)))),v===0?0:l!==0&&l!==v&&!(l&_)&&(_=v&-v,j=l&-l,_>=j||_===32&&(j&4194176)!==0)?l:v}function k(s,l){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&l)===0}function I(s,l){switch(s){case 1:case 2:case 4:case 8:return l+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function L(){var s=Mf;return Mf<<=1,!(Mf&4194176)&&(Mf=128),s}function D(){var s=Tf;return Tf<<=1,!(Tf&62914560)&&(Tf=4194304),s}function M(s){for(var l=[],h=0;31>h;h++)l.push(s);return l}function N(s,l){s.pendingLanes|=l,l!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function z(s,l,h,v,_,T){var j=s.pendingLanes;s.pendingLanes=h,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=h,s.entangledLanes&=h,s.errorRecoveryDisabledLanes&=h,s.shellSuspendCounter=0;var Z=s.entanglements,ne=s.expirationTimes,we=s.hiddenUpdates;for(h=j&~h;0>=j,_-=j,wo=1<<32-xi(l)+_|h<<_|v,xo=T+s}else wo=1<Tt?(hr=Xe,Xe=null):hr=Xe.sibling;var At=Fe(ce,Xe,de[Tt],_e);if(At===null){Xe===null&&(Xe=hr);break}s&&Xe&&At.alternate===null&&l(ce,Xe),te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At,Xe=hr}if(Tt===de.length)return h(ce,Xe),Mt&&Q(ce,Tt),He;if(Xe===null){for(;TtTt?(hr=Xe,Xe=null):hr=Xe.sibling;var _s=Fe(ce,Xe,At.value,_e);if(_s===null){Xe===null&&(Xe=hr);break}s&&Xe&&_s.alternate===null&&l(ce,Xe),te=T(_s,te,Tt),cn===null?He=_s:cn.sibling=_s,cn=_s,Xe=hr}if(At.done)return h(ce,Xe),Mt&&Q(ce,Tt),He;if(Xe===null){for(;!At.done;Tt++,At=de.next())At=Te(ce,At.value,_e),At!==null&&(te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At);return Mt&&Q(ce,Tt),He}for(Xe=v(Xe);!At.done;Tt++,At=de.next())At=nt(Xe,ce,Tt,At.value,_e),At!==null&&(s&&At.alternate!==null&&Xe.delete(At.key===null?Tt:At.key),te=T(At,te,Tt),cn===null?He=At:cn.sibling=At,cn=At);return s&&Xe.forEach(function(fN){return l(ce,fN)}),Mt&&Q(ce,Tt),He}function $l(ce,te,de,_e){if(typeof de=="object"&&de!==null&&de.type===vu&&de.key===null&&(de=de.props.children),typeof de=="object"&&de!==null){switch(de.$$typeof){case Pf:e:{for(var He=de.key;te!==null;){if(te.key===He){if(He=de.type,He===vu){if(te.tag===7){h(ce,te.sibling),_e=_(te,de.props.children),_e.return=ce,ce=_e;break e}}else if(te.elementType===He||typeof He=="object"&&He!==null&&He.$$typeof===ms&&ei(He)===te.type){h(ce,te.sibling),_e=_(te,de.props),uo(_e,de),_e.return=ce,ce=_e;break e}h(ce,te);break}else l(ce,te);te=te.sibling}de.type===vu?(_e=jl(de.props.children,ce.mode,_e,de.key),_e.return=ce,ce=_e):(_e=Ef(de.type,de.key,de.props,null,ce.mode,_e),uo(_e,de),_e.return=ce,ce=_e)}return j(ce);case mu:e:{for(He=de.key;te!==null;){if(te.key===He)if(te.tag===4&&te.stateNode.containerInfo===de.containerInfo&&te.stateNode.implementation===de.implementation){h(ce,te.sibling),_e=_(te,de.children||[]),_e.return=ce,ce=_e;break e}else{h(ce,te);break}else l(ce,te);te=te.sibling}_e=I5(de,ce.mode,_e),_e.return=ce,ce=_e}return j(ce);case ms:return He=de._init,de=He(de._payload),$l(ce,te,de,_e)}if(kf(de))return Zi(ce,te,de,_e);if(a(de)){if(He=a(de),typeof He!="function")throw Error(i(150));return de=He.call(de),n0(ce,te,de,_e)}if(typeof de.then=="function")return $l(ce,te,Jr(de),_e);if(de.$$typeof===gs)return $l(ce,te,wf(ce,de),_e);ss(ce,de)}return typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint"?(de=""+de,te!==null&&te.tag===6?(h(ce,te.sibling),_e=_(te,de),_e.return=ce,ce=_e):(h(ce,te),_e=A5(de,ce.mode,_e),_e.return=ce,ce=_e),j(ce)):h(ce,te)}return function(ce,te,de,_e){try{Zh=0;var He=$l(ce,te,de,_e);return Lu=null,He}catch(Xe){if(Xe===Kh)throw Xe;var cn=n(29,Xe,null,ce.mode);return cn.lanes=_e,cn.return=ce,cn}finally{}}}function ja(s,l){s=Eo,E(zf,s),E(Mu,l),Eo=s|l.baseLanes}function Vn(){E(zf,Eo),E(Mu,Mu.current)}function ti(){Eo=zf.current,S(Mu),S(zf)}function Hi(s){var l=s.alternate;E(qn,qn.current&1),E(Yi,s),Co===null&&(l===null||Mu.current!==null||l.memoizedState!==null)&&(Co=s)}function ho(s){if(s.tag===22){if(E(qn,qn.current),E(Yi,s),Co===null){var l=s.alternate;l!==null&&l.memoizedState!==null&&(Co=s)}}else za()}function za(){E(qn,qn.current),E(Yi,Yi.current)}function ha(s){S(Yi),Co===s&&(Co=null),S(qn)}function eu(s){for(var l=s;l!==null;){if(l.tag===13){var h=l.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||W5(h)||X5(h)))return l}else if(l.tag===19&&l.memoizedProps.revealOrder!==void 0){if(l.flags&128)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===s)break;for(;l.sibling===null;){if(l.return===null||l.return===s)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}function yn(){throw Error(i(321))}function xh(s,l){if(l===null)return!1;for(var h=0;hT?T:8);var j=$e.T,Z={};$e.T=Z,cu(s,!1,l,h);try{var ne=_(),we=$e.S;if(we!==null&&we(Z,ne),ne!==null&&typeof ne=="object"&&typeof ne.then=="function"){var Ee=Pe(ne,v);Al(s,l,Ee,bi(s))}else Al(s,l,v,bi(s))}catch(Te){Al(s,l,{then:function(){},status:"rejected",reason:Te},bi())}finally{ai(T),$e.T=j}}function Ga(s){var l=s.memoizedState;if(l!==null)return l;l={memoizedState:yu,baseState:yu,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:yu},next:null};var h={};return l.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:h},next:null},s.memoizedState=l,s=s.alternate,s!==null&&(s.memoizedState=l),l}function po(){return Pr(Bl)}function mf(){return Ln().memoizedState}function Ih(){return Ln().memoizedState}function e5(s){for(var l=s.return;l!==null;){switch(l.tag){case 24:case 3:var h=bi();s=We(h);var v=Ge(l,s,h);v!==null&&(Hr(v,l,h),at(v,l,h)),l={cache:d5()},s.payload=l;return}l=l.return}}function vf(s,l,h){var v=bi();h={lane:v,revertLane:0,action:h,hasEagerState:!1,eagerState:null,next:null},uu(s)?V(l,h):(h=et(s,l,h,v),h!==null&&(Hr(h,s,v),ee(h,l,v)))}function yf(s,l,h){var v=bi();Al(s,l,h,v)}function Al(s,l,h,v){var _={lane:v,revertLane:0,action:h,hasEagerState:!1,eagerState:null,next:null};if(uu(s))V(l,_);else{var T=s.alternate;if(s.lanes===0&&(T===null||T.lanes===0)&&(T=l.lastRenderedReducer,T!==null))try{var j=l.lastRenderedState,Z=T(j,h);if(_.hasEagerState=!0,_.eagerState=Z,Si(Z,j))return Me(s,l,_,0),rn===null&&Ie(),!1}catch(ne){}finally{}if(h=et(s,l,_,v),h!==null)return Hr(h,s,v),ee(h,l,v),!0}return!1}function cu(s,l,h,v){if(v={lane:2,revertLane:nn(),action:v,hasEagerState:!1,eagerState:null,next:null},uu(s)){if(l)throw Error(i(479))}else l=et(s,h,v,2),l!==null&&Hr(l,s,2)}function uu(s){var l=s.alternate;return s===ut||l!==null&&l===ut}function V(s,l){Tu=Bf=!0;var h=s.pending;h===null?l.next=l:(l.next=h.next,h.next=l),s.pending=l}function ee(s,l,h){if(h&4194176){var v=l.lanes;v&=s.pendingLanes,h|=v,l.lanes=h,W(s,h)}}function he(s,l,h,v){l=s.memoizedState,h=h(v,l),h=h==null?l:D5({},l,h),s.memoizedState=h,s.lanes===0&&(s.updateQueue.baseState=h)}function Ne(s,l,h,v,_,T,j){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(v,T,j):l.prototype&&l.prototype.isPureReactComponent?!Ke(h,v)||!Ke(_,T):!0}function ft(s,l,h,v){s=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(h,v),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(h,v),l.state!==s&&a4.enqueueReplaceState(l,l.state,null)}function wt(s,l){var h=l;if("ref"in l){h={};for(var v in l)v!=="ref"&&(h[v]=l[v])}if(s=s.defaultProps){h===l&&(h=D5({},h));for(var _ in s)h[_]===void 0&&(h[_]=s[_])}return h}function zt(s,l){try{var h=s.onUncaughtError;h(l.value,{componentStack:l.stack})}catch(v){setTimeout(function(){throw v})}}function St(s,l,h){try{var v=s.onCaughtError;v(h.value,{componentStack:h.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(_){setTimeout(function(){throw _})}}function Vt(s,l,h){return h=We(h),h.tag=3,h.payload={element:null},h.callback=function(){zt(s,l)},h}function ri(s){return s=We(s),s.tag=3,s}function Er(s,l,h,v){var _=h.type.getDerivedStateFromError;if(typeof _=="function"){var T=v.value;s.payload=function(){return _(T)},s.callback=function(){St(l,h,v)}}var j=h.stateNode;j!==null&&typeof j.componentDidCatch=="function"&&(s.callback=function(){St(l,h,v),typeof _!="function"&&(Ss===null?Ss=new Set([this]):Ss.add(this));var Z=v.stack;this.componentDidCatch(v.value,{componentStack:Z!==null?Z:""})})}function Il(s,l,h,v,_){if(h.flags|=32768,v!==null&&typeof v=="object"&&typeof v.then=="function"){if(l=h.alternate,l!==null&&Nh(l,h,_,!0),h=Yi.current,h!==null){switch(h.tag){case 13:return Co===null?k5():h.alternate===null&&An===0&&(An=3),h.flags&=-257,h.flags|=65536,h.lanes=_,v===jf?h.flags|=16384:(l=h.updateQueue,l===null?h.updateQueue=new Set([v]):l.add(v),M5(s,v,_)),!1;case 22:return h.flags|=65536,v===jf?h.flags|=16384:(l=h.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([v])},h.updateQueue=l):(h=l.retryQueue,h===null?l.retryQueue=new Set([v]):h.add(v)),M5(s,v,_)),!1}throw Error(i(435,h.tag))}return M5(s,v,_),k5(),!1}if(Mt)return l=Yi.current,l!==null?(!(l.flags&65536)&&(l.flags|=256),l.flags|=65536,l.lanes=_,v!==q5&&(s=Error(i(422),{cause:v}),Ae(J(s,h)))):(v!==q5&&(l=Error(i(423),{cause:v}),Ae(J(l,h))),s=s.current.alternate,s.flags|=65536,_&=-_,s.lanes|=_,v=J(v,h),_=Vt(s.stateNode,v,_),$t(s,_),An!==4&&(An=2)),!1;var T=Error(i(520),{cause:v});if(T=J(T,h),Qh===null?Qh=[T]:Qh.push(T),An!==4&&(An=2),l===null)return!0;v=J(v,h),h=l;do{switch(h.tag){case 3:return h.flags|=65536,s=_&-_,h.lanes|=s,s=Vt(h.stateNode,v,s),$t(h,s),!1;case 1:if(l=h.type,T=h.stateNode,(h.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||T!==null&&typeof T.componentDidCatch=="function"&&(Ss===null||!Ss.has(T))))return h.flags|=65536,_&=-_,h.lanes|=_,_=ri(_),Er(_,s,h,v),$t(h,_),!1}h=h.return}while(h!==null);return!1}function zn(s,l,h,v){l.child=s===null?Aw(l,null,h,v):Gl(l,s.child,h,v)}function du(s,l,h,v,_){h=h.render;var T=l.ref;if("ref"in v){var j={};for(var Z in v)Z!=="ref"&&(j[Z]=v[Z])}else j=v;return Fl(l),v=Ba(s,l,h,j,T,_),Z=Ch(),s!==null&&!ur?(Sh(s,l,_),go(s,l,_)):(Mt&&Z&&ie(l),l.flags|=1,zn(s,l,v,_),l.child)}function Fh(s,l,h,v,_){if(s===null){var T=h.type;return typeof T=="function"&&!T5(T)&&T.defaultProps===void 0&&h.compare===null?(l.tag=15,l.type=T,J9(s,l,T,v,_)):(s=Ef(h.type,null,v,l,l.mode,_),s.ref=l.ref,s.return=l,l.child=s)}if(T=s.child,!l5(s,_)){var j=T.memoizedProps;if(h=h.compare,h=h!==null?h:Ke,h(j,v)&&s.ref===l.ref)return go(s,l,_)}return l.flags|=1,s=ps(T,v),s.ref=l.ref,s.return=l,l.child=s}function J9(s,l,h,v,_){if(s!==null){var T=s.memoizedProps;if(Ke(T,v)&&s.ref===l.ref)if(ur=!1,l.pendingProps=v=T,l5(s,_))s.flags&131072&&(ur=!0);else return l.lanes=s.lanes,go(s,l,_)}return t5(s,l,h,v,_)}function eb(s,l,h){var v=l.pendingProps,_=v.children,T=(l.stateNode._pendingVisibility&2)!==0,j=s!==null?s.memoizedState:null;if(Dh(s,l),v.mode==="hidden"||T){if(l.flags&128){if(v=j!==null?j.baseLanes|h:h,s!==null){for(_=l.child=s.child,T=0;_!==null;)T=T|_.lanes|_.childLanes,_=_.sibling;l.childLanes=T&~v}else l.childLanes=0,l.child=null;return tb(s,l,v,h)}if(h&536870912)l.memoizedState={baseLanes:0,cachePool:null},s!==null&&xf(l,j!==null?j.cachePool:null),j!==null?ja(l,j):Vn(),ho(l);else return l.lanes=l.childLanes=536870912,tb(s,l,j!==null?j.baseLanes|h:h,h)}else j!==null?(xf(l,j.cachePool),ja(l,j),za(),l.memoizedState=null):(s!==null&&xf(l,null),Vn(),za());return zn(s,l,_,h),l.child}function tb(s,l,h,v){var _=h5();return _=_===null?null:{parent:bo?Mn._currentValue:Mn._currentValue2,pool:_},l.memoizedState={baseLanes:h,cachePool:_},s!==null&&xf(l,null),Vn(),ho(l),s!==null&&Nh(s,l,v,!0),null}function Dh(s,l){var h=l.ref;if(h===null)s!==null&&s.ref!==null&&(l.flags|=2097664);else{if(typeof h!="function"&&typeof h!="object")throw Error(i(284));(s===null||s.ref!==h)&&(l.flags|=2097664)}}function t5(s,l,h,v,_){return Fl(l),h=Ba(s,l,h,v,void 0,_),v=Ch(),s!==null&&!ur?(Sh(s,l,_),go(s,l,_)):(Mt&&v&&ie(l),l.flags|=1,zn(s,l,h,_),l.child)}function nb(s,l,h,v,_,T){return Fl(l),l.updateQueue=null,h=q1(l,v,h,_),$1(s),v=Ch(),s!==null&&!ur?(Sh(s,l,T),go(s,l,T)):(Mt&&v&&ie(l),l.flags|=1,zn(s,l,h,T),l.child)}function rb(s,l,h,v,_){if(Fl(l),l.stateNode===null){var T=wu,j=h.contextType;typeof j=="object"&&j!==null&&(T=Pr(j)),T=new h(v,T),l.memoizedState=T.state!==null&&T.state!==void 0?T.state:null,T.updater=a4,l.stateNode=T,T._reactInternals=l,T=l.stateNode,T.props=v,T.state=l.memoizedState,T.refs={},ze(l),j=h.contextType,T.context=typeof j=="object"&&j!==null?Pr(j):wu,T.state=l.memoizedState,j=h.getDerivedStateFromProps,typeof j=="function"&&(he(l,h,j,v),T.state=l.memoizedState),typeof h.getDerivedStateFromProps=="function"||typeof T.getSnapshotBeforeUpdate=="function"||typeof T.UNSAFE_componentWillMount!="function"&&typeof T.componentWillMount!="function"||(j=T.state,typeof T.componentWillMount=="function"&&T.componentWillMount(),typeof T.UNSAFE_componentWillMount=="function"&&T.UNSAFE_componentWillMount(),j!==T.state&&a4.enqueueReplaceState(T,T.state,null),Or(l,v,T,_),br(),T.state=l.memoizedState),typeof T.componentDidMount=="function"&&(l.flags|=4194308),v=!0}else if(s===null){T=l.stateNode;var Z=l.memoizedProps,ne=wt(h,Z);T.props=ne;var we=T.context,Ee=h.contextType;j=wu,typeof Ee=="object"&&Ee!==null&&(j=Pr(Ee));var Te=h.getDerivedStateFromProps;Ee=typeof Te=="function"||typeof T.getSnapshotBeforeUpdate=="function",Z=l.pendingProps!==Z,Ee||typeof T.UNSAFE_componentWillReceiveProps!="function"&&typeof T.componentWillReceiveProps!="function"||(Z||we!==j)&&ft(l,T,v,j),bs=!1;var Fe=l.memoizedState;T.state=Fe,Or(l,v,T,_),br(),we=l.memoizedState,Z||Fe!==we||bs?(typeof Te=="function"&&(he(l,h,Te,v),we=l.memoizedState),(ne=bs||Ne(l,h,ne,v,Fe,we,j))?(Ee||typeof T.UNSAFE_componentWillMount!="function"&&typeof T.componentWillMount!="function"||(typeof T.componentWillMount=="function"&&T.componentWillMount(),typeof T.UNSAFE_componentWillMount=="function"&&T.UNSAFE_componentWillMount()),typeof T.componentDidMount=="function"&&(l.flags|=4194308)):(typeof T.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=v,l.memoizedState=we),T.props=v,T.state=we,T.context=j,v=ne):(typeof T.componentDidMount=="function"&&(l.flags|=4194308),v=!1)}else{T=l.stateNode,vt(s,l),j=l.memoizedProps,Ee=wt(h,j),T.props=Ee,Te=l.pendingProps,Fe=T.context,we=h.contextType,ne=wu,typeof we=="object"&&we!==null&&(ne=Pr(we)),Z=h.getDerivedStateFromProps,(we=typeof Z=="function"||typeof T.getSnapshotBeforeUpdate=="function")||typeof T.UNSAFE_componentWillReceiveProps!="function"&&typeof T.componentWillReceiveProps!="function"||(j!==Te||Fe!==ne)&&ft(l,T,v,ne),bs=!1,Fe=l.memoizedState,T.state=Fe,Or(l,v,T,_),br();var nt=l.memoizedState;j!==Te||Fe!==nt||bs||s!==null&&s.dependencies!==null&&bf(s.dependencies)?(typeof Z=="function"&&(he(l,h,Z,v),nt=l.memoizedState),(Ee=bs||Ne(l,h,Ee,v,Fe,nt,ne)||s!==null&&s.dependencies!==null&&bf(s.dependencies))?(we||typeof T.UNSAFE_componentWillUpdate!="function"&&typeof T.componentWillUpdate!="function"||(typeof T.componentWillUpdate=="function"&&T.componentWillUpdate(v,nt,ne),typeof T.UNSAFE_componentWillUpdate=="function"&&T.UNSAFE_componentWillUpdate(v,nt,ne)),typeof T.componentDidUpdate=="function"&&(l.flags|=4),typeof T.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof T.componentDidUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=4),typeof T.getSnapshotBeforeUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=1024),l.memoizedProps=v,l.memoizedState=nt),T.props=v,T.state=nt,T.context=ne,v=Ee):(typeof T.componentDidUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=4),typeof T.getSnapshotBeforeUpdate!="function"||j===s.memoizedProps&&Fe===s.memoizedState||(l.flags|=1024),v=!1)}return T=v,Dh(s,l),v=(l.flags&128)!==0,T||v?(T=l.stateNode,h=v&&typeof h.getDerivedStateFromError!="function"?null:T.render(),l.flags|=1,s!==null&&v?(l.child=Gl(l,s.child,null,_),l.child=Gl(l,null,h,_)):zn(s,l,h,_),l.memoizedState=T.state,s=l.child):s=go(s,l,_),s}function ib(s,l,h,v){return ge(),l.flags|=256,zn(s,l,h,v),l.child}function n5(s){return{baseLanes:s,cachePool:ub()}}function r5(s,l,h){return s=s!==null?s.childLanes&~h:0,l&&(s|=Ki),s}function ab(s,l,h){var v=l.pendingProps,_=!1,T=(l.flags&128)!==0,j;if((j=T)||(j=s!==null&&s.memoizedState===null?!1:(qn.current&2)!==0),j&&(_=!0,l.flags&=-129),j=(l.flags&32)!==0,l.flags&=-33,s===null){if(Mt){if(_?Hi(l):za(),Mt){var Z=Mr,ne;(ne=Z)&&(Z=ID(Z,Va),Z!==null?(l.memoizedState={dehydrated:Z,treeContext:Hl!==null?{id:wo,overflow:xo}:null,retryLane:536870912},ne=n(18,null,null,0),ne.stateNode=Z,ne.return=l,l.child=ne,Gr=l,Mr=null,ne=!0):ne=!1),ne||Y(l)}if(Z=l.memoizedState,Z!==null&&(Z=Z.dehydrated,Z!==null))return X5(Z)?l.lanes=16:l.lanes=536870912,null;ha(l)}return Z=v.children,v=v.fallback,_?(za(),_=l.mode,Z=a5({mode:"hidden",children:Z},_),v=jl(v,_,h,null),Z.return=l,v.return=l,Z.sibling=v,l.child=Z,_=l.child,_.memoizedState=n5(h),_.childLanes=r5(s,j,h),l.memoizedState=o4,v):(Hi(l),i5(l,Z))}if(ne=s.memoizedState,ne!==null&&(Z=ne.dehydrated,Z!==null)){if(T)l.flags&256?(Hi(l),l.flags&=-257,l=o5(s,l,h)):l.memoizedState!==null?(za(),l.child=s.child,l.flags|=128,l=null):(za(),_=v.fallback,Z=l.mode,v=a5({mode:"visible",children:v.children},Z),_=jl(_,Z,h,null),_.flags|=2,v.return=l,_.return=l,v.sibling=_,l.child=v,Gl(l,s.child,null,h),v=l.child,v.memoizedState=n5(h),v.childLanes=r5(s,j,h),l.memoizedState=o4,l=_);else if(Hi(l),X5(Z))j=OD(Z).digest,v=Error(i(419)),v.stack="",v.digest=j,Ae({value:v,source:null,stack:null}),l=o5(s,l,h);else if(ur||Nh(s,l,h,!1),j=(h&s.childLanes)!==0,ur||j){if(j=rn,j!==null){if(v=h&-h,v&42)v=1;else switch(v){case 2:v=1;break;case 8:v=4;break;case 32:v=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:v=64;break;case 268435456:v=134217728;break;default:v=0}if(v=v&(j.suspendedLanes|h)?0:v,v!==0&&v!==ne.retryLane)throw ne.retryLane=v,Re(s,v),Hr(j,s,v),Fw}W5(Z)||k5(),l=o5(s,l,h)}else W5(Z)?(l.flags|=128,l.child=s.child,l=kF.bind(null,s),ED(Z,l),l=null):(s=ne.treeContext,Gi&&(Mr=MD(Z),Gr=l,Mt=!0,ga=null,Va=!1,s!==null&&(Ui[Wi++]=wo,Ui[Wi++]=xo,Ui[Wi++]=Hl,wo=s.id,xo=s.overflow,Hl=l)),l=i5(l,v.children),l.flags|=4096);return l}return _?(za(),_=v.fallback,Z=l.mode,ne=s.child,T=ne.sibling,v=ps(ne,{mode:"hidden",children:v.children}),v.subtreeFlags=ne.subtreeFlags&31457280,T!==null?_=ps(T,_):(_=jl(_,Z,h,null),_.flags|=2),_.return=l,v.return=l,v.sibling=_,l.child=v,v=_,_=l.child,Z=s.child.memoizedState,Z===null?Z=n5(h):(ne=Z.cachePool,ne!==null?(T=bo?Mn._currentValue:Mn._currentValue2,ne=ne.parent!==T?{parent:T,pool:T}:ne):ne=ub(),Z={baseLanes:Z.baseLanes|h,cachePool:ne}),_.memoizedState=Z,_.childLanes=r5(s,j,h),l.memoizedState=o4,v):(Hi(l),h=s.child,s=h.sibling,h=ps(h,{mode:"visible",children:v.children}),h.return=l,h.sibling=null,s!==null&&(j=l.deletions,j===null?(l.deletions=[s],l.flags|=16):j.push(s)),l.child=h,l.memoizedState=null,h)}function i5(s,l){return l=a5({mode:"visible",children:l},s.mode),l.return=s,s.child=l}function a5(s,l){return Zb(s,l,0,null)}function o5(s,l,h){return Gl(l,s.child,null,h),s=i5(l,l.pendingProps.children),s.flags|=2,l.memoizedState=null,s}function ob(s,l,h){s.lanes|=l;var v=s.alternate;v!==null&&(v.lanes|=l),c5(s.return,l,h)}function s5(s,l,h,v,_){var T=s.memoizedState;T===null?s.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:v,tail:h,tailMode:_}:(T.isBackwards=l,T.rendering=null,T.renderingStartTime=0,T.last=v,T.tail=h,T.tailMode=_)}function sb(s,l,h){var v=l.pendingProps,_=v.revealOrder,T=v.tail;if(zn(s,l,v.children,h),v=qn.current,v&2)v=v&1|2,l.flags|=128;else{if(s!==null&&s.flags&128)e:for(s=l.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&ob(s,h,l);else if(s.tag===19)ob(s,h,l);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===l)break e;for(;s.sibling===null;){if(s.return===null||s.return===l)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}v&=1}switch(E(qn,v),_){case"forwards":for(h=l.child,_=null;h!==null;)s=h.alternate,s!==null&&eu(s)===null&&(_=h),h=h.sibling;h=_,h===null?(_=l.child,l.child=null):(_=h.sibling,h.sibling=null),s5(l,!1,_,h,T);break;case"backwards":for(h=null,_=l.child,l.child=null;_!==null;){if(s=_.alternate,s!==null&&eu(s)===null){l.child=_;break}s=_.sibling,_.sibling=h,h=_,_=s}s5(l,!0,h,null,T);break;case"together":s5(l,!1,null,null,void 0);break;default:l.memoizedState=null}return l.child}function go(s,l,h){if(s!==null&&(l.dependencies=s.dependencies),Cs|=l.lanes,!(h&l.childLanes))if(s!==null){if(Nh(s,l,h,!1),(h&l.childLanes)===0)return null}else return null;if(s!==null&&l.child!==s.child)throw Error(i(153));if(l.child!==null){for(s=l.child,h=ps(s,s.pendingProps),l.child=h,h.return=l;s.sibling!==null;)s=s.sibling,h=h.sibling=ps(s,s.pendingProps),h.return=l;h.sibling=null}return l.child}function l5(s,l){return s.lanes&l?!0:(s=s.dependencies,!!(s!==null&&bf(s)))}function vF(s,l,h){switch(l.tag){case 3:ue(l,l.stateNode.containerInfo),us(l,Mn,s.memoizedState.cache),ge();break;case 27:case 5:pe(l);break;case 4:ue(l,l.stateNode.containerInfo);break;case 10:us(l,l.type,l.memoizedProps.value);break;case 13:var v=l.memoizedState;if(v!==null)return v.dehydrated!==null?(Hi(l),l.flags|=128,null):h&l.child.childLanes?ab(s,l,h):(Hi(l),s=go(s,l,h),s!==null?s.sibling:null);Hi(l);break;case 19:var _=(s.flags&128)!==0;if(v=(h&l.childLanes)!==0,v||(Nh(s,l,h,!1),v=(h&l.childLanes)!==0),_){if(v)return sb(s,l,h);l.flags|=128}if(_=l.memoizedState,_!==null&&(_.rendering=null,_.tail=null,_.lastEffect=null),E(qn,qn.current),v)break;return null;case 22:case 23:return l.lanes=0,eb(s,l,h);case 24:us(l,Mn,s.memoizedState.cache)}return go(s,l,h)}function lb(s,l,h){if(s!==null)if(s.memoizedProps!==l.pendingProps)ur=!0;else{if(!l5(s,h)&&!(l.flags&128))return ur=!1,vF(s,l,h);ur=!!(s.flags&131072)}else ur=!1,Mt&&l.flags&1048576&&ae(l,Ff,l.index);switch(l.lanes=0,l.tag){case 16:e:{s=l.pendingProps;var v=l.elementType,_=v._init;if(v=_(v._payload),l.type=v,typeof v=="function")T5(v)?(s=wt(v,s),l.tag=1,l=rb(null,l,v,s,h)):(l.tag=0,l=t5(null,l,v,s,h));else{if(v!=null){if(_=v.$$typeof,_===R5){l.tag=11,l=du(null,l,v,s,h);break e}else if(_===B5){l.tag=14,l=Fh(null,l,v,s,h);break e}}throw l=o(v)||v,Error(i(306,l,""))}}return l;case 0:return t5(s,l,l.type,l.pendingProps,h);case 1:return v=l.type,_=wt(v,l.pendingProps),rb(s,l,v,_,h);case 3:e:{if(ue(l,l.stateNode.containerInfo),s===null)throw Error(i(387));var T=l.pendingProps;_=l.memoizedState,v=_.element,vt(s,l),Or(l,T,null,h);var j=l.memoizedState;if(T=j.cache,us(l,Mn,T),T!==_.cache&&u5(l,[Mn],h,!0),br(),T=j.element,Gi&&_.isDehydrated)if(_={element:T,isDehydrated:!1,cache:j.cache},l.updateQueue.baseState=_,l.memoizedState=_,l.flags&256){l=ib(s,l,T,h);break e}else if(T!==v){v=J(Error(i(424)),l),Ae(v),l=ib(s,l,T,h);break e}else for(Gi&&(Mr=LD(l.stateNode.containerInfo),Gr=l,Mt=!0,ga=null,Va=!0),h=Aw(l,null,T,h),l.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling;else{if(ge(),T===v){l=go(s,l,h);break e}zn(s,l,T,h)}l=l.child}return l;case 26:if(Vi)return Dh(s,l),s===null?(h=Cw(l.type,null,l.pendingProps,null))?l.memoizedState=h:Mt||(l.stateNode=WD(l.type,l.pendingProps,ys.current,l)):l.memoizedState=Cw(l.type,s.memoizedProps,l.pendingProps,s.memoizedState),null;case 27:if(Lr)return pe(l),s===null&&Lr&&Mt&&(v=l.stateNode=kw(l.type,l.pendingProps,ys.current,wr.current,!1),Gr=l,Va=!0,Mr=bw(v)),v=l.pendingProps.children,s!==null||Mt?zn(s,l,v,h):l.child=Gl(l,null,v,h),Dh(s,l),l.child;case 5:return s===null&&Mt&&(GD(l.type,l.pendingProps,wr.current),(_=v=Mr)&&(v=TD(v,l.type,l.pendingProps,Va),v!==null?(l.stateNode=v,Gr=l,Mr=bw(v),Va=!1,_=!0):_=!1),_||Y(l)),pe(l),_=l.type,T=l.pendingProps,j=s!==null?s.memoizedProps:null,v=T.children,Lf(_,T)?v=null:j!==null&&Lf(_,j)&&(l.flags|=32),l.memoizedState!==null&&(_=Ba(s,l,q3,null,null,h),bo?Bl._currentValue=_:Bl._currentValue2=_),Dh(s,l),zn(s,l,v,h),l.child;case 6:return s===null&&Mt&&(VD(l.pendingProps,wr.current),(s=h=Mr)&&(h=AD(h,l.pendingProps,Va),h!==null?(l.stateNode=h,Gr=l,Mr=null,s=!0):s=!1),s||Y(l)),null;case 13:return ab(s,l,h);case 4:return ue(l,l.stateNode.containerInfo),v=l.pendingProps,s===null?l.child=Gl(l,null,v,h):zn(s,l,v,h),l.child;case 11:return du(s,l,l.type,l.pendingProps,h);case 7:return zn(s,l,l.pendingProps,h),l.child;case 8:return zn(s,l,l.pendingProps.children,h),l.child;case 12:return zn(s,l,l.pendingProps.children,h),l.child;case 10:return v=l.pendingProps,us(l,l.type,v.value),zn(s,l,v.children,h),l.child;case 9:return _=l.type._context,v=l.pendingProps.children,Fl(l),_=Pr(_),v=v(_),l.flags|=1,zn(s,l,v,h),l.child;case 14:return Fh(s,l,l.type,l.pendingProps,h);case 15:return J9(s,l,l.type,l.pendingProps,h);case 19:return sb(s,l,h);case 22:return eb(s,l,h);case 24:return Fl(l),v=Pr(Mn),s===null?(_=h5(),_===null&&(_=rn,T=d5(),_.pooledCache=T,T.refCount++,T!==null&&(_.pooledCacheLanes|=h),_=T),l.memoizedState={parent:v,cache:_},ze(l),us(l,Mn,_)):(s.lanes&h&&(vt(s,l),Or(l,null,null,h),br()),_=s.memoizedState,T=l.memoizedState,_.parent!==v?(_={parent:v,cache:v},l.memoizedState=_,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=_),us(l,Mn,v)):(v=T.cache,us(l,Mn,v),v!==_.cache&&u5(l,[Mn],h,!0))),zn(s,l,l.pendingProps.children,h),l.child;case 29:throw l.pendingProps}throw Error(i(156,l.tag))}function us(s,l,h){bo?(E(Gf,l._currentValue),l._currentValue=h):(E(Gf,l._currentValue2),l._currentValue2=h)}function mo(s){var l=Gf.current;bo?s._currentValue=l:s._currentValue2=l,S(Gf)}function c5(s,l,h){for(;s!==null;){var v=s.alternate;if((s.childLanes&l)!==l?(s.childLanes|=l,v!==null&&(v.childLanes|=l)):v!==null&&(v.childLanes&l)!==l&&(v.childLanes|=l),s===h)break;s=s.return}}function u5(s,l,h,v){var _=s.child;for(_!==null&&(_.return=s);_!==null;){var T=_.dependencies;if(T!==null){var j=_.child;T=T.firstContext;e:for(;T!==null;){var Z=T;T=_;for(var ne=0;neJh&&(l.flags|=128,v=!0,jh(_,!1),l.lanes=4194304)}else{if(!v)if(s=eu(T),s!==null){if(l.flags|=128,v=!0,s=s.updateQueue,l.updateQueue=s,Cf(l,s),jh(_,!0),_.tail===null&&_.tailMode==="hidden"&&!T.alternate&&!Mt)return bn(l),null}else 2*pa()-_.renderingStartTime>Jh&&h!==536870912&&(l.flags|=128,v=!0,jh(_,!1),l.lanes=4194304);_.isBackwards?(T.sibling=l.child,l.child=T):(s=_.last,s!==null?s.sibling=T:l.child=T,_.last=T)}return _.tail!==null?(l=_.tail,_.rendering=l,_.tail=l.sibling,_.renderingStartTime=pa(),l.sibling=null,s=qn.current,E(qn,v?s&1|2:s&1),l):(bn(l),null);case 22:case 23:return ha(l),ti(),v=l.memoizedState!==null,s!==null?s.memoizedState!==null!==v&&(l.flags|=8192):v&&(l.flags|=8192),v?h&536870912&&!(l.flags&128)&&(bn(l),l.subtreeFlags&6&&(l.flags|=8192)):bn(l),h=l.updateQueue,h!==null&&Cf(l,h.retryQueue),h=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),v=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(v=l.memoizedState.cachePool.pool),v!==h&&(l.flags|=2048),s!==null&&S(Yl),null;case 24:return h=null,s!==null&&(h=s.memoizedState.cache),l.memoizedState.cache!==h&&(l.flags|=2048),mo(Mn),bn(l),null;case 25:return null}throw Error(i(156,l.tag))}function bF(s,l){switch(oe(l),l.tag){case 1:return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 3:return mo(Mn),Ce(),s=l.flags,s&65536&&!(s&128)?(l.flags=s&-65537|128,l):null;case 26:case 27:case 5:return R(l),null;case 13:if(ha(l),s=l.memoizedState,s!==null&&s.dehydrated!==null){if(l.alternate===null)throw Error(i(340));ge()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 19:return S(qn),null;case 4:return Ce(),null;case 10:return mo(l.type),null;case 22:case 23:return ha(l),ti(),s!==null&&S(Yl),s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 24:return mo(Mn),null;case 25:return null;default:return null}}function gb(s,l){switch(oe(l),l.tag){case 3:mo(Mn),Ce();break;case 26:case 27:case 5:R(l);break;case 4:Ce();break;case 13:ha(l);break;case 19:S(qn);break;case 10:mo(l.type);break;case 22:case 23:ha(l),ti(),s!==null&&S(Yl);break;case 24:mo(Mn)}}function zh(s,l){try{var h=l.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var _=v.next;h=_;do{if((h.tag&s)===s){v=void 0;var T=h.create,j=h.inst;v=T(),j.destroy=v}h=h.next}while(h!==_)}}catch(Z){Bt(l,l.return,Z)}}function ds(s,l,h){try{var v=l.updateQueue,_=v!==null?v.lastEffect:null;if(_!==null){var T=_.next;v=T;do{if((v.tag&s)===s){var j=v.inst,Z=j.destroy;if(Z!==void 0){j.destroy=void 0,_=l;var ne=h;try{Z()}catch(we){Bt(_,ne,we)}}}v=v.next}while(v!==T)}}catch(we){Bt(l,l.return,we)}}function mb(s){var l=s.updateQueue;if(l!==null){var h=s.stateNode;try{Ve(l,h)}catch(v){Bt(s,s.return,v)}}}function vb(s,l,h){h.props=wt(s.type,s.memoizedProps),h.state=s.memoizedState;try{h.componentWillUnmount()}catch(v){Bt(s,l,v)}}function Dl(s,l){try{var h=s.ref;if(h!==null){var v=s.stateNode;switch(s.tag){case 26:case 27:case 5:var _=Gh(v);break;default:_=v}typeof h=="function"?s.refCleanup=h(_):h.current=_}}catch(T){Bt(s,l,T)}}function vi(s,l){var h=s.ref,v=s.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(_){Bt(s,l,_)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(_){Bt(s,l,_)}else h.current=null}function yb(s){var l=s.type,h=s.memoizedProps,v=s.stateNode;try{hD(v,l,h,s)}catch(_){Bt(s,s.return,_)}}function bb(s,l,h){try{fD(s.stateNode,s.type,h,l,s)}catch(v){Bt(s,s.return,v)}}function wb(s){return s.tag===5||s.tag===3||(Vi?s.tag===26:!1)||(Lr?s.tag===27:!1)||s.tag===4}function m5(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||wb(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&(!Lr||s.tag!==27)&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function v5(s,l,h){var v=s.tag;if(v===5||v===6)s=s.stateNode,l?gD(h,s,l):uD(h,s);else if(!(v===4||Lr&&v===27)&&(s=s.child,s!==null))for(v5(s,l,h),s=s.sibling;s!==null;)v5(s,l,h),s=s.sibling}function Sf(s,l,h){var v=s.tag;if(v===5||v===6)s=s.stateNode,l?pD(h,s,l):cD(h,s);else if(!(v===4||Lr&&v===27)&&(s=s.child,s!==null))for(Sf(s,l,h),s=s.sibling;s!==null;)Sf(s,l,h),s=s.sibling}function xb(s,l,h){s=s.containerInfo;try{gw(s,h)}catch(v){Bt(l,l.return,v)}}function wF(s,l){for(GF(s.containerInfo),dr=l;dr!==null;)if(s=dr,l=s.child,(s.subtreeFlags&1028)!==0&&l!==null)l.return=s,dr=l;else for(;dr!==null;){s=dr;var h=s.alternate;switch(l=s.flags,s.tag){case 0:break;case 11:case 15:break;case 1:if(l&1024&&h!==null){l=void 0;var v=s,_=h.memoizedProps;h=h.memoizedState;var T=v.stateNode;try{var j=wt(v.type,_,v.elementType===v.type);l=T.getSnapshotBeforeUpdate(j,h),T.__reactInternalSnapshotBeforeUpdate=l}catch(Z){Bt(v,v.return,Z)}}break;case 3:l&1024&&kr&&CD(s.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(l&1024)throw Error(i(163))}if(l=s.sibling,l!==null){l.return=s.return,dr=l;break}dr=s.return}return j=Rw,Rw=!1,j}function Cb(s,l,h){var v=h.flags;switch(h.tag){case 0:case 11:case 15:vo(s,h),v&4&&zh(5,h);break;case 1:if(vo(s,h),v&4)if(s=h.stateNode,l===null)try{s.componentDidMount()}catch(Z){Bt(h,h.return,Z)}else{var _=wt(h.type,l.memoizedProps);l=l.memoizedState;try{s.componentDidUpdate(_,l,s.__reactInternalSnapshotBeforeUpdate)}catch(Z){Bt(h,h.return,Z)}}v&64&&mb(h),v&512&&Dl(h,h.return);break;case 3:if(vo(s,h),v&64&&(v=h.updateQueue,v!==null)){if(s=null,h.child!==null)switch(h.child.tag){case 27:case 5:s=Gh(h.child.stateNode);break;case 1:s=h.child.stateNode}try{Ve(v,s)}catch(Z){Bt(h,h.return,Z)}}break;case 26:if(Vi){vo(s,h),v&512&&Dl(h,h.return);break}case 27:case 5:vo(s,h),l===null&&v&4&&yb(h),v&512&&Dl(h,h.return);break;case 12:vo(s,h);break;case 13:vo(s,h),v&4&&_b(s,h);break;case 22:if(_=h.memoizedState!==null||_o,!_){l=l!==null&&l.memoizedState!==null||Tn;var T=_o,j=Tn;_o=_,(Tn=l)&&!j?hs(s,h,(h.subtreeFlags&8772)!==0):vo(s,h),_o=T,Tn=j}v&512&&(h.memoizedProps.mode==="manual"?Dl(h,h.return):vi(h,h.return));break;default:vo(s,h)}}function Sb(s){var l=s.alternate;l!==null&&(s.alternate=null,Sb(l)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(l=s.stateNode,l!==null&&$F(l)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function fa(s,l,h){for(h=h.child;h!==null;)y5(s,l,h),h=h.sibling}function y5(s,l,h){if(Ci&&typeof Ci.onCommitFiberUnmount=="function")try{Ci.onCommitFiberUnmount(Wh,h)}catch(T){}switch(h.tag){case 26:if(Vi){Tn||vi(h,l),fa(s,l,h),h.memoizedState?_w(h.memoizedState):h.stateNode&&Ew(h.stateNode);break}case 27:if(Lr){Tn||vi(h,l);var v=Wn,_=_i;Wn=h.stateNode,fa(s,l,h),qD(h.stateNode),Wn=v,_i=_;break}case 5:Tn||vi(h,l);case 6:if(kr){if(v=Wn,_=_i,Wn=null,fa(s,l,h),Wn=v,_i=_,Wn!==null)if(_i)try{vD(Wn,h.stateNode)}catch(T){Bt(h,l,T)}else try{mD(Wn,h.stateNode)}catch(T){Bt(h,l,T)}}else fa(s,l,h);break;case 18:kr&&Wn!==null&&(_i?HD(Wn,h.stateNode):BD(Wn,h.stateNode));break;case 4:kr?(v=Wn,_=_i,Wn=h.stateNode.containerInfo,_i=!0,fa(s,l,h),Wn=v,_i=_):(vs&&xb(h.stateNode,h,fw()),fa(s,l,h));break;case 0:case 11:case 14:case 15:Tn||ds(2,h,l),Tn||ds(4,h,l),fa(s,l,h);break;case 1:Tn||(vi(h,l),v=h.stateNode,typeof v.componentWillUnmount=="function"&&vb(h,l,v)),fa(s,l,h);break;case 21:fa(s,l,h);break;case 22:Tn||vi(h,l),Tn=(v=Tn)||h.memoizedState!==null,fa(s,l,h),Tn=v;break;default:fa(s,l,h)}}function _b(s,l){if(Gi&&l.memoizedState===null&&(s=l.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null))))try{zD(s)}catch(h){Bt(l,l.return,h)}}function xF(s){switch(s.tag){case 13:case 19:var l=s.stateNode;return l===null&&(l=s.stateNode=new Nw),l;case 22:return s=s.stateNode,l=s._retryCache,l===null&&(l=s._retryCache=new Nw),l;default:throw Error(i(435,s.tag))}}function b5(s,l){var h=xF(s);l.forEach(function(v){var _=LF.bind(null,s,v);h.has(v)||(h.add(v),v.then(_,_))})}function ii(s,l){var h=l.deletions;if(h!==null)for(var v=0;v";case Uf:return":has("+(_5(s)||"")+")";case Wf:return'[role="'+s.value+'"]';case Yf:return'"'+s.value+'"';case Xf:return'[data-testname="'+s.value+'"]';default:throw Error(i(365))}}function Ab(s,l){var h=[];s=[s,0];for(var v=0;vh?32:h;h=$e.T;var _=zl();try{if(ai(v),$e.T=null,Zl===null)var T=!1;else{v=f4,f4=null;var j=Zl,Z=e0;if(Zl=null,e0=0,Wt&6)throw Error(i(331));var ne=Wt;if(Wt|=4,Mb(j.current),Pb(j,j.current,Z,v),Wt=ne,Ot(0,!1),Ci&&typeof Ci.onPostCommitFiberRoot=="function")try{Ci.onPostCommitFiberRoot(Wh,j)}catch(we){}T=!0}return T}finally{ai(_),$e.T=h,Wb(s,l)}}return!1}function Xb(s,l,h){l=J(h,l),l=Vt(s.stateNode,l,2),s=Ge(s,l,2),s!==null&&(N(s,2),tt(s))}function Bt(s,l,h){if(s.tag===3)Xb(s,s,h);else for(;l!==null;){if(l.tag===3){Xb(l,s,h);break}else if(l.tag===1){var v=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(Ss===null||!Ss.has(v))){s=J(h,s),h=ri(2),v=Ge(l,h,2),v!==null&&(Er(h,v,l,s),N(v,2),tt(v));break}}l=l.return}}function M5(s,l,h){var v=s.pingCache;if(v===null){v=s.pingCache=new hN;var _=new Set;v.set(l,_)}else _=v.get(l),_===void 0&&(_=new Set,v.set(l,_));_.has(h)||(l4=!0,_.add(h),s=PF.bind(null,s,l,h),l.then(s,s))}function PF(s,l,h){var v=s.pingCache;v!==null&&v.delete(l),s.pingedLanes|=s.suspendedLanes&h,s.warmLanes&=~h,rn===s&&(_t&h)===h&&(An===4||An===3&&(_t&62914560)===_t&&300>pa()-d4?!(Wt&2)&&pu(s,0):c4|=h,Du===_t&&(Du=0)),tt(s)}function Yb(s,l){l===0&&(l=D()),s=Re(s,l),s!==null&&(N(s,l),tt(s))}function kF(s){var l=s.memoizedState,h=0;l!==null&&(h=l.retryLane),Yb(s,h)}function LF(s,l){var h=0;switch(s.tag){case 13:var v=s.stateNode,_=s.memoizedState;_!==null&&(h=_.retryLane);break;case 19:v=s.stateNode;break;case 22:v=s.stateNode._retryCache;break;default:throw Error(i(314))}v!==null&&v.delete(l),Yb(s,h)}function MF(s,l){return Af(s,l)}function TF(s,l,h,v){this.tag=s,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function T5(s){return s=s.prototype,!(!s||!s.isReactComponent)}function ps(s,l){var h=s.alternate;return h===null?(h=n(s.tag,l,s.key,s.mode),h.elementType=s.elementType,h.type=s.type,h.stateNode=s.stateNode,h.alternate=s,s.alternate=h):(h.pendingProps=l,h.type=s.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=s.flags&31457280,h.childLanes=s.childLanes,h.lanes=s.lanes,h.child=s.child,h.memoizedProps=s.memoizedProps,h.memoizedState=s.memoizedState,h.updateQueue=s.updateQueue,l=s.dependencies,h.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},h.sibling=s.sibling,h.index=s.index,h.ref=s.ref,h.refCleanup=s.refCleanup,h}function Kb(s,l){s.flags&=31457282;var h=s.alternate;return h===null?(s.childLanes=0,s.lanes=l,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=h.childLanes,s.lanes=h.lanes,s.child=h.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=h.memoizedProps,s.memoizedState=h.memoizedState,s.updateQueue=h.updateQueue,s.type=h.type,l=h.dependencies,s.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),s}function Ef(s,l,h,v,_,T){var j=0;if(v=s,typeof s=="function")T5(s)&&(j=1);else if(typeof s=="string")j=Vi&&Lr?xw(s,h,wr.current)?26:Lw(s)?27:5:Vi?xw(s,h,wr.current)?26:5:Lr&&Lw(s)?27:5;else e:switch(s){case vu:return jl(h.children,_,T,l);case tw:j=8,_|=24;break;case N5:return s=n(12,h,l,_|2),s.elementType=N5,s.lanes=T,s;case j5:return s=n(13,h,l,_),s.elementType=j5,s.lanes=T,s;case z5:return s=n(19,h,l,_),s.elementType=z5,s.lanes=T,s;case rw:return Zb(h,_,T,l);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case DF:case gs:j=10;break e;case nw:j=9;break e;case R5:j=11;break e;case B5:j=14;break e;case ms:j=16,v=null;break e}j=29,h=Error(i(130,s===null?"null":typeof s,"")),v=null}return l=n(j,h,l,_),l.elementType=s,l.type=v,l.lanes=T,l}function jl(s,l,h,v){return s=n(7,s,v,l),s.lanes=h,s}function Zb(s,l,h,v){s=n(22,s,v,l),s.elementType=rw,s.lanes=h;var _={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var T=_._current;if(T===null)throw Error(i(456));if(!(_._pendingVisibility&2)){var j=Re(T,2);j!==null&&(_._pendingVisibility|=2,Hr(j,T,2))}},attach:function(){var T=_._current;if(T===null)throw Error(i(456));if(_._pendingVisibility&2){var j=Re(T,2);j!==null&&(_._pendingVisibility&=-3,Hr(j,T,2))}}};return s.stateNode=_,s}function A5(s,l,h){return s=n(6,s,null,l),s.lanes=h,s}function I5(s,l,h){return l=n(4,s.children!==null?s.children:[],s.key,l),l.lanes=h,l.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},l}function AF(s,l,h,v,_,T,j,Z){this.tag=1,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=U5,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=M(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=M(0),this.hiddenUpdates=M(null),this.identifierPrefix=v,this.onUncaughtError=_,this.onCaughtError=T,this.onRecoverableError=j,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Z,this.incompleteTransitions=new Map}function $b(s,l,h,v,_,T,j,Z,ne,we,Ee,Te){return s=new AF(s,l,h,j,Z,ne,we,Te),l=1,T===!0&&(l|=24),T=n(3,null,null,l),s.current=T,T.stateNode=s,l=d5(),l.refCount++,s.pooledCache=l,l.refCount++,T.memoizedState={element:v,isDehydrated:h,cache:l},ze(T),s}function qb(s){return s?(s=wu,s):wu}function Qb(s){var l=s._reactInternals;if(l===void 0)throw typeof s.render=="function"?Error(i(188)):(s=Object.keys(s).join(","),Error(i(268,s)));return s=g(l),s=s!==null?y(s):null,s===null?null:Gh(s.stateNode)}function Jb(s,l,h,v,_,T){_=qb(_),v.context===null?v.context=_:v.pendingContext=_,v=We(l),v.payload={element:h},T=T===void 0?null:T,T!==null&&(v.callback=T),h=Ge(s,v,l),h!==null&&(Hr(h,s,l),at(h,s,l))}function ew(s,l){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var h=s.retryLane;s.retryLane=h!==0&&h=we&&T>=Te&&_<=Ee&&j<=Fe){s.splice(l,1);break}else if(v!==we||h.width!==ne.width||Fej){if(!(T!==Te||h.height!==ne.height||Ee_)){we>v&&(ne.width+=we-v,ne.x=v),Ee<_&&(ne.width=_-we),s.splice(l,1);break}}else{Te>T&&(ne.height+=Te-T,ne.y=T),Feh&&(h=Z)),Z ")+"\n\nNo matching component was found for:\n ")+s.join(" > ")}return null},pt.getPublicRootInstance=function(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 27:case 5:return Gh(s.child.stateNode);default:return s.child.stateNode}},pt.injectIntoDevTools=function(){var s={bundleType:0,version:jF,rendererPackageName:zF,currentDispatcherRef:$e,findFiberByHostInstance:cw,reconcilerVersion:"19.0.0"};if(ow!==null&&(s.rendererConfig=ow),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")s=!1;else{var l=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(l.isDisabled||!l.supportsFiber)s=!0;else{try{Wh=l.inject(s),Ci=l}catch(h){}s=!!l.checkDCE}}return s},pt.isAlreadyRendering=function(){return!1},pt.observeVisibleRects=function(s,l,h,v){if(!Vh)throw Error(i(363));s=O5(s,l);var _=lD(s,h,v).disconnect;return{disconnect:function(){_()}}},pt.shouldError=function(){return null},pt.shouldSuspend=function(){return!1},pt.startHostTransition=function(s,l,h,v){if(s.tag!==5)throw Error(i(476));var _=Ga(s).queue;Ah(s,_,l,yu,h===null?r:function(){var T=Ga(s).next.queue;return Al(s,T,{},bi()),h(v)})},pt.updateContainer=function(s,l,h,v){var _=l.current,T=bi();return Jb(_,T,s,l,h,v),T},pt.updateContainerSync=function(s,l,h,v){return l.tag===0&&Rl(),Jb(l.current,2,s,l,h,v),2},pt},e.exports.default=e.exports,Object.defineProperty(e.exports,"__esModule",{value:!0})})(lT);var LU=lT.exports;sT.exports=LU;var MU=sT.exports;const TU=mh(MU);var uT={exports:{}},Is={};Is.ConcurrentRoot=1,Is.ContinuousEventPriority=8,Is.DefaultEventPriority=32,Is.DiscreteEventPriority=2,Is.IdleEventPriority=268435456,Is.LegacyRoot=0,Is.NoEventPriority=0,uT.exports=Is;var _7=uT.exports;const TS={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let AS=!1,IS=!1;const O7=".react-konva-event";let dT=!1;function AU(e){dT=e}const IU="ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.\nPosition of a node will be changed during drag&drop, so you should update state of the react app as well.\nConsider to add onDragMove or onDragEnd events.\nFor more info see: https://github.com/konvajs/react-konva/issues/256\n",FU='ReactKonva: You are using "zIndex" attribute for a Konva node.\nreact-konva may get confused with ordering. Just define correct order of elements in your render function of a component.\nFor more info see: https://github.com/konvajs/react-konva/issues/194\n',DU={};function T3(e,t,n=DU){if(!AS&&"zIndex"in t&&(console.warn(FU),AS=!0),!IS&&t.draggable){var r=t.x!==void 0||t.y!==void 0,i=t.onDragEnd||t.onDragMove;r&&!i&&(console.warn(IU),IS=!0)}for(var a in n)if(!TS[a]){var o=a.slice(0,2)==="on",c=n[a]!==t[a];if(o&&c){var u=a.substr(2).toLowerCase();u.substr(0,7)==="content"&&(u="content"+u.substr(7,1).toUpperCase()+u.substr(8)),e.off(u,n[a])}var d=!t.hasOwnProperty(a);d&&e.setAttr(a,void 0)}var f=dT||t._useStrictMode,w={},m=!1;const g={};for(var a in t)if(!TS[a]){var o=a.slice(0,2)==="on",y=n[a]!==t[a];if(o&&y){var u=a.substr(2).toLowerCase();u.substr(0,7)==="content"&&(u="content"+u.substr(7,1).toUpperCase()+u.substr(8)),t[a]&&(g[u]=t[a])}!o&&(t[a]!==n[a]||f&&t[a]!==e.getAttr(a))&&(m=!0,w[a]=t[a])}m&&(e.setAttrs(w),xl(e));for(var u in g)e.on(u+O7,g[u])}function xl(e){if(!lt.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}var Dv=cT();const hT={},NU={};L1.Node.prototype._applyProps=T3;let A3=_7.DefaultEventPriority;function RU(e,t){if(typeof t=="string"){console.error("Do not use plain text as child of Konva.Node. You are using text: ".concat(t));return}e.add(t),xl(e)}function jU(e,t,n){let r=L1[e];r||(console.error("Konva has no node with the type ".concat(e,'. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/').concat(e,'" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html')),r=L1.Group);const i={},a={};for(var o in t){var c=o.slice(0,2)==="on";c?a[o]=t[o]:i[o]=t[o]}const u=new r(i);return T3(u,a),u}function zU(e,t,n){console.error('Text components are not supported for now in ReactKonva. Your text is: "'.concat(e,'"'))}function BU(e,t,n){return!1}function HU(e){return e}function GU(){return null}function VU(){return null}function UU(e,t,n,r){return NU}function WU(){}function XU(e){}function YU(e,t){return!1}function KU(){return hT}function ZU(){return hT}const $U=setTimeout,qU=clearTimeout,QU=-1;function JU(e,t){return!1}const eW=!1,tW=!0,nW=!0,rW=!1,iW=!1;function aW(e,t){t.parent===e?t.moveToTop():e.add(t),xl(e)}function oW(e,t){t.parent===e?t.moveToTop():e.add(t),xl(e)}function fT(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),xl(e)}function sW(e,t,n){fT(e,t,n)}function lW(e,t){t.destroy(),t.off(O7),xl(e)}function cW(e,t){t.destroy(),t.off(O7),xl(e)}function uW(e,t,n){console.error('Text components are not yet supported in ReactKonva. You text is: "'.concat(n,'"'))}function dW(e,t,n){}function hW(e,t,n,r){T3(e,r,n)}function fW(e){e.hide(),xl(e)}function pW(e){}function gW(e,t){(t.visible==null||t.visible)&&e.show()}function mW(e,t){}function vW(e){}function yW(){}function bW(){return A3}function wW(){}function xW(){return null}function CW(e){A3=e}function SW(){return A3}function _W(){return A3||_7.DefaultEventPriority}function OW(){return!1}function EW(){}function PW(){return!1}function kW(){return!0}function LW(){}function MW(){}function TW(){return null}const AW=null;function IW(){}const FW=Object.freeze(Object.defineProperty({__proto__:null,NotPendingTransition:AW,appendChild:aW,appendChildToContainer:oW,appendInitialChild:RU,cancelTimeout:qU,clearContainer:vW,commitMount:dW,commitTextUpdate:uW,commitUpdate:hW,createInstance:jU,createTextInstance:zU,detachDeletedInstance:yW,finalizeInitialChildren:BU,getChildHostContext:ZU,getCurrentEventPriority:bW,getCurrentUpdatePriority:SW,getInstanceFromScope:xW,getPublicInstance:HU,getRootHostContext:KU,hideInstance:fW,hideTextInstance:pW,idlePriority:Dv.unstable_IdlePriority,insertBefore:fT,insertInContainerBefore:sW,isPrimaryRenderer:eW,maySuspendCommit:PW,noTimeout:QU,now:Dv.unstable_now,preloadInstance:kW,prepareForCommit:GU,preparePortalMount:VU,prepareScopeUpdate:wW,prepareUpdate:UU,removeChild:lW,removeChildFromContainer:cW,requestPostPaintCallback:EW,resetAfterCommit:WU,resetFormInstance:IW,resetTextContent:XU,resolveUpdatePriority:_W,run:Dv.unstable_runWithPriority,scheduleTimeout:$U,setCurrentUpdatePriority:CW,shouldAttemptEagerTransition:OW,shouldDeprioritizeSubtree:YU,shouldSetTextContent:JU,startSuspendingCommit:LW,supportsHydration:iW,supportsMutation:nW,supportsPersistence:rW,suspendInstance:MW,unhideInstance:gW,unhideTextInstance:mW,waitForCommitToBeReady:TW,warnsIfNotActing:tW},Symbol.toStringTag,{value:"Module"}));var DW=Object.defineProperty,NW=Object.defineProperties,RW=Object.getOwnPropertyDescriptors,FS=Object.getOwnPropertySymbols,jW=Object.prototype.hasOwnProperty,zW=Object.prototype.propertyIsEnumerable,DS=(e,t,n)=>t in e?DW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NS=(e,t)=>{for(var n in t||(t={}))jW.call(t,n)&&DS(e,n,t[n]);if(FS)for(var n of FS(t))zW.call(t,n)&&DS(e,n,t[n]);return e},BW=(e,t)=>NW(e,RW(t)),RS,jS;typeof window<"u"&&((RS=window.document)!=null&&RS.createElement||((jS=window.navigator)==null?void 0:jS.product)==="ReactNative")?B.useLayoutEffect:B.useEffect;function pT(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=e.child;for(;r;){const i=pT(r,t,n);if(i)return i;r=r.sibling}}function gT(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(t){return e}}const zS=console.error;console.error=function(){const e=[...arguments].join("");if(e!=null&&e.startsWith("Warning:")&&e.includes("useContext")){console.error=zS;return}return zS.apply(this,arguments)};const E7=gT(B.createContext(null));class mT extends B.Component{render(){return B.createElement(E7.Provider,{value:this._reactInternals},this.props.children)}}function HW(){const e=B.useContext(E7);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=B.useId();return B.useMemo(()=>{for(const n of[e,e==null?void 0:e.alternate]){if(!n)continue;const r=pT(n,!1,i=>{let a=i.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(r)return r}},[e,t])}function GW(){const e=HW(),[t]=B.useState(()=>new Map);t.clear();let n=e;for(;n;){if(n.type&&typeof n.type=="object"){const r=n.type._context===void 0&&n.type.Provider===n.type?n.type:n.type._context;r&&r!==E7&&!t.has(r)&&t.set(r,B.useContext(gT(r)))}n=n.return}return t}function VW(){const e=GW();return B.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>B.createElement(t,null,B.createElement(n.Provider,BW(NS({},r),{value:e.get(n)}))),t=>B.createElement(mT,NS({},t))),[e])}function UW(e){const t=b.useRef({});return b.useLayoutEffect(()=>{t.current=e}),b.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const WW=e=>{const t=b.useRef(null),n=b.useRef(null),r=b.useRef(null),i=UW(e),a=VW(),o=c=>{const{forwardedRef:u}=e;u&&(typeof u=="function"?u(c):u.current=c)};return b.useLayoutEffect(()=>(n.current=new L1.Stage({width:e.width,height:e.height,container:t.current}),o(n.current),r.current=H0.createContainer(n.current,_7.ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,null),H0.updateContainer(b.createElement(a,{},e.children),r.current,null,()=>{}),()=>{L1.isBrowser&&(o(null),H0.updateContainer(null,r.current,null),n.current.destroy())}),[]),b.useLayoutEffect(()=>{o(n.current),T3(n.current,e,i),H0.updateContainer(b.createElement(a,{},e.children),r.current,null)}),b.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},P7="Layer",XW="Group",k7="Rect",vT="Ellipse",YW="Line",I3="Image",KW="Text",ZW="RegularPolygon",$W="Arrow",yT="Transformer",H0=TU(FW);H0.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:b.version,rendererPackageName:"react-konva"});const bT=b.forwardRef((e,t)=>b.createElement(mT,{},b.createElement(WW,qf(Xn({},e),{forwardedRef:t})))),qW=AU;var e8=function(e,t,n,r){return Math.min(e/n,t/r)||1},wm="FIE_root",QW="FIE_design-layer",wT="FIE_transformers-layer",xT="FIE_original-image",CT="FIE_nodes-transformer",ml="watermark",t8="353297d2-40b4-4684-a875-45a2178a8157",ST=.92,en={FINETUNE:"Finetune",FILTERS:"Filters",ADJUST:"Adjust",WATERMARK:"Watermark",ANNOTATE:"Annotate",RESIZE:"Resize"},se={CROP:"Crop",ROTATE:"Rotate",FLIP_X:"Flip_X",FLIP_Y:"Flip_Y",BRIGHTNESS:"Brightness",CONTRAST:"Contrast",HSV:"HueSaturationValue",WARMTH:"Warmth",BLUR:"Blur",THRESHOLD:"Threshold",POSTERIZE:"Posterize",PIXELATE:"Pixelate",NOISE:"Noise",FILTERS:"Filters",RECT:"Rect",ELLIPSE:"Ellipse",POLYGON:"Polygon",TEXT:"Text",LINE:"Line",IMAGE:"Image",ARROW:"Arrow",WATERMARK:"Watermark",PEN:"Pen",RESIZE:"Resize"},L7={X:"X",Y:"Y"},Fa=1,ih=["png","jpeg","jpg","webp"],JW=[].concat(ih,["svg","gif","avif","apng"]),BS=ih[0],Wo={DEFAULT:"default",DRAW:"crosshair",SELECT:"pointer",MOVE:"move",DRAG:"GRAB"},M7="Crop",_T="custom",Zc="ellipse",Yn={TOP_LEFT:"top-left",TOP_CENTER:"top-center",TOP_RIGHT:"top-right",MIDDLE_LEFT:"middle-left",MIDDLE_CENTER:"middle-center",MIDDLE_RIGHT:"middle-right",BOTTOM_LEFT:"bottom-left",BOTTOM_CENTER:"bottom-center",BOTTOM_RIGHT:"bottom-right"},HS={WIDTH:14,HEIGHT:14},OT={AFTER_SAVE:"after-saving",CLOSE_BUTTON:"close-button-clicked",BACK_BUTTON:"back-button-clicked"},ah={WARNING:"warning",ERROR:"error"},GS={top:"north",bottom:"south",left:"west",center:"center",right:"east"},eX={northwest:"top-left",northcenter:"top-center",northeast:"top-right",centerwest:"center-left",centercenter:"center-center",centereast:"center-right",southwest:"bottom-left",southcenter:"bottom-center",southeast:"bottom-right"},tX=function(e,t){var n=2{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(ht);var kn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=ht;class n{constructor(x=[1,0,0,1,0,0]){this.dirty=!1,this.m=x&&x.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(x){x.m[0]=this.m[0],x.m[1]=this.m[1],x.m[2]=this.m[2],x.m[3]=this.m[3],x.m[4]=this.m[4],x.m[5]=this.m[5]}point(x){var O=this.m;return{x:O[0]*x.x+O[2]*x.y+O[4],y:O[1]*x.x+O[3]*x.y+O[5]}}translate(x,O){return this.m[4]+=this.m[0]*x+this.m[2]*O,this.m[5]+=this.m[1]*x+this.m[3]*O,this}scale(x,O){return this.m[0]*=x,this.m[1]*=x,this.m[2]*=O,this.m[3]*=O,this}rotate(x){var O=Math.cos(x),k=Math.sin(x),I=this.m[0]*O+this.m[2]*k,L=this.m[1]*O+this.m[3]*k,D=this.m[0]*-k+this.m[2]*O,M=this.m[1]*-k+this.m[3]*O;return this.m[0]=I,this.m[1]=L,this.m[2]=D,this.m[3]=M,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(x,O){var k=this.m[0]+this.m[2]*O,I=this.m[1]+this.m[3]*O,L=this.m[2]+this.m[0]*x,D=this.m[3]+this.m[1]*x;return this.m[0]=k,this.m[1]=I,this.m[2]=L,this.m[3]=D,this}multiply(x){var O=this.m[0]*x.m[0]+this.m[2]*x.m[1],k=this.m[1]*x.m[0]+this.m[3]*x.m[1],I=this.m[0]*x.m[2]+this.m[2]*x.m[3],L=this.m[1]*x.m[2]+this.m[3]*x.m[3],D=this.m[0]*x.m[4]+this.m[2]*x.m[5]+this.m[4],M=this.m[1]*x.m[4]+this.m[3]*x.m[5]+this.m[5];return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}invert(){var x=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),O=this.m[3]*x,k=-this.m[1]*x,I=-this.m[2]*x,L=this.m[0]*x,D=x*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),M=x*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=O,this.m[1]=k,this.m[2]=I,this.m[3]=L,this.m[4]=D,this.m[5]=M,this}getMatrix(){return this.m}decompose(){var x=this.m[0],O=this.m[1],k=this.m[2],I=this.m[3],L=this.m[4],D=this.m[5],M=x*I-O*k;let N={x:L,y:D,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(x!=0||O!=0){var z=Math.sqrt(x*x+O*O);N.rotation=O>0?Math.acos(x/z):-Math.acos(x/z),N.scaleX=z,N.scaleY=M/z,N.skewX=(x*k+O*I)/M,N.skewY=0}else if(k!=0||I!=0){var H=Math.sqrt(k*k+I*I);N.rotation=Math.PI/2-(I>0?Math.acos(-k/H):-Math.acos(k/H)),N.scaleX=M/H,N.scaleY=H,N.skewX=0,N.skewY=(x*k+O*I)/M}return N.rotation=e.Util._getRotation(N.rotation),N}}e.Transform=n;var r="[object Array]",i="[object Number]",a="[object String]",o="[object Boolean]",c=Math.PI/180,u=180/Math.PI,d="#",f="",w="0",m="Konva warning: ",g="Konva error: ",y="rgb(",C={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},P=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,S=[];const E=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(p){setTimeout(p,60)};e.Util={_isElement(p){return!!(p&&p.nodeType==1)},_isFunction(p){return!!(p&&p.constructor&&p.call&&p.apply)},_isPlainObject(p){return!!p&&p.constructor===Object},_isArray(p){return Object.prototype.toString.call(p)===r},_isNumber(p){return Object.prototype.toString.call(p)===i&&!isNaN(p)&&isFinite(p)},_isString(p){return Object.prototype.toString.call(p)===a},_isBoolean(p){return Object.prototype.toString.call(p)===o},isObject(p){return p instanceof Object},isValidSelector(p){if(typeof p!="string")return!1;var x=p[0];return x==="#"||x==="."||x===x.toUpperCase()},_sign(p){return p===0||p>0?1:-1},requestAnimFrame(p){S.push(p),S.length===1&&E(function(){const x=S;S=[],x.forEach(function(O){O()})})},createCanvasElement(){var p=document.createElement("canvas");try{p.style=p.style||{}}catch(x){}return p},createImageElement(){return document.createElement("img")},_isInDocument(p){for(;p=p.parentNode;)if(p==document)return!0;return!1},_urlToImage(p,x){var O=e.Util.createImageElement();O.onload=function(){x(O)},O.src=p},_rgbToHex(p,x,O){return((1<<24)+(p<<16)+(x<<8)+O).toString(16).slice(1)},_hexToRgb(p){p=p.replace(d,f);var x=parseInt(p,16);return{r:x>>16&255,g:x>>8&255,b:x&255}},getRandomColor(){for(var p=(Math.random()*16777215<<0).toString(16);p.length<6;)p=w+p;return d+p},getRGB(p){var x;return p in C?(x=C[p],{r:x[0],g:x[1],b:x[2]}):p[0]===d?this._hexToRgb(p.substring(1)):p.substr(0,4)===y?(x=P.exec(p.replace(/ /g,"")),{r:parseInt(x[1],10),g:parseInt(x[2],10),b:parseInt(x[3],10)}):{r:0,g:0,b:0}},colorToRGBA(p){return p=p||"black",e.Util._namedColorToRBA(p)||e.Util._hex3ColorToRGBA(p)||e.Util._hex4ColorToRGBA(p)||e.Util._hex6ColorToRGBA(p)||e.Util._hex8ColorToRGBA(p)||e.Util._rgbColorToRGBA(p)||e.Util._rgbaColorToRGBA(p)||e.Util._hslColorToRGBA(p)},_namedColorToRBA(p){var x=C[p.toLowerCase()];return x?{r:x[0],g:x[1],b:x[2],a:1}:null},_rgbColorToRGBA(p){if(p.indexOf("rgb(")===0){p=p.match(/rgb\(([^)]+)\)/)[1];var x=p.split(/ *, */).map(Number);return{r:x[0],g:x[1],b:x[2],a:1}}},_rgbaColorToRGBA(p){if(p.indexOf("rgba(")===0){p=p.match(/rgba\(([^)]+)\)/)[1];var x=p.split(/ *, */).map((O,k)=>O.slice(-1)==="%"?k===3?parseInt(O)/100:parseInt(O)/100*255:Number(O));return{r:x[0],g:x[1],b:x[2],a:x[3]}}},_hex8ColorToRGBA(p){if(p[0]==="#"&&p.length===9)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:parseInt(p.slice(7,9),16)/255}},_hex6ColorToRGBA(p){if(p[0]==="#"&&p.length===7)return{r:parseInt(p.slice(1,3),16),g:parseInt(p.slice(3,5),16),b:parseInt(p.slice(5,7),16),a:1}},_hex4ColorToRGBA(p){if(p[0]==="#"&&p.length===5)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:parseInt(p[4]+p[4],16)/255}},_hex3ColorToRGBA(p){if(p[0]==="#"&&p.length===4)return{r:parseInt(p[1]+p[1],16),g:parseInt(p[2]+p[2],16),b:parseInt(p[3]+p[3],16),a:1}},_hslColorToRGBA(p){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(p)){const[x,...O]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(p),k=Number(O[0])/360,I=Number(O[1])/100,L=Number(O[2])/100;let D,M,N;if(I===0)return N=L*255,{r:Math.round(N),g:Math.round(N),b:Math.round(N),a:1};L<.5?D=L*(1+I):D=L+I-L*I;const z=2*L-D,H=[0,0,0];for(let W=0;W<3;W++)M=k+1/3*-(W-1),M<0&&M++,M>1&&M--,6*M<1?N=z+(D-z)*6*M:2*M<1?N=D:3*M<2?N=z+(D-z)*(2/3-M)*6:N=z,H[W]=N*255;return{r:Math.round(H[0]),g:Math.round(H[1]),b:Math.round(H[2]),a:1}}},haveIntersection(p,x){return!(x.x>p.x+p.width||x.x+x.widthp.y+p.height||x.y+x.height1?(D=O,M=k,N=(O-I)*(O-I)+(k-L)*(k-L)):(D=p+H*(O-p),M=x+H*(k-x),N=(D-I)*(D-I)+(M-L)*(M-L))}return[D,M,N]},_getProjectionToLine(p,x,O){var k=e.Util.cloneObject(p),I=Number.MAX_VALUE;return x.forEach(function(L,D){if(!(!O&&D===x.length-1)){var M=x[(D+1)%x.length],N=e.Util._getProjectionToSegment(L.x,L.y,M.x,M.y,p.x,p.y),z=N[0],H=N[1],W=N[2];Wx.length){var D=x;x=p,p=D}for(k=0;k{x.width=0,x.height=0})},drawRoundedRectPath(p,x,O,k){let I=0,L=0,D=0,M=0;typeof k=="number"?I=L=D=M=Math.min(k,x/2,O/2):(I=Math.min(k[0]||0,x/2,O/2),L=Math.min(k[1]||0,x/2,O/2),M=Math.min(k[2]||0,x/2,O/2),D=Math.min(k[3]||0,x/2,O/2)),p.moveTo(I,0),p.lineTo(x-L,0),p.arc(x-L,L,L,Math.PI*3/2,0,!1),p.lineTo(x,O-M),p.arc(x-M,O-M,M,0,Math.PI/2,!1),p.lineTo(D,O),p.arc(D,O-D,D,Math.PI/2,Math.PI,!1),p.lineTo(0,I),p.arc(I,I,I,Math.PI,Math.PI*3/2,!1)}}})(kn);var vn={},Je={},je={};Object.defineProperty(je,"__esModule",{value:!0}),je.getComponentValidator=je.getBooleanValidator=je.getNumberArrayValidator=je.getFunctionValidator=je.getStringOrGradientValidator=je.getStringValidator=je.getNumberOrAutoValidator=je.getNumberOrArrayOfNumbersValidator=I7=je.getNumberValidator=je.alphaComponent=je.RGBComponent=void 0;const is=ht,Rn=kn;function as(e){return Rn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Rn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function iX(e){return e>255?255:e<0?0:Math.round(e)}je.RGBComponent=iX;function aX(e){return e>1?1:e<1e-4?1e-4:e}je.alphaComponent=aX;function oX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isNumber(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}var I7=je.getNumberValidator=oX;function sX(e){if(is.Konva.isUnminified)return function(t,n){let r=Rn.Util._isNumber(t),i=Rn.Util._isArray(t)&&t.length==e;return!r&&!i&&Rn.Util.warn(as(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}je.getNumberOrArrayOfNumbersValidator=sX;function lX(){if(is.Konva.isUnminified)return function(e,t){var n=Rn.Util._isNumber(e),r=e==="auto";return n||r||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}je.getNumberOrAutoValidator=lX;function cX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isString(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}je.getStringValidator=cX;function uX(){if(is.Konva.isUnminified)return function(e,t){const n=Rn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}je.getStringOrGradientValidator=uX;function dX(){if(is.Konva.isUnminified)return function(e,t){return Rn.Util._isFunction(e)||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}je.getFunctionValidator=dX;function hX(){if(is.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Rn.Util._isArray(e)?e.forEach(function(r){Rn.Util._isNumber(r)||Rn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}je.getNumberArrayValidator=hX;function fX(){if(is.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Rn.Util.warn(as(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}je.getBooleanValidator=fX;function pX(e){if(is.Konva.isUnminified)return function(t,n){return t==null||Rn.Util.isObject(t)||Rn.Util.warn(as(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}je.getComponentValidator=pX,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=kn,n=je;var r="get",i="set";e.Factory={addGetterSetter(a,o,c,u,d){e.Factory.addGetter(a,o,c),e.Factory.addSetter(a,o,u,d),e.Factory.addOverloadedGetterSetter(a,o)},addGetter(a,o,c){var u=r+t.Util._capitalize(o);a.prototype[u]=a.prototype[u]||function(){var d=this.attrs[o];return d===void 0?c:d}},addSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]||e.Factory.overWriteSetter(a,o,c,u)},overWriteSetter(a,o,c,u){var d=i+t.Util._capitalize(o);a.prototype[d]=function(f){return c&&f!==void 0&&f!==null&&(f=c.call(this,f,o)),this._setAttr(o,f),u&&u.call(this),this}},addComponentsGetterSetter(a,o,c,u,d){var f=c.length,w=t.Util._capitalize,m=r+w(o),g=i+w(o),y,C;a.prototype[m]=function(){var S={};for(y=0;y{this._setAttr(o+w(x),void 0)}),this._fireChangeEvent(o,E,S),d&&d.call(this),this},e.Factory.addOverloadedGetterSetter(a,o)},addOverloadedGetterSetter(a,o){var c=t.Util._capitalize(o),u=i+c,d=r+c;a.prototype[o]=function(){return arguments.length?(this[u](arguments[0]),this):this[d]()}},addDeprecatedGetterSetter(a,o,c,u){t.Util.error("Adding deprecated "+o);var d=r+t.Util._capitalize(o),f=o+" property is deprecated and will be removed soon. Look at Konva change log for more information.";a.prototype[d]=function(){t.Util.error(f);var w=this.attrs[o];return w===void 0?c:w},e.Factory.addSetter(a,o,u,function(){t.Util.error(f)}),e.Factory.addOverloadedGetterSetter(a,o)},backCompat(a,o){t.Util.each(o,function(c,u){var d=a.prototype[u],f=r+t.Util._capitalize(c),w=i+t.Util._capitalize(c);function m(){d.apply(this,arguments),t.Util.error('"'+c+'" method is deprecated and will be removed soon. Use ""'+u+'" instead.')}a.prototype[c]=m,a.prototype[f]=m,a.prototype[w]=m})},afterSetFilter(){this._filterUpToDate=!1}}}(Je);var La={},Xo={};Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.HitContext=Xo.SceneContext=Xo.Context=void 0;const MT=kn,gX=ht;function mX(e){var t=[],n=e.length,r=MT.Util,i,a;for(i=0;itypeof f=="number"?Math.floor(f):f)),a+=vX+d.join(YS)+yX)):(a+=c.property,t||(a+=SX+c.val)),a+=xX;return a}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=OX&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,a,o){this._context.arc(t,n,r,i,a,o)}arcTo(t,n,r,i,a){this._context.arcTo(t,n,r,i,a)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,a,o){this._context.bezierCurveTo(t,n,r,i,a,o)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,a,o){return this._context.createRadialGradient(t,n,r,i,a,o)}drawImage(t,n,r,i,a,o,c,u,d){var f=arguments,w=this._context;f.length===3?w.drawImage(t,n,r):f.length===5?w.drawImage(t,n,r,i,a):f.length===9&&w.drawImage(t,n,r,i,a,o,c,u,d)}ellipse(t,n,r,i,a,o,c,u){this._context.ellipse(t,n,r,i,a,o,c,u)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}roundRect(t,n,r,i,a){this._context.roundRect(t,n,r,i,a)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,a,o){this._context.setTransform(t,n,r,i,a,o)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,a,o){this._context.transform(t,n,r,i,a,o)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=KS.length,r=this.setAttr,i,a,o=function(c){var u=t[c],d;t[c]=function(){return a=mX(Array.prototype.slice.call(arguments,0)),d=u.apply(t,arguments),t._trace({method:c,args:a}),d}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((a,o)=>{const{node:c}=a,u=c.getStage();u.setPointersPositions(r),a.pointerId===void 0&&(a.pointerId=n.Util._getFirstPointerId(r));const d=u._changedPointerPositions.find(m=>m.id===a.pointerId);if(d){if(a.dragStatus!=="dragging"){var f=c.dragDistance(),w=Math.max(Math.abs(d.x-a.startPointerPos.x),Math.abs(d.y-a.startPointerPos.y));if(w{a.fire("dragmove",{type:"dragmove",target:a,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(a=>{const{node:o}=a,c=o.getStage();if(r&&c.setPointersPositions(r),!c._changedPointerPositions.find(d=>d.id===a.pointerId))return;(a.dragStatus==="dragging"||a.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,a.dragStatus="stopped");const u=a.node.getLayer()||a.node instanceof t.Konva.Stage&&a.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(a=>{a.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,a)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(a)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(F3),Object.defineProperty(vn,"__esModule",{value:!0}),vn.Node=void 0;const bt=kn,G0=Je,y0=La,Fs=ht,Qi=F3,Hn=je;var Z2="absoluteOpacity",Hp="allEventListeners",jo="absoluteTransform",ZS="absoluteScale",sc="canvas",IX="Change",FX="children",DX="konva",n8="listening",$S="mouseenter",qS="mouseleave",QS="set",JS="Shape",$2=" ",e_="stage",Xs="transform",NX="Stage",r8="visible",RX=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join($2);let jX=1;class Ze{constructor(t){this._id=jX++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Xs||t===jo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===Xs||t===jo,a=r===void 0||i&&r.dirty===!0;return a&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(a=>a+"Change.konva").join($2);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(sc)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===jo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(sc)){const{scene:t,filter:n,hit:r}=this._cache.get(sc);bt.Util.releaseCanvas(t,n,r),this._cache.delete(sc)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0}));var i=Math.ceil(n.width||r.width),a=Math.ceil(n.height||r.height),o=n.pixelRatio,c=n.x===void 0?Math.floor(r.x):n.x,u=n.y===void 0?Math.floor(r.y):n.y,d=n.offset||0,f=n.drawBorder||!1,w=n.hitCanvasPixelRatio||1;if(!i||!a){bt.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}const m=Math.abs(Math.round(r.x)-c)>.5?1:0,g=Math.abs(Math.round(r.y)-u)>.5?1:0;i+=d*2+m,a+=d*2+g,c-=d,u-=d;var y=new y0.SceneCanvas({pixelRatio:o,width:i,height:a}),C=new y0.SceneCanvas({pixelRatio:o,width:0,height:0,willReadFrequently:!0}),P=new y0.HitCanvas({pixelRatio:w,width:i,height:a}),S=y.getContext(),E=P.getContext();return P.isCache=!0,y.isCache=!0,this._cache.delete(sc),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(y.getContext()._context.imageSmoothingEnabled=!1,C.getContext()._context.imageSmoothingEnabled=!1),S.save(),E.save(),S.translate(-c,-u),E.translate(-c,-u),this._isUnderCache=!0,this._clearSelfAndDescendantCache(Z2),this._clearSelfAndDescendantCache(ZS),this.drawScene(y,this),this.drawHit(P,this),this._isUnderCache=!1,S.restore(),E.restore(),f&&(S.save(),S.beginPath(),S.rect(0,0,i,a),S.closePath(),S.setAttr("strokeStyle","red"),S.setAttr("lineWidth",5),S.stroke(),S.restore()),this._cache.set(sc,{scene:y,filter:C,hit:P,x:c,y:u}),this._requestDraw(),this}isCached(){return this._cache.has(sc)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i=1/0,a=1/0,o=-1/0,c=-1/0,u=this.getAbsoluteTransform(n);return r.forEach(function(d){var f=u.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),{x:i,y:a,width:o-i,height:c-a}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,a=i.getContext(),o,c,u,d;if(t){if(!this._filterUpToDate){var f=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(o=t.length,a.clear(),a.drawImage(r._canvas,0,0,r.getWidth()/f,r.getHeight()/f),c=a.getImageData(0,0,i.getWidth(),i.getHeight()),u=0;u{var n,r;if(!t)return this;for(n in t)n!==FX&&(r=QS+bt.Util._capitalize(n),bt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(n8,this._isListening)}_isListening(t){if(!this.listening())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isListening(t):!0}isVisible(){return this._getCache(r8,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const n=this.getParent();return n&&n!==t&&this!==t?n._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Qi.DD._dragElements.forEach(o=>{o.dragStatus==="dragging"&&(o.node.nodeType==="Stage"||o.node.getLayer()===r)&&(i=!0)});var a=!n&&!Fs.Konva.hitOnDragEnabled&&(i||Fs.Konva.isTransforming());return this.isListening()&&this.isVisible()&&!a}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,a,o,c;function u(f){for(i=[],a=f.length,o=0;o0&&i[0].getDepth()<=t&&u(i)}const d=this.getStage();return n.nodeType!==NX&&d&&u(d.getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Xs),this._clearSelfAndDescendantCache(jo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){const t=this.getStage();if(!t)return null;var n=t.getPointerPosition();if(!n)return null;var r=this.getAbsoluteTransform().copy();return r.invert(),r.point(n)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),a=new bt.Transform,o=this.offset();return a.m=i.slice(),a.translate(o.x,o.y),a.getTranslation()}setAbsolutePosition(t){const o=this._clearTransform(),{x:n,y:r}=o,i=g4(o,["x","y"]);this.attrs.x=n,this.attrs.y=r,this._clearCache(Xs);var a=this._getAbsoluteTransform().copy();return a.invert(),a.translate(t.x,t.y),t={x:this.attrs.x+a.getTranslation().x,y:this.attrs.y+a.getTranslation().y},this._setTransform(i),this.setPosition({x:t.x,y:t.y}),this._clearCache(Xs),this._clearSelfAndDescendantCache(jo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),a=this.y();return n!==void 0&&(i+=n),r!==void 0&&(a+=r),this.setPosition({x:i,y:a}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),a,o;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(a=r.length,o=0;o0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return bt.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return bt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&bt.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(Z2,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t=this.getAttrs(),n,r,i,a,o;const c={attrs:{},className:this.getClassName()};for(n in t)r=t[n],o=bt.Util.isObject(r)&&!bt.Util._isPlainObject(r)&&!bt.Util._isArray(r),!o&&(i=typeof this[n]=="function"&&this[n],delete t[n],a=i?i.call(this):null,t[n]=r,a!==r&&(c.attrs[n]=r));return bt.Util._prepareToStringify(c)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var a=this.parent;a;){if(a===r)return i;a._isMatch(t)&&i.push(a),a=a.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,a;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,bt.Util._urlToImage(this.toDataURL(t),function(a){n(a),i==null||i(a)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(a=>{n(a),i==null||i(a)},t==null?void 0:t.mimeType,t==null?void 0:t.quality)}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Fs.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],a,o,c;for(a=0;a=0;if(r&&!this.isDragging()){var i=!1;Qi.DD._dragElements.forEach(a=>{this.isAncestorOf(a.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Qi.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Qi.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return bt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return bt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Ze.prototype.getClassName.call(t),i=t.children,a,o,c;n&&(t.attrs.container=n),Fs.Konva[r]||(bt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const u=Fs.Konva[r];if(a=new u(t.attrs),i)for(o=i.length,c=0;c0}removeChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(e=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(var t=0;t0?t[0]:void 0}_generalFind(e,t){var n=[];return this._descendants(r=>{const i=r._isMatch(e);return i&&n.push(r),!!(i&&t)}),n}_descendants(e){let t=!1;const n=this.getChildren();for(const r of n)if(t=e(r),t||r.hasChildren()&&(t=r._descendants(e),t))return!0;return!1}toObject(){var e=Nv.Node.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach(t=>{e.children.push(t.toObject())}),e}isAncestorOf(e){for(var t=e.getParent();t;){if(t._id===this._id)return!0;t=t.getParent()}return!1}clone(e){var t=Nv.Node.prototype.clone.call(this,e);return this.getChildren().forEach(function(n){t.add(n.clone())}),t}getAllIntersections(e){var t=[];return this.find("Shape").forEach(n=>{n.isVisible()&&n.intersects(e)&&t.push(n)}),t}_clearSelfAndDescendantCache(e){var t;super._clearSelfAndDescendantCache(e),!this.isCached()&&((t=this.children)===null||t===void 0||t.forEach(function(n){n._clearSelfAndDescendantCache(e)}))}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(t,n){t.index=n}),this._requestDraw()}drawScene(e,t,n){var r=this.getLayer(),i=e||r&&r.getCanvas(),a=i&&i.getContext(),o=this._getCanvasCache(),c=o&&o.scene,u=i&&i.isCache;if(!this.isVisible()&&!u)return this;if(c){a.save();var d=this.getAbsoluteTransform(t).getMatrix();a.transform(d[0],d[1],d[2],d[3],d[4],d[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",i,t,n);return this}drawHit(e,t){if(!this.shouldDrawHit(t))return this;var n=this.getLayer(),r=e||n&&n.hitCanvas,i=r&&r.getContext(),a=this._getCanvasCache(),o=a&&a.hit;if(o){i.save();var c=this.getAbsoluteTransform(t).getMatrix();i.transform(c[0],c[1],c[2],c[3],c[4],c[5]),this._drawCachedHitCanvas(i),i.restore()}else this._drawChildren("drawHit",r,t);return this}_drawChildren(e,t,n,r){var i,a=t&&t.getContext(),o=this.clipWidth(),c=this.clipHeight(),u=this.clipFunc(),d=typeof o=="number"&&typeof c=="number"||u;const f=n===this;if(d){a.save();var w=this.getAbsoluteTransform(n),m=w.getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5]),a.beginPath();let P;if(u)P=u.call(this,a,this);else{var g=this.clipX(),y=this.clipY();a.rect(g||0,y||0,o,c)}a.clip.apply(a,P),m=w.copy().invert().getMatrix(),a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}var C=!f&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";C&&(a.save(),a._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(P){P[e](t,n,r)}),C&&a.restore(),d&&a.restore()}getClientRect(e={}){var t,n=e.skipTransform,r=e.relativeTo,i,a,o,c,u={x:1/0,y:1/0,width:0,height:0},d=this;(t=this.children)===null||t===void 0||t.forEach(function(y){if(y.visible()){var C=y.getClientRect({relativeTo:d,skipShadow:e.skipShadow,skipStroke:e.skipStroke});C.width===0&&C.height===0||(i===void 0?(i=C.x,a=C.y,o=C.x+C.width,c=C.y+C.height):(i=Math.min(i,C.x),a=Math.min(a,C.y),o=Math.max(o,C.x+C.width),c=Math.max(c,C.y+C.height)))}});for(var f=this.find("Shape"),w=!1,m=0;mpe.indexOf("pointer")>=0?"pointer":pe.indexOf("touch")>=0?"touch":"mouse",ie=pe=>{const R=ae(pe);if(R==="pointer")return i.Konva.pointerEventsEnabled&&Q.pointer;if(R==="touch")return Q.touch;if(R==="mouse")return Q.mouse};function oe(pe={}){return(pe.clipFunc||pe.clipWidth||pe.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),pe}const ue="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class Ce extends r.Container{constructor(R){super(oe(R)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{oe(this.attrs)}),this._checkVisibility()}_validateAdd(R){const Y=R.getType()==="Layer",re=R.getType()==="FastLayer";Y||re||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const R=this.visible()?"":"none";this.content.style.display=R}setContainer(R){if(typeof R===f){if(R.charAt(0)==="."){var Y=R.slice(1);R=document.getElementsByClassName(Y)[0]}else{var re;R.charAt(0)!=="#"?re=R:re=R.slice(1),R=document.getElementById(re)}if(!R)throw"Can not find container in document with id "+re}return this._setAttr("container",R),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),R.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var R=this.children,Y=R.length,re;for(re=0;re-1&&e.stages.splice(Y,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const R=this._pointerPositions[0]||this._changedPointerPositions[0];return R?{x:R.x,y:R.y}:(t.Util.warn(ue),null)}_getPointerById(R){return this._pointerPositions.find(Y=>Y.id===R)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(R){R=R||{},R.x=R.x||0,R.y=R.y||0,R.width=R.width||this.width(),R.height=R.height||this.height();var Y=new a.SceneCanvas({width:R.width,height:R.height,pixelRatio:R.pixelRatio||1}),re=Y.getContext()._context,be=this.children;return(R.x||R.y)&&re.translate(-1*R.x,-1*R.y),be.forEach(function(xe){if(xe.isVisible()){var ge=xe._toKonvaCanvas(R);re.drawImage(ge._canvas,R.x,R.y,ge.getWidth()/ge.getPixelRatio(),ge.getHeight()/ge.getPixelRatio())}}),Y}getIntersection(R){if(!R)return null;var Y=this.children,re=Y.length,be=re-1,xe;for(xe=be;xe>=0;xe--){const ge=Y[xe].getIntersection(R);if(ge)return ge}return null}_resizeDOM(){var R=this.width(),Y=this.height();this.content&&(this.content.style.width=R+w,this.content.style.height=Y+w),this.bufferCanvas.setSize(R,Y),this.bufferHitCanvas.setSize(R,Y),this.children.forEach(re=>{re.setSize({width:R,height:Y}),re.draw()})}add(R,...Y){if(arguments.length>1){for(var re=0;reU&&t.Util.warn("The stage has "+be+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),R.setSize({width:this.width(),height:this.height()}),R.draw(),i.Konva.isBrowser&&this.content.appendChild(R.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(R){return u.hasPointerCapture(R,this)}setPointerCapture(R){u.setPointerCapture(R,this)}releaseCapture(R){u.releaseCapture(R,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&J.forEach(([R,Y])=>{this.content.addEventListener(R,re=>{this[Y](re)},{passive:!1})})}_pointerenter(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerenter,{evt:R,target:this,currentTarget:this})}_pointerover(R){this.setPointersPositions(R);const Y=ie(R.type);Y&&this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this})}_getTargetShape(R){let Y=this[R+"targetShape"];return Y&&!Y.getStage()&&(Y=null),Y}_pointerleave(R){const Y=ie(R.type),re=ae(R.type);if(Y){this.setPointersPositions(R);var be=this._getTargetShape(re),xe=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;be&&xe?(be._fireAndBubble(Y.pointerout,{evt:R}),be._fireAndBubble(Y.pointerleave,{evt:R}),this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this[re+"targetShape"]=null):xe&&(this._fire(Y.pointerleave,{evt:R,target:this,currentTarget:this}),this._fire(Y.pointerout,{evt:R,target:this,currentTarget:this})),this.pointerPos=null,this._pointerPositions=[]}}_pointerdown(R){const Y=ie(R.type),re=ae(R.type);if(Y){this.setPointersPositions(R);var be=!1;this._changedPointerPositions.forEach(xe=>{var ge=this.getIntersection(xe);if(o.DD.justDragged=!1,i.Konva["_"+re+"ListenClick"]=!0,!ge||!ge.isListening())return;i.Konva.capturePointerEventsEnabled&&ge.setPointerCapture(xe.id),this[re+"ClickStartShape"]=ge,ge._fireAndBubble(Y.pointerdown,{evt:R,pointerId:xe.id}),be=!0;const Ae=R.type.indexOf("touch")>=0;ge.preventDefault()&&R.cancelable&&Ae&&R.preventDefault()}),be||this._fire(Y.pointerdown,{evt:R,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;i.Konva.isDragging()&&o.DD.node.preventDefault()&&R.cancelable&&R.preventDefault(),this.setPointersPositions(R);var be=!(i.Konva.isDragging()||i.Konva.isTransforming())||i.Konva.hitOnDragEnabled;if(!be)return;var xe={};let ge=!1;var Ae=this._getTargetShape(re);this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie),et=Ie.id,Re={evt:R,pointerId:et};var rt=Ae!==Me;if(rt&&Ae&&(Ae._fireAndBubble(Y.pointerout,Xn({},Re),Me),Ae._fireAndBubble(Y.pointerleave,Xn({},Re),Me)),Me){if(xe[Me._id])return;xe[Me._id]=!0}Me&&Me.isListening()?(ge=!0,rt&&(Me._fireAndBubble(Y.pointerover,Xn({},Re),Ae),Me._fireAndBubble(Y.pointerenter,Xn({},Re),Ae),this[re+"targetShape"]=Me),Me._fireAndBubble(Y.pointermove,Xn({},Re))):Ae&&(this._fire(Y.pointerover,{evt:R,target:this,currentTarget:this,pointerId:et}),this[re+"targetShape"]=null)}),ge||this._fire(Y.pointermove,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(R){const Y=ie(R.type),re=ae(R.type);if(!Y)return;this.setPointersPositions(R);const be=this[re+"ClickStartShape"],xe=this[re+"ClickEndShape"];var ge={};let Ae=!1;this._changedPointerPositions.forEach(Ie=>{const Me=u.getCapturedShape(Ie.id)||this.getIntersection(Ie);if(Me){if(Me.releaseCapture(Ie.id),ge[Me._id])return;ge[Me._id]=!0}const et=Ie.id,Re={evt:R,pointerId:et};let rt=!1;i.Konva["_"+re+"InDblClickWindow"]?(rt=!0,clearTimeout(this[re+"DblTimeout"])):o.DD.justDragged||(i.Konva["_"+re+"InDblClickWindow"]=!0,clearTimeout(this[re+"DblTimeout"])),this[re+"DblTimeout"]=setTimeout(function(){i.Konva["_"+re+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Me&&Me.isListening()?(Ae=!0,this[re+"ClickEndShape"]=Me,Me._fireAndBubble(Y.pointerup,Xn({},Re)),i.Konva["_"+re+"ListenClick"]&&be&&be===Me&&(Me._fireAndBubble(Y.pointerclick,Xn({},Re)),rt&&xe&&xe===Me&&Me._fireAndBubble(Y.pointerdblclick,Xn({},Re)))):(this[re+"ClickEndShape"]=null,i.Konva["_"+re+"ListenClick"]&&this._fire(Y.pointerclick,{evt:R,target:this,currentTarget:this,pointerId:et}),rt&&this._fire(Y.pointerdblclick,{evt:R,target:this,currentTarget:this,pointerId:et}))}),Ae||this._fire(Y.pointerup,{evt:R,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+re+"ListenClick"]=!1,R.cancelable&&re!=="touch"&&R.preventDefault()}_contextmenu(R){this.setPointersPositions(R);var Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(z,{evt:R}):this._fire(z,{evt:R,target:this,currentTarget:this})}_wheel(R){this.setPointersPositions(R);var Y=this.getIntersection(this.getPointerPosition());Y&&Y.isListening()?Y._fireAndBubble(q,{evt:R}):this._fire(q,{evt:R,target:this,currentTarget:this})}_pointercancel(R){this.setPointersPositions(R);const Y=u.getCapturedShape(R.pointerId)||this.getIntersection(this.getPointerPosition());Y&&Y._fireAndBubble(O,u.createEvent(R)),u.releaseCapture(R.pointerId)}_lostpointercapture(R){u.releaseCapture(R.pointerId)}setPointersPositions(R){var Y=this._getContentPosition(),re=null,be=null;R=R||window.event,R.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(R.touches,xe=>{this._pointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})}),Array.prototype.forEach.call(R.changedTouches||R.touches,xe=>{this._changedPointerPositions.push({id:xe.identifier,x:(xe.clientX-Y.left)/Y.scaleX,y:(xe.clientY-Y.top)/Y.scaleY})})):(re=(R.clientX-Y.left)/Y.scaleX,be=(R.clientY-Y.top)/Y.scaleY,this.pointerPos={x:re,y:be},this._pointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}],this._changedPointerPositions=[{x:re,y:be,id:t.Util._getFirstPointerId(R)}])}_setPointerPosition(R){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(R)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var R=this.content.getBoundingClientRect();return{top:R.top,left:R.left,scaleX:R.width/this.content.clientWidth||1,scaleY:R.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new a.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new a.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var R=this.container();if(!R)throw"Stage has no container. A container is required.";R.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),R.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(R){R.batchDraw()}),this}}e.Stage=Ce,Ce.prototype.nodeType=d,(0,c._registerNode)(Ce),n.Factory.addGetterSetter(Ce,"container")}(IT);var T1={},lr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=ht,n=kn,r=Je,i=vn,a=je,o=ht,c=Mi;var u="hasShadow",d="shadowRGBA",f="patternImage",w="linearGradient",m="radialGradient";let g;function y(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function C(D){const M=this.attrs.fillRule;M?D.fill(M):D.fill()}function P(D){D.stroke()}function S(D){D.fill()}function E(D){D.stroke()}function p(){this._clearCache(u)}function x(){this._clearCache(d)}function O(){this._clearCache(f)}function k(){this._clearCache(w)}function I(){this._clearCache(m)}class L extends i.Node{constructor(M){super(M);let N;for(;N=n.Util.getRandomColor(),!(N&&!(N in e.shapes)););this.colorKey=N,e.shapes[N]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(u,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(f,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var M=y();const N=M.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(N&&N.setTransform){const z=new n.Transform;z.translate(this.fillPatternX(),this.fillPatternY()),z.rotate(t.Konva.getAngle(this.fillPatternRotation())),z.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),z.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const H=z.getMatrix(),W=typeof DOMMatrix>"u"?{a:H[0],b:H[1],c:H[2],d:H[3],e:H[4],f:H[5]}:new DOMMatrix(H);N.setTransform(W)}return N}}_getLinearGradient(){return this._getCache(w,this.__getLinearGradient)}__getLinearGradient(){var M=this.fillLinearGradientColorStops();if(M){for(var N=y(),z=this.fillLinearGradientStartPoint(),H=this.fillLinearGradientEndPoint(),W=N.createLinearGradient(z.x,z.y,H.x,H.y),K=0;Kthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const M=this.hitStrokeWidth();return M==="auto"?this.hasStroke():this.strokeEnabled()&&!!M}intersects(M){var N=this.getStage();if(!N)return!1;const z=N.bufferHitCanvas;return z.getContext().clear(),this.drawHit(z,void 0,!0),z.context.getImageData(Math.round(M.x),Math.round(M.y),1,1).data[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(M){var N;if(!(!((N=this.attrs.perfectDrawEnabled)!==null&&N!==void 0)||N))return!1;const z=M||this.hasFill(),H=this.hasStroke(),W=this.getAbsoluteOpacity()!==1;if(z&&H&&W)return!0;const K=this.hasShadow(),G=this.shadowForStrokeEnabled();return!!(z&&H&&K&&G)}setStrokeHitEnabled(M){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),M?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var M=this.size();return{x:this._centroid?-M.width/2:0,y:this._centroid?-M.height/2:0,width:M.width,height:M.height}}getClientRect(M={}){const N=M.skipTransform,z=M.relativeTo,H=this.getSelfRect(),W=!M.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,K=H.width+W,G=H.height+W,q=!M.skipShadow&&this.hasShadow(),U=q?this.shadowOffsetX():0,J=q?this.shadowOffsetY():0,Q=K+Math.abs(U),ae=G+Math.abs(J),ie=q&&this.shadowBlur()||0,oe=Q+ie*2,ue=ae+ie*2,Ce={width:oe,height:ue,x:-(W/2+ie)+Math.min(U,0)+H.x,y:-(W/2+ie)+Math.min(J,0)+H.y};return N?Ce:this._transformedRect(Ce,z)}drawScene(M,N,z){var H=this.getLayer(),W=M||H.getCanvas(),K=W.getContext(),G=this._getCanvasCache(),q=this.getSceneFunc(),U=this.hasShadow(),J,Q,ae=W.isCache,ie=N===this;if(!this.isVisible()&&!ie)return this;if(G){K.save();var oe=this.getAbsoluteTransform(N).getMatrix();return K.transform(oe[0],oe[1],oe[2],oe[3],oe[4],oe[5]),this._drawCachedSceneCanvas(K),K.restore(),this}if(!q)return this;if(K.save(),this._useBufferCanvas()&&!ae){J=this.getStage();const pe=z||J.bufferCanvas;Q=pe.getContext(),Q.clear(),Q.save(),Q._applyLineJoin(this);var ue=this.getAbsoluteTransform(N).getMatrix();Q.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),q.call(this,Q,this),Q.restore();var Ce=pe.pixelRatio;U&&K._applyShadow(this),K._applyOpacity(this),K._applyGlobalCompositeOperation(this),K.drawImage(pe._canvas,0,0,pe.width/Ce,pe.height/Ce)}else{if(K._applyLineJoin(this),!ie){var ue=this.getAbsoluteTransform(N).getMatrix();K.transform(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]),K._applyOpacity(this),K._applyGlobalCompositeOperation(this)}U&&K._applyShadow(this),q.call(this,K,this)}return K.restore(),this}drawHit(M,N,z=!1){if(!this.shouldDrawHit(N,z))return this;var H=this.getLayer(),W=M||H.hitCanvas,K=W&&W.getContext(),G=this.hitFunc()||this.sceneFunc(),q=this._getCanvasCache(),U=q&&q.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),U){K.save();var J=this.getAbsoluteTransform(N).getMatrix();return K.transform(J[0],J[1],J[2],J[3],J[4],J[5]),this._drawCachedHitCanvas(K),K.restore(),this}if(!G)return this;if(K.save(),K._applyLineJoin(this),this!==N){var Q=this.getAbsoluteTransform(N).getMatrix();K.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}return G.call(this,K,this),K.restore(),this}drawHitFromCache(M=0){var N=this._getCanvasCache(),z=this._getCachedSceneCanvas(),H=N.hit,W=H.getContext(),K=H.getWidth(),G=H.getHeight(),q,U,J,Q,ae,ie;W.clear(),W.drawImage(z._canvas,0,0,K,G);try{for(q=W.getImageData(0,0,K,G),U=q.data,J=U.length,Q=n.Util._hexToRgb(this.colorKey),ae=0;aeM?(U[ae]=Q.r,U[ae+1]=Q.g,U[ae+2]=Q.b,U[ae+3]=255):U[ae+3]=0;W.putImageData(q,0,0)}catch(oe){n.Util.error("Unable to draw hit graph from cached scene canvas. "+oe.message)}return this}hasPointerCapture(M){return c.hasPointerCapture(M,this)}setPointerCapture(M){c.setPointerCapture(M,this)}releaseCapture(M){c.releaseCapture(M,this)}}e.Shape=L,L.prototype._fillFunc=C,L.prototype._strokeFunc=P,L.prototype._fillFuncHit=S,L.prototype._strokeFuncHit=E,L.prototype._centroid=!1,L.prototype.nodeType="Shape",(0,o._registerNode)(L),L.prototype.eventListeners={},L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",p),L.prototype.on.call(L.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",x),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",O),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",k),L.prototype.on.call(L.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",I),r.Factory.addGetterSetter(L,"stroke",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"strokeWidth",2,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(L,"hitStrokeWidth","auto",(0,a.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(L,"strokeHitEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"perfectDrawEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"shadowForStrokeEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(L,"lineJoin"),r.Factory.addGetterSetter(L,"lineCap"),r.Factory.addGetterSetter(L,"sceneFunc"),r.Factory.addGetterSetter(L,"hitFunc"),r.Factory.addGetterSetter(L,"dash"),r.Factory.addGetterSetter(L,"dashOffset",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowColor",void 0,(0,a.getStringValidator)()),r.Factory.addGetterSetter(L,"shadowBlur",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOpacity",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(L,"shadowOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"shadowOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternImage"),r.Factory.addGetterSetter(L,"fill",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(L,"fillPatternX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(L,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(L,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(L,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(L,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(L,"fillEnabled",!0),r.Factory.addGetterSetter(L,"strokeEnabled",!0),r.Factory.addGetterSetter(L,"shadowEnabled",!0),r.Factory.addGetterSetter(L,"dashEnabled",!0),r.Factory.addGetterSetter(L,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(L,"fillPriority","color"),r.Factory.addComponentsGetterSetter(L,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(L,"fillPatternScaleX",1,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(L,"fillPatternScaleY",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(L,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(L,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(L,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(L,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(L,"fillPatternRotation",0),r.Factory.addGetterSetter(L,"fillRule",void 0,(0,a.getStringValidator)()),r.Factory.backCompat(L,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(lr),Object.defineProperty(T1,"__esModule",{value:!0}),T1.Layer=void 0;const Mo=kn,Rv=Xc,Zu=vn,jv=Je,t_=La,VX=je,UX=lr,WX=ht;var XX="#",YX="beforeDraw",KX="draw",NT=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],ZX=NT.length;class $u extends Rv.Container{constructor(t){super(t),this.canvas=new t_.SceneCanvas,this.hitCanvas=new t_.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(YX,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Rv.Container.prototype.drawScene.call(this,i,n),this._fire(KX,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Rv.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){Mo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return Mo.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return Mo.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}T1.Layer=$u,$u.prototype.nodeType="Layer",(0,WX._registerNode)($u),jv.Factory.addGetterSetter($u,"imageSmoothingEnabled",!0),jv.Factory.addGetterSetter($u,"clearBeforeDraw",!0),jv.Factory.addGetterSetter($u,"hitGraphEnabled",!0,(0,VX.getBooleanValidator)());var Om={};Object.defineProperty(Om,"__esModule",{value:!0}),Om.FastLayer=void 0;const $X=kn,qX=T1,QX=ht;class zv extends qX.Layer{constructor(t){super(t),this.listening(!1),$X.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}Om.FastLayer=zv,zv.prototype.nodeType="FastLayer",(0,QX._registerNode)(zv);var oh={};Object.defineProperty(oh,"__esModule",{value:!0}),oh.Group=void 0;const JX=kn,eY=Xc,tY=ht;class Bv extends eY.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&JX.Util.throw("You may only add groups and shapes to groups.")}}oh.Group=Bv,Bv.prototype.nodeType="Group",(0,tY._registerNode)(Bv);var sh={};Object.defineProperty(sh,"__esModule",{value:!0}),sh.Animation=void 0;const Hv=ht,n_=kn,Gv=function(){return Hv.glob.performance&&Hv.glob.performance.now?function(){return Hv.glob.performance.now()}:function(){return new Date().getTime()}}();class no{constructor(t,n){this.id=no.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Gv(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){let n=[];return t&&(n=Array.isArray(t)?t:[t]),this.layers=n,this}getLayers(){return this.layers}addLayer(t){const n=this.layers,r=n.length;for(let i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():y<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=y,this.update())}getTime(){return this._time}setPosition(y){this.prevPos=this._pos,this.propFunc(y),this._pos=y}getPosition(y){return y===void 0&&(y=this._time),this.func(y,this.begin,this._change,this.duration)}play(){this.state=c,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=u,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(y){this.pause(),this._time=y,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var y=this.getTimer()-this._startTime;this.state===c?this.setTime(y):this.state===u&&this.setTime(this.duration-y)}pause(){this.state=o,this.fire("onPause")}getTimer(){return new Date().getTime()}}class m{constructor(y){var C=this,P=y.node,S=P._id,E,p=y.easing||e.Easings.Linear,x=!!y.yoyo,O;typeof y.duration>"u"?E=.3:y.duration===0?E=.001:E=y.duration,this.node=P,this._id=d++;var k=P.getLayer()||(P instanceof i.Konva.Stage?P.getLayers():null);k||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){C.tween.onEnterFrame()},k),this.tween=new w(O,function(I){C._tweenFunc(I)},p,0,1,E*1e3,x),this._addListeners(),m.attrs[S]||(m.attrs[S]={}),m.attrs[S][this._id]||(m.attrs[S][this._id]={}),m.tweens[S]||(m.tweens[S]={});for(O in y)a[O]===void 0&&this._addAttr(O,y[O]);this.reset(),this.onFinish=y.onFinish,this.onReset=y.onReset,this.onUpdate=y.onUpdate}_addAttr(y,C){var P=this.node,S=P._id,E,p,x,O,k,I,L,D;if(x=m.tweens[S][y],x&&delete m.attrs[S][x][y],E=P.getAttr(y),t.Util._isArray(C))if(p=[],k=Math.max(C.length,E.length),y==="points"&&C.length!==E.length&&(C.length>E.length?(L=E,E=t.Util._prepareArrayForTween(E,C,P.closed())):(I=C,C=t.Util._prepareArrayForTween(C,E,P.closed()))),y.indexOf("fill")===0)for(O=0;O{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueEnd&&y.setAttr("points",C.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var y=this.node,C=m.attrs[y._id][this._id];C.points&&C.points.trueStart&&y.points(C.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(y){return this.tween.seek(y*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var y=this.node._id,C=this._id,P=m.tweens[y],S;this.pause();for(S in P)delete m.tweens[y][S];delete m.attrs[y][C]}}e.Tween=m,m.attrs={},m.tweens={},r.Node.prototype.to=function(g){var y=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),y&&y()};var C=new m(g);C.play()},e.Easings={BackEaseIn(g,y,C,P){var S=1.70158;return C*(g/=P)*g*((S+1)*g-S)+y},BackEaseOut(g,y,C,P){var S=1.70158;return C*((g=g/P-1)*g*((S+1)*g+S)+1)+y},BackEaseInOut(g,y,C,P){var S=1.70158;return(g/=P/2)<1?C/2*(g*g*(((S*=1.525)+1)*g-S))+y:C/2*((g-=2)*g*(((S*=1.525)+1)*g+S)+2)+y},ElasticEaseIn(g,y,C,P,S,E){var p=0;return g===0?y:(g/=P)===1?y+C:(E||(E=P*.3),!S||S0?t:n),f=o*n,w=c*(c>0?t:n),m=u*(u>0?n:t);return{x:d,y:r?-1*m:w,width:f-d,height:m-w}}}Em.Arc=To,To.prototype._centroid=!0,To.prototype.className="Arc",To.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,rY._registerNode)(To),Vp.Factory.addGetterSetter(To,"innerRadius",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"outerRadius",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"angle",0,(0,Up.getNumberValidator)()),Vp.Factory.addGetterSetter(To,"clockwise",!1,(0,Up.getBooleanValidator)());var Pm={},A1={};Object.defineProperty(A1,"__esModule",{value:!0}),A1.Line=void 0;const Wp=Je,iY=lr,a_=je,aY=ht;function i8(e,t,n,r,i,a,o){var c=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),u=Math.sqrt(Math.pow(i-n,2)+Math.pow(a-r,2)),d=o*c/(c+u),f=o*u/(c+u),w=n-d*(i-e),m=r-d*(a-t),g=n+f*(i-e),y=r+f*(a-t);return[w,m,g,y]}function o_(e,t){var n=e.length,r=[],i,a;for(i=2;i4){for(o=this.getTensionPoints(),c=o.length,u=i?0:4,i||e.quadraticCurveTo(o[0],o[1],o[2],o[3]);u{let d,f,w;d=u/2,f=0;for(let m=0;m<20;m++)w=d*e.tValues[20][m]+d,f+=e.cValues[20][m]*r(o,c,w);return d*f};e.getCubicArcLength=t;const n=(o,c,u)=>{u===void 0&&(u=1);const d=o[0]-2*o[1]+o[2],f=c[0]-2*c[1]+c[2],w=2*o[1]-2*o[0],m=2*c[1]-2*c[0],g=4*(d*d+f*f),y=4*(d*w+f*m),C=w*w+m*m;if(g===0)return u*Math.sqrt(Math.pow(o[2]-o[0],2)+Math.pow(c[2]-c[0],2));const P=y/(2*g),S=C/g,E=u+P,p=S-P*P,x=E*E+p>0?Math.sqrt(E*E+p):0,O=P*P+p>0?Math.sqrt(P*P+p):0,k=P+Math.sqrt(P*P+p)!==0?p*Math.log(Math.abs((E+x)/(P+O))):0;return Math.sqrt(g)/2*(E*x-P*O+k)};e.getQuadraticArcLength=n;function r(o,c,u){const d=i(1,u,o),f=i(1,u,c),w=d*d+f*f;return Math.sqrt(w)}const i=(o,c,u)=>{const d=u.length-1;let f,w;if(d===0)return 0;if(o===0){w=0;for(let m=0;m<=d;m++)w+=e.binomialCoefficients[d][m]*Math.pow(1-c,d-m)*Math.pow(c,m)*u[m];return w}else{f=new Array(d);for(let m=0;m{let d=1,f=o/c,w=(o-u(f))/c,m=0;for(;d>.001;){const g=u(f+w),y=Math.abs(o-g)/c;if(y500)break}return f};e.t2length=a})(RT),Object.defineProperty(lh,"__esModule",{value:!0}),lh.Path=void 0;const oY=Je,sY=lr,lY=ht,qu=RT;class tr extends sY.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=tr.parsePathData(this.data()),this.pathLength=tr.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;if?d:f,P=d>f?1:d/f,S=d>f?f/d:1;t.translate(c,u),t.rotate(g),t.scale(P,S),t.arc(0,0,C,w,w+m,1-y),t.scale(1/P,1/S),t.rotate(-g),t.translate(-c,-u);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(d){if(d.command==="A"){var f=d.points[4],w=d.points[5],m=d.points[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;y-=g){const C=tr.getPointOnEllipticalArc(d.points[0],d.points[1],d.points[2],d.points[3],y,0);t.push(C.x,C.y)}else for(let y=f+g;yn[i].pathLength;)t-=n[i].pathLength,++i;if(i===a)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var o=n[i],c=o.points;switch(o.command){case"L":return tr.getPointOnLine(t,o.start.x,o.start.y,c[0],c[1]);case"C":return tr.getPointOnCubicBezier((0,qu.t2length)(t,tr.getPathLength(n),C=>(0,qu.getCubicArcLength)([o.start.x,c[0],c[2],c[4]],[o.start.y,c[1],c[3],c[5]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3],c[4],c[5]);case"Q":return tr.getPointOnQuadraticBezier((0,qu.t2length)(t,tr.getPathLength(n),C=>(0,qu.getQuadraticArcLength)([o.start.x,c[0],c[2]],[o.start.y,c[1],c[3]],C)),o.start.x,o.start.y,c[0],c[1],c[2],c[3]);case"A":var u=c[0],d=c[1],f=c[2],w=c[3],m=c[4],g=c[5],y=c[6];return m+=g*t/o.pathLength,tr.getPointOnEllipticalArc(u,d,f,w,m,y)}return null}static getPointOnLine(t,n,r,i,a,o,c){o===void 0&&(o=n),c===void 0&&(c=r);var u=(a-r)/(i-n+1e-8),d=Math.sqrt(t*t/(1+u*u));i0&&!isNaN(y[0]);){var E="",p=[],x=u,O=d,k,I,L,D,M,N,z,H,W,K;switch(g){case"l":u+=y.shift(),d+=y.shift(),E="L",p.push(u,d);break;case"L":u=y.shift(),d=y.shift(),p.push(u,d);break;case"m":var G=y.shift(),q=y.shift();if(u+=G,d+=q,E="M",o.length>2&&o[o.length-1].command==="z"){for(var U=o.length-2;U>=0;U--)if(o[U].command==="M"){u=o[U].points[0]+G,d=o[U].points[1]+q;break}}p.push(u,d),g="l";break;case"M":u=y.shift(),d=y.shift(),E="M",p.push(u,d),g="L";break;case"h":u+=y.shift(),E="L",p.push(u,d);break;case"H":u=y.shift(),E="L",p.push(u,d);break;case"v":d+=y.shift(),E="L",p.push(u,d);break;case"V":d=y.shift(),E="L",p.push(u,d);break;case"C":p.push(y.shift(),y.shift(),y.shift(),y.shift()),u=y.shift(),d=y.shift(),p.push(u,d);break;case"c":p.push(u+y.shift(),d+y.shift(),u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="C",p.push(u,d);break;case"S":I=u,L=d,k=o[o.length-1],k.command==="C"&&(I=u+(u-k.points[2]),L=d+(d-k.points[3])),p.push(I,L,y.shift(),y.shift()),u=y.shift(),d=y.shift(),E="C",p.push(u,d);break;case"s":I=u,L=d,k=o[o.length-1],k.command==="C"&&(I=u+(u-k.points[2]),L=d+(d-k.points[3])),p.push(I,L,u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="C",p.push(u,d);break;case"Q":p.push(y.shift(),y.shift()),u=y.shift(),d=y.shift(),p.push(u,d);break;case"q":p.push(u+y.shift(),d+y.shift()),u+=y.shift(),d+=y.shift(),E="Q",p.push(u,d);break;case"T":I=u,L=d,k=o[o.length-1],k.command==="Q"&&(I=u+(u-k.points[0]),L=d+(d-k.points[1])),u=y.shift(),d=y.shift(),E="Q",p.push(I,L,u,d);break;case"t":I=u,L=d,k=o[o.length-1],k.command==="Q"&&(I=u+(u-k.points[0]),L=d+(d-k.points[1])),u+=y.shift(),d+=y.shift(),E="Q",p.push(I,L,u,d);break;case"A":D=y.shift(),M=y.shift(),N=y.shift(),z=y.shift(),H=y.shift(),W=u,K=d,u=y.shift(),d=y.shift(),E="A",p=this.convertEndpointToCenterParameterization(W,K,u,d,z,H,D,M,N);break;case"a":D=y.shift(),M=y.shift(),N=y.shift(),z=y.shift(),H=y.shift(),W=u,K=d,u+=y.shift(),d+=y.shift(),E="A",p=this.convertEndpointToCenterParameterization(W,K,u,d,z,H,D,M,N);break}o.push({command:E||g,points:p,start:{x,y:O},pathLength:this.calcLength(x,O,E||g,p)})}(g==="z"||g==="Z")&&o.push({command:"z",points:[],start:void 0,pathLength:0})}return o}static calcLength(t,n,r,i){var a,o,c,u,d=tr;switch(r){case"L":return d.getLineLength(t,n,i[0],i[1]);case"C":return(0,qu.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,qu.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":a=0;var f=i[4],w=i[5],m=i[4]+w,g=Math.PI/180;if(Math.abs(f-m)m;u-=g)c=d.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),a+=d.getLineLength(o.x,o.y,c.x,c.y),o=c;else for(u=f+g;u1&&(c*=Math.sqrt(g),u*=Math.sqrt(g));var y=Math.sqrt((c*c*(u*u)-c*c*(m*m)-u*u*(w*w))/(c*c*(m*m)+u*u*(w*w)));a===o&&(y*=-1),isNaN(y)&&(y=0);var C=y*c*m/u,P=y*-u*w/c,S=(t+r)/2+Math.cos(f)*C-Math.sin(f)*P,E=(n+i)/2+Math.sin(f)*C+Math.cos(f)*P,p=function(M){return Math.sqrt(M[0]*M[0]+M[1]*M[1])},x=function(M,N){return(M[0]*N[0]+M[1]*N[1])/(p(M)*p(N))},O=function(M,N){return(M[0]*N[1]=1&&(D=0),o===0&&D>0&&(D=D-2*Math.PI),o===1&&D<0&&(D=D+2*Math.PI),[S,E,c,u,k,D,f,o]}}lh.Path=tr,tr.prototype.className="Path",tr.prototype._attrsAffectingSize=["data"],(0,lY._registerNode)(tr),oY.Factory.addGetterSetter(tr,"data"),Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.Arrow=void 0;const Xp=Je,cY=A1,s_=je,uY=ht,l_=lh;let cc=class extends cY.Line{_sceneFunc(e){super._sceneFunc(e);var t=Math.PI*2,n=this.points(),r=n,i=this.tension()!==0&&n.length>4;i&&(r=this.getTensionPoints());var a=this.pointerLength(),o=n.length,c,u;if(i){const w=[r[r.length-4],r[r.length-3],r[r.length-2],r[r.length-1],n[o-2],n[o-1]],m=l_.Path.calcLength(r[r.length-4],r[r.length-3],"C",w),g=l_.Path.getPointOnQuadraticBezier(Math.min(1,1-a/m),w[0],w[1],w[2],w[3],w[4],w[5]);c=n[o-2]-g.x,u=n[o-1]-g.y}else c=n[o-2]-n[o-4],u=n[o-1]-n[o-3];var d=(Math.atan2(u,c)+t)%t,f=this.pointerWidth();this.pointerAtEnding()&&(e.save(),e.beginPath(),e.translate(n[o-2],n[o-1]),e.rotate(d),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e)),this.pointerAtBeginning()&&(e.save(),e.beginPath(),e.translate(n[0],n[1]),i?(c=(r[0]+r[2])/2-n[0],u=(r[1]+r[3])/2-n[1]):(c=n[2]-n[0],u=n[3]-n[1]),e.rotate((Math.atan2(-u,-c)+t)%t),e.moveTo(0,0),e.lineTo(-a,f/2),e.lineTo(-a,-f/2),e.closePath(),e.restore(),this.__fillStroke(e))}__fillStroke(e){var t=this.dashEnabled();t&&(this.attrs.dashEnabled=!1,e.setLineDash([])),e.fillStrokeShape(this),t&&(this.attrs.dashEnabled=!0)}getSelfRect(){const e=super.getSelfRect(),t=this.pointerWidth()/2;return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}};Pm.Arrow=cc,cc.prototype.className="Arrow",(0,uY._registerNode)(cc),Xp.Factory.addGetterSetter(cc,"pointerLength",10,(0,s_.getNumberValidator)()),Xp.Factory.addGetterSetter(cc,"pointerWidth",10,(0,s_.getNumberValidator)()),Xp.Factory.addGetterSetter(cc,"pointerAtBeginning",!1),Xp.Factory.addGetterSetter(cc,"pointerAtEnding",!0);var km={};Object.defineProperty(km,"__esModule",{value:!0}),km.Circle=void 0;const dY=Je,hY=lr,fY=je,pY=ht;class Qu extends hY.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}km.Circle=Qu,Qu.prototype._centroid=!0,Qu.prototype.className="Circle",Qu.prototype._attrsAffectingSize=["radius"],(0,pY._registerNode)(Qu),dY.Factory.addGetterSetter(Qu,"radius",0,(0,fY.getNumberValidator)());var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0}),Lm.Ellipse=void 0;const Vv=Je,gY=lr,c_=je,mY=ht;let Ns=class extends gY.Shape{_sceneFunc(e){var t=this.radiusX(),n=this.radiusY();e.beginPath(),e.save(),t!==n&&e.scale(1,n/t),e.arc(0,0,t,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}};Lm.Ellipse=Ns,Ns.prototype.className="Ellipse",Ns.prototype._centroid=!0,Ns.prototype._attrsAffectingSize=["radiusX","radiusY"],(0,mY._registerNode)(Ns),Vv.Factory.addComponentsGetterSetter(Ns,"radius",["x","y"]),Vv.Factory.addGetterSetter(Ns,"radiusX",0,(0,c_.getNumberValidator)()),Vv.Factory.addGetterSetter(Ns,"radiusY",0,(0,c_.getNumberValidator)());var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.Image=void 0;const Uv=kn,uc=Je,vY=lr,yY=ht,b0=je;let Za=class jT extends vY.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),a=this.attrs.image;let o;if(a){const c=this.attrs.cropWidth,u=this.attrs.cropHeight;c&&u?o=[a,this.cropX(),this.cropY(),c,u,0,0,n,r]:o=[a,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Uv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),a&&(i&&t.clip(),t.drawImage.apply(t,o))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Uv.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Uv.Util.createImageElement();i.onload=function(){var a=new jT({image:i});n(a)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};Mm.Image=Za,Za.prototype.className="Image",(0,yY._registerNode)(Za),uc.Factory.addGetterSetter(Za,"cornerRadius",0,(0,b0.getNumberOrArrayOfNumbersValidator)(4)),uc.Factory.addGetterSetter(Za,"image"),uc.Factory.addComponentsGetterSetter(Za,"crop",["x","y","width","height"]),uc.Factory.addGetterSetter(Za,"cropX",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropY",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropWidth",0,(0,b0.getNumberValidator)()),uc.Factory.addGetterSetter(Za,"cropHeight",0,(0,b0.getNumberValidator)());var zd={};Object.defineProperty(zd,"__esModule",{value:!0}),zd.Tag=zd.Label=void 0;const Yp=Je,bY=lr,wY=oh,Wv=je,zT=ht;var BT=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],xY="Change.konva",CY="none",a8="up",o8="right",s8="down",l8="left",SY=BT.length;let Xv=class extends wY.Group{constructor(e){super(e),this.on("add.konva",function(t){this._addListeners(t.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){var t=this,n,r=function(){t._sync()};for(n=0;n{n=Math.min(n,o.x),r=Math.max(r,o.x),i=Math.min(i,o.y),a=Math.max(a,o.y)}),{x:n,y:i,width:r-n,height:a-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Tm.RegularPolygon=hc,hc.prototype.className="RegularPolygon",hc.prototype._centroid=!0,hc.prototype._attrsAffectingSize=["radius"],(0,MY._registerNode)(hc),u_.Factory.addGetterSetter(hc,"radius",0,(0,d_.getNumberValidator)()),u_.Factory.addGetterSetter(hc,"sides",0,(0,d_.getNumberValidator)());var Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.Ring=void 0;const h_=Je,TY=lr,f_=je,AY=ht;var p_=Math.PI*2;class fc extends TY.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,p_,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),p_,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}Am.Ring=fc,fc.prototype.className="Ring",fc.prototype._centroid=!0,fc.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,AY._registerNode)(fc),h_.Factory.addGetterSetter(fc,"innerRadius",0,(0,f_.getNumberValidator)()),h_.Factory.addGetterSetter(fc,"outerRadius",0,(0,f_.getNumberValidator)());var Im={};Object.defineProperty(Im,"__esModule",{value:!0}),Im.Sprite=void 0;const pc=Je,IY=lr,FY=sh,g_=je,DY=ht;class $a extends IY.Shape{constructor(t){super(t),this._updated=!0,this.anim=new FY.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,a=this.animations()[n],o=this.frameOffsets(),c=a[i+0],u=a[i+1],d=a[i+2],f=a[i+3],w=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,d,f),t.closePath(),t.fillStrokeShape(this)),w)if(o){var m=o[n],g=r*2;t.drawImage(w,c,u,d,f,m[g+0],m[g+1],d,f)}else t.drawImage(w,c,u,d,f,0,0,d,f)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,a=this.animations()[n],o=this.frameOffsets(),c=a[i+2],u=a[i+3];if(t.beginPath(),o){var d=o[n],f=r*2;t.rect(d[f+0],d[f+1],c,u)}else t.rect(0,0,c,u);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],a=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t='"'.concat(t,'"')),t}).join(", ")}var $v;function qv(){return $v||($v=c8.Util.createCanvasElement().getContext(GY),$v)}function JY(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function eK(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function tK(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}let Fn=class extends jY.Shape{constructor(e){super(tK(e)),this._partialTextX=0,this._partialTextY=0;for(var t=0;t1&&(S+=a)}}}_hitFunc(e){var t=this.getWidth(),n=this.getHeight();e.beginPath(),e.rect(0,0,t,n),e.closePath(),e.fillStrokeShape(this)}setText(e){var t=c8.Util._isString(e)?e:e==null?"":e+"";return this._setAttr(VY,t),this}getWidth(){var e=this.attrs.width===Ju||this.attrs.width===void 0;return e?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var e=this.attrs.height===Ju||this.attrs.height===void 0;return e?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return c8.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var t=qv(),n=this.fontSize(),r;return t.save(),t.font=this._getContextFont(),r=t.measureText(e),t.restore(),{width:r.width,height:n}}_getContextFont(){return this.fontStyle()+Zp+this.fontVariant()+Zp+(this.fontSize()+YY)+QY(this.fontFamily())}_addTextLine(e){this.align()===w0&&(e=e.trim());var t=this._getTextWidth(e);return this.textArr.push({text:e,width:t,lastInParagraph:!1})}_getTextWidth(e){var t=this.letterSpacing(),n=e.length;return qv().measureText(e).width+(n?t*(n-1):0)}_setTextData(){var e=this.text().split("\n"),t=+this.fontSize(),n=0,r=this.lineHeight()*t,i=this.attrs.width,a=this.attrs.height,o=i!==Ju&&i!==void 0,c=a!==Ju&&a!==void 0,u=this.padding(),d=i-u*2,f=a-u*2,w=0,m=this.wrap(),g=m!==w_,y=m!==$Y&&g,C=this.ellipsis();this.textArr=[],qv().font=this._getContextFont();for(var P=C?this._getTextWidth(Zv):0,S=0,E=e.length;Sd)for(;p.length>0;){for(var O=0,k=p.length,I="",L=0;O>>1,M=p.slice(0,D+1),N=this._getTextWidth(M)+P;N<=d?(O=D+1,I=M,L=N):k=D}if(I){if(y){var z,H=p[I.length],W=H===Zp||H===m_;W&&L<=d?z=I.length:z=Math.max(I.lastIndexOf(Zp),I.lastIndexOf(m_))+1,z>0&&(O=z,I=I.slice(0,O),L=this._getTextWidth(I))}I=I.trimRight(),this._addTextLine(I),n=Math.max(n,L),w+=r;var K=this._shouldHandleEllipsis(w);if(K){this._tryToAddEllipsisToLastLine();break}if(p=p.slice(O),p=p.trimLeft(),p.length>0&&(x=this._getTextWidth(p),x<=d)){this._addTextLine(p),w+=r,n=Math.max(n,x);break}}else break}else this._addTextLine(p),w+=r,n=Math.max(n,x),this._shouldHandleEllipsis(w)&&Sf)break}this.textHeight=t,this.textWidth=n}_shouldHandleEllipsis(e){var t=+this.fontSize(),n=this.lineHeight()*t,r=this.attrs.height,i=r!==Ju&&r!==void 0,a=this.padding(),o=r-a*2,c=this.wrap(),u=c!==w_;return!u||i&&e+n>o}_tryToAddEllipsisToLastLine(){var e=this.attrs.width,t=e!==Ju&&e!==void 0,n=this.padding(),r=e-n*2,i=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!(!a||!i)){if(t){var o=this._getTextWidth(a.text+Zv)n?null:x0.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=x0.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),a=this.glyphInfo;n==="underline"&&t.beginPath();for(var o=0;o=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+".".concat(WT)).join(" "),P_="nodesRect",cK=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],uK={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const dK="ontouchstart"in Sa.Konva._global;function hK(e,t,n){if(e==="rotater")return n;t+=Yt.Util.degToRad(uK[e]||0);var r=(Yt.Util.radToDeg(t)%360+360)%360;return Yt.Util._inRange(r,315+22.5,360)||Yt.Util._inRange(r,0,22.5)?"ns-resize":Yt.Util._inRange(r,45-22.5,45+22.5)?"nesw-resize":Yt.Util._inRange(r,90-22.5,90+22.5)?"ew-resize":Yt.Util._inRange(r,135-22.5,135+22.5)?"nwse-resize":Yt.Util._inRange(r,180-22.5,180+22.5)?"ns-resize":Yt.Util._inRange(r,225-22.5,225+22.5)?"nesw-resize":Yt.Util._inRange(r,270-22.5,270+22.5)?"ew-resize":Yt.Util._inRange(r,315-22.5,315+22.5)?"nwse-resize":(Yt.Util.error("Transformer has unknown angle for cursor detection: "+r),"pointer")}var Rm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];function fK(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function XT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return qf(Xn({},e),{rotation:e.rotation+t,x:r,y:i})}function pK(e,t){const n=fK(e);return XT(e,t,n)}function gK(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Yt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const a=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},o=i._attrsAffectingSize.map(c=>c+"Change."+this._getEventNamespace()).join(" ");i.on(o,a),i.on(cK.map(c=>c+".".concat(this._getEventNamespace())).join(" "),a),i.on("absoluteTransformChange.".concat(this._getEventNamespace()),a),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on("dragstart.".concat(this._getEventNamespace()),r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on("dragmove.".concat(this._getEventNamespace()),r=>{if(!n)return;const i=t.getAbsolutePosition(),a=i.x-n.x,o=i.y-n.y;this.nodes().forEach(c=>{if(c===t||c.isDragging())return;const u=c.getAbsolutePosition();c.setAbsolutePosition({x:u.x+a,y:u.y+o}),c.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(P_),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(P_,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),a=t.getAbsoluteScale(r),o=t.getAbsolutePosition(r),c=i.x*a.x-t.offsetX()*a.x,u=i.y*a.y-t.offsetY()*a.y;const d=(Sa.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),f={x:o.x+c*Math.cos(d)+u*Math.sin(-d),y:o.y+u*Math.cos(d)+c*Math.sin(d),width:i.width*a.x,height:i.height*a.y,rotation:d};return XT(f,-Sa.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-1e8,y:-1e8,width:0,height:0,rotation:0};const n=[];this.nodes().map(d=>{const f=d.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var w=[{x:f.x,y:f.y},{x:f.x+f.width,y:f.y},{x:f.x+f.width,y:f.y+f.height},{x:f.x,y:f.y+f.height}],m=d.getAbsoluteTransform();w.forEach(function(g){var y=m.point(g);n.push(y)})});const r=new Yt.Transform;r.rotate(-Sa.Konva.getAngle(this.rotation()));var i=1/0,a=1/0,o=-1/0,c=-1/0;n.forEach(function(d){var f=r.point(d);i===void 0&&(i=o=f.x,a=c=f.y),i=Math.min(i,f.x),a=Math.min(a,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y)}),r.invert();const u=r.point({x:i,y:a});return{x:u.x,y:u.y,width:o-i,height:c-a,rotation:Sa.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Rm.forEach(t=>{this._createAnchor(t)}),this._createAnchor("rotater")}_createAnchor(t){var n=new oK.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:dK?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Sa.Konva.getAngle(this.rotation()),a=this.rotateAnchorCursor(),o=hK(t,i,a);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new aK.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n,r){var i=r.getParent(),a=i.padding();n.beginPath(),n.rect(-a,-a,r.width()+a*2,r.height()+a*2),n.moveTo(r.width()/2,-a),i.rotateEnabled()&&i.rotateLineVisible()&&n.lineTo(r.width()/2,-i.rotateAnchorOffset()*Yt.Util._sign(r.height())-a),n.fillStrokeShape(r)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,a=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/a),this.cos=Math.abs(r/a),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var o=t.target.getAbsolutePosition(),c=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:c.x-o.x,y:c.y-o.y},u8++,this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(u=>{u._fire("transformstart",{evt:t.evt,target:u})})}_handleMouseMove(t){var n,r,i,a=this.findOne("."+this._movingAnchorName),o=a.getStage();o.setPointersPositions(t);const c=o.getPointerPosition();let u={x:c.x-this._anchorDragOffset.x,y:c.y-this._anchorDragOffset.y};const d=a.getAbsolutePosition();this.anchorDragBoundFunc()&&(u=this.anchorDragBoundFunc()(d,u,t)),a.setAbsolutePosition(u);const f=a.getAbsolutePosition();if(!(d.x===f.x&&d.y===f.y)){if(this._movingAnchorName==="rotater"){var w=this._getNodeRect();n=a.x()-w.width/2,r=-a.y()+w.height/2;let H=Math.atan2(-r,n)+Math.PI/2;w.height<0&&(H-=Math.PI);var m=Sa.Konva.getAngle(this.rotation());const W=m+H,K=Sa.Konva.getAngle(this.rotationSnapTolerance()),G=gK(this.rotationSnaps(),W,K)-w.rotation,q=pK(w,G);this._fitNodesInto(q,t);return}var g=this.shiftBehavior(),y;g==="inverted"?y=this.keepRatio()&&!t.shiftKey:g==="none"?y=this.keepRatio():y=this.keepRatio()||t.shiftKey;var p=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(C.x-a.x(),2)+Math.pow(C.y-a.y(),2));var P=this.findOne(".top-left").x()>C.x?-1:1,S=this.findOne(".top-left").y()>C.y?-1:1;n=i*this.cos*P,r=i*this.sin*S,this.findOne(".top-left").x(C.x-n),this.findOne(".top-left").y(C.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(a.y());else if(this._movingAnchorName==="top-right"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(a.x()-C.x,2)+Math.pow(C.y-a.y(),2));var P=this.findOne(".top-right").x()C.y?-1:1;n=i*this.cos*P,r=i*this.sin*S,this.findOne(".top-right").x(C.x+n),this.findOne(".top-right").y(C.y-r)}var E=a.position();this.findOne(".top-left").y(E.y),this.findOne(".bottom-right").x(E.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(a.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(a.x());else if(this._movingAnchorName==="bottom-left"){if(y){var C=p?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(C.x-a.x(),2)+Math.pow(a.y()-C.y,2));var P=C.x{var a;i._fire("transformend",{evt:t,target:i}),(a=i.getLayer())===null||a===void 0||a.batchDraw()}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Yt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Yt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}var a=new Yt.Transform;if(a.rotate(Sa.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const m=a.point({x:-this.padding()*2,y:0});t.x+=m.x,t.y+=m.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const m=a.point({x:this.padding()*2,y:0});this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.width+=this.padding()*2}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const m=a.point({x:0,y:-this.padding()*2});t.x+=m.x,t.y+=m.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.height+=this.padding()*2}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const m=a.point({x:0,y:this.padding()*2});this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=m.x,this._anchorDragOffset.y-=m.y,t.height+=this.padding()*2}if(this.boundBoxFunc()){const m=this.boundBoxFunc()(r,t);m?t=m:Yt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const o=1e7,c=new Yt.Transform;c.translate(r.x,r.y),c.rotate(r.rotation),c.scale(r.width/o,r.height/o);const u=new Yt.Transform,d=t.width/o,f=t.height/o;this.flipEnabled()===!1?(u.translate(t.x,t.y),u.rotate(t.rotation),u.translate(t.width<0?t.width:0,t.height<0?t.height:0),u.scale(Math.abs(d),Math.abs(f))):(u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(d,f));const w=u.multiply(c.invert());this._nodes.forEach(m=>{var g;const y=m.getParent().getAbsoluteTransform(),C=m.getTransform().copy();C.translate(m.offsetX(),m.offsetY());const P=new Yt.Transform;P.multiply(y.copy().invert()).multiply(w).multiply(y).multiply(C);const S=P.decompose();m.setAttrs(S),(g=m.getLayer())===null||g===void 0||g.batchDraw()}),this.rotation(Yt.Util._getRotation(t.rotation)),this._nodes.forEach(m=>{this._fire("transform",{evt:n,target:m}),m._fire("transform",{evt:n,target:m})}),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Yt.Util._getRotation(n.rotation));var r=n.width,i=n.height,a=this.enabledAnchors(),o=this.resizeEnabled(),c=this.padding(),u=this.anchorSize();const d=this.find("._anchor");d.forEach(w=>{w.setAttrs({width:u,height:u,offsetX:u/2,offsetY:u/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:u/2+c,offsetY:u/2+c,visible:o&&a.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:u/2+c,visible:o&&a.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:u/2-c,offsetY:u/2+c,visible:o&&a.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:u/2+c,visible:o&&a.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:u/2-c,visible:o&&a.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:u/2+c,offsetY:u/2-c,visible:o&&a.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:u/2-c,visible:o&&a.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:u/2-c,offsetY:u/2-c,visible:o&&a.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Yt.Util._sign(i)-c,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const f=this.anchorStyleFunc();f&&d.forEach(w=>{f(w)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),E_.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return O_.Node.prototype.toObject.call(this)}clone(t){var n=O_.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Nm.Transformer=Ct,Ct.isTransforming=()=>u8>0;function mK(e){return e instanceof Array||Yt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Rm.indexOf(t)===-1&&Yt.Util.warn("Unknown anchor name: "+t+". Available names are: "+Rm.join(", "))}),e||[]}Ct.prototype.className="Transformer",(0,sK._registerNode)(Ct),Dt.Factory.addGetterSetter(Ct,"enabledAnchors",Rm,mK),Dt.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,zs.getBooleanValidator)()),Dt.Factory.addGetterSetter(Ct,"resizeEnabled",!0),Dt.Factory.addGetterSetter(Ct,"anchorSize",10,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"rotateEnabled",!0),Dt.Factory.addGetterSetter(Ct,"rotateLineVisible",!0),Dt.Factory.addGetterSetter(Ct,"rotationSnaps",[]),Dt.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"rotateAnchorCursor","crosshair"),Dt.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderEnabled",!0),Dt.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)"),Dt.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"anchorFill","white"),Dt.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)"),Dt.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"borderDash"),Dt.Factory.addGetterSetter(Ct,"keepRatio",!0),Dt.Factory.addGetterSetter(Ct,"shiftBehavior","default"),Dt.Factory.addGetterSetter(Ct,"centeredScaling",!1),Dt.Factory.addGetterSetter(Ct,"ignoreStroke",!1),Dt.Factory.addGetterSetter(Ct,"padding",0,(0,zs.getNumberValidator)()),Dt.Factory.addGetterSetter(Ct,"node"),Dt.Factory.addGetterSetter(Ct,"nodes"),Dt.Factory.addGetterSetter(Ct,"boundBoxFunc"),Dt.Factory.addGetterSetter(Ct,"anchorDragBoundFunc"),Dt.Factory.addGetterSetter(Ct,"anchorStyleFunc"),Dt.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1),Dt.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0),Dt.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var jm={};Object.defineProperty(jm,"__esModule",{value:!0}),jm.Wedge=void 0;const $p=Je,vK=lr,yK=ht,k_=je,bK=ht;class Ao extends vK.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,yK.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}jm.Wedge=Ao,Ao.prototype.className="Wedge",Ao.prototype._centroid=!0,Ao.prototype._attrsAffectingSize=["radius"],(0,bK._registerNode)(Ao),$p.Factory.addGetterSetter(Ao,"radius",0,(0,k_.getNumberValidator)()),$p.Factory.addGetterSetter(Ao,"angle",0,(0,k_.getNumberValidator)()),$p.Factory.addGetterSetter(Ao,"clockwise",!1),$p.Factory.backCompat(Ao,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var zm={};Object.defineProperty(zm,"__esModule",{value:!0}),zm.Blur=void 0;const L_=Je,wK=vn,xK=je;function M_(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var CK=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],SK=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function _K(e,t){var n=e.data,r=e.width,i=e.height,a,o,c,u,d,f,w,m,g,y,C,P,S,E,p,x,O,k,I,L,D,M,N,z,H=t+t+1,W=r-1,K=i-1,G=t+1,q=G*(G+1)/2,U=new M_,J=null,Q=U,ae=null,ie=null,oe=CK[t],ue=SK[t];for(c=1;c>ue,N!==0?(N=255/N,n[f]=(m*oe>>ue)*N,n[f+1]=(g*oe>>ue)*N,n[f+2]=(y*oe>>ue)*N):n[f]=n[f+1]=n[f+2]=0,m-=P,g-=S,y-=E,C-=p,P-=ae.r,S-=ae.g,E-=ae.b,p-=ae.a,u=w+((u=a+t+1)>ue,N>0?(N=255/N,n[u]=(m*oe>>ue)*N,n[u+1]=(g*oe>>ue)*N,n[u+2]=(y*oe>>ue)*N):n[u]=n[u+1]=n[u+2]=0,m-=P,g-=S,y-=E,C-=p,P-=ae.r,S-=ae.g,E-=ae.b,p-=ae.a,u=a+((u=o+G)0&&_K(e,t)};zm.Blur=OK,L_.Factory.addGetterSetter(wK.Node,"blurRadius",0,(0,xK.getNumberValidator)(),L_.Factory.afterSetFilter);var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.Brighten=void 0;const T_=Je,EK=vn,PK=je,kK=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,a=a<0?0:a>255?255:a,o=o<0?0:o>255?255:o,n[c]=i,n[c+1]=a,n[c+2]=o};Hm.Contrast=TK,A_.Factory.addGetterSetter(LK.Node,"contrast",0,(0,MK.getNumberValidator)(),A_.Factory.afterSetFilter);var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0}),Gm.Emboss=void 0;const Bs=Je,qp=vn,AK=kn,I_=je,IK=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),a=0,o=0,c=e.data,u=e.width,d=e.height,f=u*4,w=d;switch(r){case"top-left":a=-1,o=-1;break;case"top":a=-1,o=0;break;case"top-right":a=-1,o=1;break;case"right":a=0,o=1;break;case"bottom-right":a=1,o=1;break;case"bottom":a=1,o=0;break;case"bottom-left":a=1,o=-1;break;case"left":a=0,o=-1;break;default:AK.Util.error("Unknown emboss direction: "+r)}do{var m=(w-1)*f,g=a;w+g<1&&(g=0),w+g>d&&(g=0);var y=(w-1+g)*u*4,C=u;do{var P=m+(C-1)*4,S=o;C+S<1&&(S=0),C+S>u&&(S=0);var E=y+(C-1+S)*4,p=c[P]-c[E],x=c[P+1]-c[E+1],O=c[P+2]-c[E+2],k=p,I=k>0?k:-k,L=x>0?x:-x,D=O>0?O:-O;if(L>I&&(k=x),D>I&&(k=O),k*=t,i){var M=c[P]+k,N=c[P+1]+k,z=c[P+2]+k;c[P]=M>255?255:M<0?0:M,c[P+1]=N>255?255:N<0?0:N,c[P+2]=z>255?255:z<0?0:z}else{var H=n-k;H<0?H=0:H>255&&(H=255),c[P]=c[P+1]=c[P+2]=H}}while(--C)}while(--w)};Gm.Emboss=IK,Bs.Factory.addGetterSetter(qp.Node,"embossStrength",.5,(0,I_.getNumberValidator)(),Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossWhiteLevel",.5,(0,I_.getNumberValidator)(),Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossDirection","top-left",null,Bs.Factory.afterSetFilter),Bs.Factory.addGetterSetter(qp.Node,"embossBlend",!1,null,Bs.Factory.afterSetFilter);var Vm={};Object.defineProperty(Vm,"__esModule",{value:!0}),Vm.Enhance=void 0;const F_=Je,FK=vn,DK=je;function ey(e,t,n,r,i){var a=n-t,o=i-r,c;return a===0?r+o/2:o===0?r:(c=(e-t)/a,c=o*c+r,c)}const NK=function(e){var t=e.data,n=t.length,r=t[0],i=r,a,o=t[1],c=o,u,d=t[2],f=d,w,m,g=this.enhance();if(g!==0){for(m=0;mi&&(i=a),u=t[m+1],uc&&(c=u),w=t[m+2],wf&&(f=w);i===r&&(i=255,r=0),c===o&&(c=255,o=0),f===d&&(f=255,d=0);var y,C,P,S,E,p,x,O,k;for(g>0?(C=i+g*(255-i),P=r-g*(r-0),E=c+g*(255-c),p=o-g*(o-0),O=f+g*(255-f),k=d-g*(d-0)):(y=(i+r)*.5,C=i+g*(i-y),P=r+g*(r-y),S=(c+o)*.5,E=c+g*(c-S),p=o+g*(o-S),x=(f+d)*.5,O=f+g*(f-x),k=d+g*(d-x)),m=0;mS?P:S;var E=o,p=a,x,O,k=360/p*Math.PI/180,I,L;for(O=0;Op?E:p;var x=o,O=a,k,I,L=0,D,M;for(f=0;ft&&(x=p,O=0,k=-1),i=0;i=0&&g=0&&y=0&&g=0&&y=255*4?255:0}return o}function qK(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),a=Math.floor(i/2),o=[],c=0;c=0&&g=0&&y=n))for(a=C;a=r||(o=(n*a+i)*4,c+=x[o+0],u+=x[o+1],d+=x[o+2],f+=x[o+3],p+=1);for(c=c/p,u=u/p,d=d/p,f=f/p,i=g;i=n))for(a=C;a=r||(o=(n*a+i)*4,x[o+0]=c,x[o+1]=u,x[o+2]=d,x[o+3]=f)}};qm.Pixelate=aZ,B_.Factory.addGetterSetter(rZ.Node,"pixelSize",8,(0,iZ.getNumberValidator)(),B_.Factory.afterSetFilter);var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0}),Qm.Posterize=void 0;const H_=Je,oZ=vn,sZ=je,lZ=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,a;for(a=0;a255?255:e<0?0:Math.round(e)}),e2.Factory.addGetterSetter(ay.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),e2.Factory.addGetterSetter(ay.Node,"blue",0,cZ.RGBComponent,e2.Factory.afterSetFilter);var e3={};Object.defineProperty(e3,"__esModule",{value:!0}),e3.RGBA=void 0;const S0=Je,t2=vn,dZ=je,hZ=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),a=this.blue(),o=this.alpha(),c,u;for(c=0;c255?255:e<0?0:Math.round(e)}),S0.Factory.addGetterSetter(t2.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),S0.Factory.addGetterSetter(t2.Node,"blue",0,dZ.RGBComponent,S0.Factory.afterSetFilter),S0.Factory.addGetterSetter(t2.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var t3={};Object.defineProperty(t3,"__esModule",{value:!0}),t3.Sepia=void 0;const fZ=function(e){var t=e.data,n=t.length,r,i,a,o;for(r=0;r127&&(d=255-d),f>127&&(f=255-f),w>127&&(w=255-w),t[u]=d,t[u+1]=f,t[u+2]=w}while(--c)}while(--a)};n3.Solarize=pZ;var r3={};Object.defineProperty(r3,"__esModule",{value:!0}),r3.Threshold=void 0;const G_=Je,gZ=vn,mZ=je,vZ=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(c){throw c},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return a=c.done,c},e:function(c){o=!0},f:function c(){try{a||n.return==null||n.return()}finally{if(o)throw c}}}}function r$(e,t){if(e){if(typeof e=="string")return W_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W_(e,t):void 0}}function W_(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nn?-1:n,n=~~(255*n),[t[0]+n,t[1]+n,t[2]+n]}},contrast:function(e){return function(t){var n=e;n*=255;var r=259*(n+255)/(255*(259-n));return[r*(t[0]-128)+128,r*(t[1]-128)+128,r*(t[2]-128)+128]}},saturation:function(e){return function(t){var n=e;n=-1>n?-1:n;var r=t[0],i=t[1],a=t[2],o=.2989*r+.587*i+.114*a;return[-o*n+r*(1+n),-o*n+i*(1+n),-o*n+a*(1+n)]}},grayscale:function(){return function(e){var t=e[0],n=e[1],r=e[2];return[,,,].fill(.2126*t+.7152*n+.0722*r)}},sepia:function(e){return function(t){var n=t[0],r=t[1],i=t[2];return[n*(1-.607*e)+.769*r*e+.189*i*e,.349*n*e+r*(1-.314*e)+.168*i*e,.272*n*e+.534*r*e+i*(1-.869*e)]}},adjustRGB:function(e){return function(t){return[t[0]*e[0],t[1]*e[1],t[2]*e[2]]}},colorFilter:function(e){return function(t){var n=t[0],r=t[1],i=t[2],a=e[3];return[n-(n-e[0])*a,r-(r-e[1])*a,i-(i-e[2])*a]}}};function D7(e){me.apply(e,function(t){var n=(t[0]+t[1]+t[2])/3>100,r=n?255:0;return[r,r,r]})}D7.filterName="BlackAndWhite";var i$=.1,a$=.1,o$=.15;function N7(e){me.apply(e,me.brightness(i$),me.contrast(a$),me.saturation(o$))}N7.filterName="Clarendon";var s$=.04,l$=-.15;function R7(e){me.apply(e,me.sepia(s$),me.contrast(l$))}R7.filterName="Gingham";var c$=.1;function j7(e){me.apply(e,me.grayscale(),me.brightness(c$));var t=e.data;t.length}j7.filterName="Moon";var u$=.08,d$=[1,1.03,1.05],h$=.12;function z7(e){me.apply(e,me.brightness(u$),me.adjustRGB(d$),me.saturation(h$))}z7.filterName="Lark";var f$=.4,p$=.13,g$=-.05;function B7(e){me.apply(e,me.sepia(f$),me.brightness(p$),me.contrast(g$))}B7.filterName="Reyes";var m$=[1.01,1.04,1],v$=.3;function H7(e){me.apply(e,me.adjustRGB(m$),me.saturation(v$))}H7.filterName="Juno";var y$=.1,b$=-.5;function G7(e){me.apply(e,me.brightness(y$),me.saturation(b$))}G7.filterName="Slumber";var w$=[1.04,1,1.02],x$=-.05;function V7(e){me.apply(e,me.adjustRGB(w$),me.saturation(x$))}V7.filterName="Crema";var C$=.05,S$=-.03;function U7(e){me.apply(e,me.brightness(C$),me.saturation(S$))}U7.filterName="Ludwig";var _$=[228,130,225,.13],O$=-.2;function W7(e){me.apply(e,me.colorFilter(_$),me.saturation(O$))}W7.filterName="Aden";var E$=[1.05,1.1,1];function X7(e){me.apply(e,me.adjustRGB(E$))}X7.filterName="Perpetua";var P$=.3,k$=.15;function Y7(e){me.apply(e,me.saturation(P$),me.brightness(k$))}Y7.filterName="Amaro";var L$=[230,115,108,.05],M$=.15;function K7(e){me.apply(e,me.colorFilter(L$),me.saturation(M$))}K7.filterName="Mayfair";var T$=[255,170,0,.1],A$=.09,I$=.1;function Z7(e){me.apply(e,me.colorFilter(T$),me.brightness(A$),me.saturation(I$))}Z7.filterName="Rise";var F$=[1,1,1.25],D$=.1,N$=.15;function $7(e){me.apply(e,me.adjustRGB(F$),me.contrast(D$),me.brightness(N$))}$7.filterName="Hudson";var R$=[255,225,80,.08],j$=.1,z$=.05;function q7(e){me.apply(e,me.colorFilter(R$),me.saturation(j$),me.contrast(z$))}q7.filterName="Valencia";var B$=[255,255,0,.07],H$=.2,G$=.15;function Q7(e){me.apply(e,me.colorFilter(B$),me.saturation(H$),me.contrast(G$))}Q7.filterName="XPro2";var V$=-.15,U$=.1;function J7(e){me.apply(e,me.contrast(V$),me.saturation(U$))}J7.filterName="Sierra";var W$=[100,28,210,.03],X$=.1;function e9(e){me.apply(e,me.grayscale(),me.colorFilter(W$),me.brightness(X$))}e9.filterName="Willow";var Y$=.15,K$=.2;function t9(e){me.apply(e,me.contrast(Y$),me.saturation(K$))}t9.filterName="LoFi";var Z$=.1,$$=.15;function n9(e){me.apply(e,me.contrast(Z$),me.saturation($$))}n9.filterName="Hefe";var q$=[220,115,188,.12],Q$=-.05;function r9(e){me.apply(e,me.colorFilter(q$),me.contrast(Q$))}r9.filterName="Nashville";var J$=.1,eq=.3;function i9(e){me.apply(e,me.brightness(J$),me.sepia(eq))}i9.filterName="Stinson";var tq=[255,225,0,.05],nq=.06,rq=.06;function a9(e){me.apply(e,me.colorFilter(tq),me.brightness(nq),me.contrast(rq))}a9.filterName="Vesper";var iq=[255,165,40,.2];function o9(e){me.apply(e,me.colorFilter(iq))}o9.filterName="Earlybird";var aq=.2,oq=[140,10,185,.1];function s9(e){me.apply(e,me.contrast(aq),me.colorFilter(oq))}s9.filterName="Brannan";var sq=-.1,lq=-.1;function l9(e){me.apply(e,me.brightness(sq),me.saturation(lq))}l9.filterName="Sutro";var cq=.1,uq=[255,145,0,.2];function c9(e){me.apply(e,me.sepia(cq),me.colorFilter(uq))}c9.filterName="Toaster";var dq=.1,hq=[255,255,0,.2];function u9(e){me.apply(e,me.brightness(dq),me.colorFilter(hq))}u9.filterName="Walden";var fq=[255,25,0,.15],pq=.1;function d9(e){me.apply(e,me.colorFilter(fq),me.brightness(pq))}d9.filterName="NinteenSeventySeven";var gq=[255,140,0,.1],mq=[1.15,1.05,1],vq=.35;function h9(e){me.apply(e,me.colorFilter(gq),me.adjustRGB(mq),me.saturation(vq))}h9.filterName="Kelvin";var yq=[225,240,0,.1],bq=.25,wq=.05;function f9(e){me.apply(e,me.colorFilter(yq),me.saturation(bq),me.contrast(wq))}f9.filterName="Maven";var xq=.06,Cq=.1;function p9(e){me.apply(e,me.sepia(xq),me.brightness(Cq))}p9.filterName="Ginza";var Sq=.35,_q=.1;function g9(e){me.apply(e,me.saturation(Sq),me.brightness(_q))}g9.filterName="Skyline";var Oq=.15,Eq=.1;function m9(e){me.apply(e,me.contrast(Oq),me.brightness(Eq))}m9.filterName="Dogpatch";var Pq=[25,240,252,.05],kq=.3;function v9(e){me.apply(e,me.colorFilter(Pq),me.sepia(kq))}v9.filterName="Brooklyn";var Lq=[208,208,86,.2],Mq=.15;function y9(e){me.apply(e,me.colorFilter(Lq),me.contrast(Mq))}y9.filterName="Helena";var Tq=[255,160,25,.1],Aq=.1;function b9(e){me.apply(e,me.colorFilter(Tq),me.brightness(Aq))}b9.filterName="Ashby";var Iq=[255,50,80,.12],Fq=.05;function w9(e){me.apply(e,me.colorFilter(Iq),me.contrast(Fq))}w9.filterName="Charmes";const Dq=Object.freeze(Object.defineProperty({__proto__:null,Aden:W7,Amaro:Y7,Ashby:b9,BlackAndWhite:D7,Brannan:s9,Brooklyn:v9,Charmes:w9,Clarendon:N7,Crema:V7,Dogpatch:m9,Earlybird:o9,Gingham:R7,Ginza:p9,Hefe:n9,Helena:y9,Hudson:$7,Juno:H7,Kelvin:h9,Lark:z7,LoFi:t9,Ludwig:U7,Maven:f9,Mayfair:K7,Moon:j7,Nashville:r9,NinteenSeventySeven:d9,Perpetua:X7,Reyes:B7,Rise:Z7,Sierra:J7,Skyline:g9,Slumber:G7,Stinson:i9,Sutro:l9,Toaster:c9,Valencia:q7,Vesper:a9,Walden:u9,Willow:e9,XPro2:Q7},Symbol.toStringTag,{value:"Module"}));var YT=function(e){return e?Dq[e]||Sn.Filters[e]:null};function x9(e){for(var t=this.warmth(),n=e.data,r=n.length,i=0;i=t?255:0,n[i+1]=n[i+1]>=t?255:0,n[i+2]=n[i+2]>=t?255:0)}KT.finetuneName="CustomThreshold",Je.Factory.addGetterSetter(Sn.Image,"threshold",0,I7,Je.Factory.afterSetFilter);const Nq=Object.freeze(Object.defineProperty({__proto__:null,CustomThreshold:KT,Warmth:x9},Symbol.toStringTag,{value:"Module"}));var ZT=function(e){return Array.isArray(e)&&0r.status)t(r.response);else{var i;console.warn("Error in sending translation key to backend ".concat((i=r.response)===null||i===void 0?void 0:i.hint,", ").concat(r.status)),n()}},r.onerror=function(){var i;console.warn("Error in sending translation key to backend ".concat((i=r.response)===null||i===void 0?void 0:i.hint,", ").concat(r.status)),n()},r.open("POST","https://neo.wordplex.io/api/import/request-translations?grid_uuid=".concat(t8)),r.send(JSON.stringify({grid_uuid:t8,translations_requests:e}))})},Yq=function(){var e=0a.status){(a.response||[]).forEach(function(f){q2[i]=h8(h8({},q2[i]),{},A({},f.translation_key,f.translations[i]))});var o=[];Object.keys(d8).forEach(function(f){var w;f&&!((w=q2[i])!==null&&w!==void 0&&w[f])&&o.push({key:f,lang:i,default:d8[f]})}),0r,w=0>i;switch(t){case se.RECT:n?(c.width=Math.sqrt(u*u+d*d),c.height=c.width,c.x-=f?c.width-u:0,c.y-=w?c.height-d:0):(c.width=u,c.height=d);break;case se.ELLIPSE:n?(c.radiusX=Math.sqrt(u*u+d*d)/2,c.radiusY=c.radiusX,c.x-=f?2*c.radiusX-u:0,c.y-=w?2*c.radiusY-d:0):(c.radiusX=u/2,c.radiusY=d/2),c.offsetX=-c.radiusX,c.offsetY=-c.radiusY;break;case se.POLYGON:c.radius=(u+d)/2,c.x-=f?2*c.radius-u:0,c.y-=w?2*c.radius-d:0,c.offsetX=-c.radius,c.offsetY=-c.radius;break;case se.LINE:case se.ARROW:c.x=a,c.y=o,c.points=[0,0],n?c.points.push(u>=d?r:0,d>u?i:0):c.points=[0,0,r,i];break;default:c.width=u,c.height=d}return c},nQ=["id","x","y","points"],rQ=["startedX","startedY","offsetX","offsetY","width","height"];function cO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function nd(e){for(var t,n=1;n=O0&&Vr.height>=O0||Vr.radiusX>=O0&&Vr.radiusY>=O0||(y=Vr.points)!==null&&y!==void 0&&y[2]||(C=Vr.points)!==null&&C!==void 0&&C[3]||Vr.radius>=O0)){var P=Vr;P.startedX,P.startedY,P.offsetX,P.offsetY;var S=P.width,E=P.height,p=fe(P,rQ);eQ.includes(t.name)||(p.width=S,p.height=E),r(p,!0)}rd=null,E0=null,Vr=null,e.setAttrs({isDrawing:!1}),e.off("mousemove touchmove",f),e.off("mouseleave touchcancel",w),document.removeEventListener("mouseup",m,oi),document.removeEventListener("touchend",m,oi),document.removeEventListener("mouseleave",m,oi),document.removeEventListener("touchcancel",m,oi),document.removeEventListener("mousemove",u,oi),document.removeEventListener("touchmove",u,oi),qa.isOutOfCanvas=!1},g=function(y){var C;if(y.evt.preventDefault(),!(y.target.attrs.draggable||1<((C=y.evt.touches)===null||C===void 0?void 0:C.length))){d();var P=Q2(n,i());qa.startedX=P.offsetX,qa.startedY=P.offsetY,qa.isOutOfCanvas=!1,e.on("mousemove touchmove",f),e.on("mouseleave touchcancel",w),document.addEventListener("mouseup",m,oi),document.addEventListener("touchend",m,oi),document.addEventListener("mouseleave",m,oi),document.addEventListener("touchcancel",m,oi)}};return e.on("mousedown touchstart",g),function(){d(),e.off("mousedown touchstart",g)}},rA=function(e,t){var n=2=i?0:function(){return 0>i&&-90=i&&-90<=i?0:function(){return 90>>32-t},P0=function(e){var t,n,r="";for(t=7;0<=t;t--)n=15&e>>>4*t,r+=n.toString(16);return r},hQ=function(e){for(var t,n=e.replace(/\r\n/g,"\n"),r="",i=0;it?r+=String.fromCharCode(t):127t?(r+=String.fromCharCode(192|t>>6),r+=String.fromCharCode(128|63&t)):(r+=String.fromCharCode(224|t>>12),r+=String.fromCharCode(128|63&t>>6),r+=String.fromCharCode(128|63&t));return r},fQ=function(e){var t,n,r,i,a,o,c,u,d,f=e,w=Array(80),m=1732584193,g=4023233417,y=2562383102,C=271733878,P=3285377520;f=hQ(f);var S=f.length,E=[];for(n=0;n>>29),E.push(4294967295&S<<3),t=0;tn;n++)w[n]=E[t+n];for(n=16;79>=n;n++)w[n]=Io(w[n-3]^w[n-8]^w[n-14]^w[n-16],1);for(i=m,a=g,o=y,c=C,u=P,n=0;19>=n;n++)d=4294967295&Io(i,5)+(a&o|~a&c)+u+w[n]+1518500249,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=20;39>=n;n++)d=4294967295&Io(i,5)+(a^o^c)+u+w[n]+1859775393,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=40;59>=n;n++)d=4294967295&Io(i,5)+(a&o|a&c|o&c)+u+w[n]+2400959708,u=c,c=o,o=Io(a,30),a=i,i=d;for(n=60;79>=n;n++)d=4294967295&Io(i,5)+(a^o^c)+u+w[n]+3395469782,u=c,c=o,o=Io(a,30),a=i,i=d;m=4294967295&m+i,g=4294967295&g+a,y=4294967295&y+o,C=4294967295&C+c,P=4294967295&P+u}return d=P0(m)+P0(g)+P0(y)+P0(C)+P0(P),d.toLowerCase()},pQ=function(e){return btoa(e).replace(/=*$/g,"")},gQ=function(e,t){return fQ(e).slice(0,t)},mQ=function(e,t,n,r){var i=pQ(e),a=gQ(t+i+n,r);return[a?"ci_seal=".concat(a):"",i?"ci_eqs=".concat(i):""].filter(function(o){return o}).join("&")},vQ=function(e,t,n){var r=t||{},i=r.salt,a=r.charCount,o=r.includeParams,c=o===void 0?[]:o,u=!c||(c==null?void 0:c.length)===0,d="",f="",w=[],m=[];return e.split("&").forEach(function(g){var y=g.split("="),C=ke(y,1),P=C[0];-1<(c==null?void 0:c.indexOf(P))||u?w.push(g):m.push(g)}),0y?i*f/C:a*m/P),2);return"".concat(p,"&wat_opacity=").concat(u,"&wat_scale=").concat(M,"p").concat(D?"&wat_url=".concat(encodeURIComponent(D)):"")},J2={Brighten:{cloudimage:{name:"bright",min:-100,max:100},internal:{propName:"brightness",min:-1,max:1}},Contrast:{cloudimage:{name:"contrast",min:-100,max:100},internal:{propName:"contrast",min:-100,max:100}},Blur:{cloudimage:{name:"blur",min:0,max:100},internal:{propName:"blurRadius",min:0,max:100}}},OQ=function(e){var t=1 input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}"]),VQ=$.span.attrs({className:ve(wh,"label")}).withConfig({componentId:"sc-jjink6-4"})(function(e){var t=e.theme,n=e.open,r=n===void 0?!1:n,i=e.disabled,a=i===void 0?!1:i;return X(["display:flex;align-items:center;justify-content:center;padding:6px 6px;border-radius:2px;position:absolute;top:-10px;font-size:10px;z-index:1;white-space:nowrap;transition:transform 150ms cubic-bezier(0.4,0,0.2,1) 0ms;transform-origin:bottom center;transform:",";background-color:",";color:#fff;cursor:pointer;transition:all 100ms ease-out;&::before{position:absolute;content:'';background-color:inherit;width:8px;height:8px;bottom:0px;left:50%;transform:translate(-50%,50%) rotate(45deg);}"],r?"translateY(-100%) scale(1)":"translateY(-100%) scale(0)",a?t.palette[F.AccentPrimaryDisabled]:t.palette[F.LinkStateless])}),UQ=$.div.attrs({className:ve(wh,"annotation")}).withConfig({componentId:"sc-jjink6-5"})(function(e){var t=e.theme;return X(["display:flex;justify-content:space-between;margin-top:12px;color:",";"],t.palette[F.TextSecondary])}),ad=jt({Slider:zQ,Rail:BQ,Track:HQ,Thumb:GQ,SliderAnnotation:UQ,LabelTooltip:VQ}),WQ=["defaultValue","disabled","disableSwap","hideTrack","hideAnnotation","value","min","max","onChange","onMouseDown","onMouseUp","step","labelTooltip","annotation","components","componentsProps"];function yO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xa(e){for(var t=1;tXQ&&Ce(!0),It(Ve,Gt,jn)}}),ln=id(function(Ve){var Ke=wp(Ve,Y);Ce(!1),Ke&&(q(-1),Ve.type==="touchend"&&ae(-1),E&&E(Ve),Y.current=void 0,nn())}),tn=id(function(Ve){var Ke=Ve.changedTouches[0];Ke!=null&&(Y.current=Ke.identifier);var Lt=wp(Ve,Y),Gt=rt({finger:Lt,values:Re}),jn=Gt.newValue,gi=Gt.activeIndex;xp({sliderRef:re,activeIndex:gi,setActive:q}),Ie(jn),It(Ve,jn,gi),pe.current=0;var Jr=X2(re.current);Jr.addEventListener("touchmove",Ot),Jr.addEventListener("touchend",ln)}),Kt=id(function(Ve){var Ke=Number(Ve.currentTarget.getAttribute(bO));ae(Ke)}),Zt=id(function(){ae(-1)}),yr=id(function(Ve){if(i)Ve.preventDefault();else{if(S&&S(Ve),Ve.button!==0)return;Ve.preventDefault();var Ke=wp(Ve,Y),Lt=rt({finger:Ke,values:Re}),Gt=Lt.newValue,jn=Lt.activeIndex;xp({sliderRef:re,activeIndex:jn,setActive:q}),Ie(Gt),It(Ve,Gt,jn),pe.current=0;var gi=X2(re.current);gi.addEventListener("mousemove",Ot),gi.addEventListener("mouseup",ln)}}),nn=B.useCallback(function(){var Ve=X2(re.current);Ve.removeEventListener("mousemove",Ot),Ve.removeEventListener("mouseup",ln),Ve.removeEventListener("touchmove",Ot),Ve.removeEventListener("touchend",ln)},[ln,Ot]);B.useEffect(function(){var Ve=re.current;if(Ve)return function(){nn()}},[nn,tn]),B.useEffect(function(){i&&nn()},[i,nn]),i&&G!==-1&&q(-1);var Et=tv(et?Re[0]:g,g,C),ua=tv(Re[Re.length-1],g,C)-Et,Pe=xa(xa({},rv[Me].offset(Et)),rv[Me].leap(ua)),ze=z.rail,vt=typeof M.Rail=="function"?b.createElement(M.Rail,le({},ze,{style:xa({},ze==null?void 0:ze.style)})):b.createElement(ad.Rail,le({},ze,{style:xa({},ze==null?void 0:ze.style)})),We=z.track,Ge=!u&&(typeof M.Track=="function"?b.createElement(M.Track,le({},We,{style:xa(xa({},Pe),We==null?void 0:We.style)})):b.createElement(ad.Track,le({},We,{style:xa(xa({},Pe),We==null?void 0:We.style)}))),at=z.thumb,$t=M.Thumb||ad.Thumb,br=M.LabelTooltip||ad.LabelTooltip,Or=z.labelTooltip,da=L?" ".concat(L):"";return b.createElement(ad.Slider,le({ref:be,disabled:i,onTouchStart:tn,onMouseDown:yr},H),vt,Ge,Re.map(function(Ve,Ke){var Lt=tv(Ve,g,C),Gt=rv[Me].offset(Lt);return b.createElement(b.Fragment,{key:Ke},b.createElement($t,le({"data-index":Ke,onMouseOver:Kt,onMouseLeave:Zt},at,{style:xa(xa({},Gt),{},{pointerEvents:o&&G!==Ke?"none":void 0},at==null?void 0:at.style)}),b.createElement("input",{"data-index":Ke,type:"range",min:g,max:C,value:Re[Ke],step:x,disabled:i,onChange:tt}),b.createElement(br,{open:(Q===Ke||G===Ke||k==="on")&&k!=="off",disabled:i,style:xa({},Or==null?void 0:Or.style)},Re[Ke],da)))}),!f&&b.createElement(ad.SliderAnnotation,null,b.createElement("span",null,g,da),b.createElement("span",null,C,da)))}),YQ=$(uA).withConfig({componentId:"sc-1wort0h-0"})(["width:",";max-width:",";user-select:none;padding:0;margin-bottom:",";.SfxSlider-thumb{background-color:",";}.SfxSlider-Track{height:2px;color:",";}.SfxSlider-rail{height:2px;background-color:",";}"],function(e){var t=e.width;return t||"104px"},function(e){var t=e.width;return t||"104px"},function(e){var t=e.noMargin;return t?"":"16px"},function(e){var t=e.theme.palette;return t[F.AccentStateless]},function(e){var t=e.theme.palette;return t[F.AccentStateless]},function(e){var t=e.theme.palette;return t[F.BordersItem]}),KQ=["onChange"],ar=function(e){var t=e.onChange,n=fe(e,KQ);return b.createElement(YQ,le({annotation:"",onChange:function(r,i){return t?t(i):void 0},hideAnnotation:!0,labelTooltip:"auto"},n))},ZQ=["color","size"],$Q=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ZQ);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 11 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.8468 3.13984C11.0457 3.33138 11.0517 3.64791 10.8602 3.84682L6.04534 8.84682C5.95332 8.94238 5.82709 8.99746 5.69445 8.99991C5.5618 9.00237 5.43362 8.95201 5.33812 8.85992L0.152931 3.85992C-0.0458479 3.66824 -0.0516033 3.35171 0.140078 3.15293C0.331758 2.95415 0.648288 2.9484 0.847067 3.14008L5.67208 7.79277L10.1398 3.15318C10.3314 2.95427 10.6479 2.9483 10.8468 3.13984Z",fill:r}))}),a3={Left:"left",Right:"right",Top:"top",Bottom:"bottom"},nr={Primary:"primary",Secondary:"secondary",Basic:"basic",LinkPrimary:"link-primary",LinkSecondary:"link-secondary",LinkBasicPrimary:"link-basic-primary",LinkBasicSecondary:"link-basic-secondary",ErrorPrimary:"error-primary",ErrorSecondary:"error-secondary",ErrorBasic:"error-basic",WarningPrimary:"warning-primary",WarningSecondary:"warning-secondary",WarningBasic:"warning-basic"},Bd={Primary:"primary",Secondary:"secondary",Basic:"basic"},it={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg"},kt={Sm:"sm",Md:"md"},r2={Left:"left",Right:"right",Top:"top",Bottom:"bottom"},qQ=A(A(A(A({},r2.Right,X(["svg{transform:rotate(-90deg);transition:transform 150ms ease-out;}"])),r2.Left,X(["svg{transform:rotate(90deg);transition:transform 150ms ease-out;}"])),r2.Top,X(["svg{transform:rotate(180deg);transition:transform 150ms ease-out;}"])),r2.Bottom,X(["svg{transform:rotate(0);transition:transform 150ms ease-out;}"])),QQ="ArrowTick",JQ=$.span.attrs({className:ve(QQ,"root")}).withConfig({componentId:"sc-tlypde-0"})(function(e){var t=e.type,n=t===void 0?a3.Right:t;return X(["display:inline-flex;",""],qQ[n])}),eJ=jt({ArrowTick:JQ}),tJ=["type","IconProps"],dA=ct(function(e,t){var n=e.type,r=n===void 0?a3.Right:n,i=e.IconProps,a=fe(e,tJ);return b.createElement(eJ.ArrowTick,le({},a,{type:r,ref:t}),b.createElement($Q,i))}),j3="AccordionHeader",nJ=$.span.attrs({className:ve(j3,"icon")}).withConfig({componentId:"sc-1dtjsgt-0"})(function(){return X(["display:inline-flex;padding-left:8px;"])}),rJ=$.span.attrs({className:ve(j3,"label")}).withConfig({componentId:"sc-1dtjsgt-1"})(function(e){var t=e.theme;return X(["",""],t.typography.font[Oe.ButtonSm])}),iJ=$.div.attrs({className:ve(j3,"root")}).withConfig({componentId:"sc-1dtjsgt-2"})(function(e){var t=e.theme,n=e.$fullWidth;return X(["display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;width:",";color:",";user-select:none;"],n?"100%":"auto",t.palette[F.LinkPrimary])}),aJ=$.div.attrs({className:ve(j3,"wrapper")}).withConfig({componentId:"sc-1dtjsgt-3"})(function(e){var t=e.theme;return X(["color:",";"],t.palette[F.LinkPrimary])}),Hd=jt({Header:iJ,Wrapper:aJ,Icon:nJ,Label:rJ}),oJ=["expanded","label","onChange","onClick","onContextMenu","hideIcon","fullWidth","iconProps"];function wO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function sJ(e){for(var t=1;t0&&!L,Ot=function(){var Ge;k||x||(ie==null||ie(!1),(Ge=Re.current)===null||Ge===void 0||Ge.focus())};B.useEffect(function(){M&&Ot()},[]),B.useEffect(function(){setTimeout(function(){return ge(!1)},2e3)},[xe]);var ln=function(){setTimeout(function(){Y(!0)},150)},tn=function(){setTimeout(function(){Y(!1)},200)},Kt=function(Ge,at){k||x||(z&&Ot(),at==="start"?f&&f(Ge):at==="end"?w&&w(Ge):m&&m(Ge))},Zt=function(Ge,at){return Ge?b.createElement(Rr.Icon,{onClick:function($t){return Kt($t,at)},iconClickStart:f,iconClickEnd:w,$iconType:at,disabled:k,readOnly:x},typeof Ge=="function"?Ge({size:uy(y,at)}):Ge):void 0},yr=function(){return k||x||!d?void 0:b.createElement(Rr.ClearIcon,{onClick:function(Ge){return Kt(Ge,"clear")}},typeof d=="function"?d({size:uy(y,"clear")}):d)},nn=function(Ge){return tt?b.createElement(Rr.CopyIcon,{onClick:function(){return bA(ue.value,ge)}},Ge):void 0},Et=function(Ge){Ge.stopPropagation(),et(!Me)},ua=function(){return b.createElement(Rr.PasswordIcon,{onClick:function(Ge){return Et(Ge)}},Me?b.createElement(_J,{size:SO(y)}):b.createElement(CJ,{size:SO(y)}))},Pe=function(){return!r&&ue!==null&&ue!==void 0&&ue.type?ue==null?void 0:ue.type:r===i2.Password&&!Me?i2.Password:i2.Text},ze=function(){return b.createElement(Rr.FieldWrapper,{$isSelectedItems:!!rt},ae&&ae(),b.createElement(Rr.Base,le({},ue,{placeholder:It,ref:Re,readOnly:!!x,type:Pe(),$isEllipsis:W})))},vt=function(){return b.createElement(Rr.NotificationBox,{size:y},b.createElement(Rr.NotificationIcon,null,U),b.createElement(Rr.NotificationText,null,G))},We=function(Ge){if(Ge)return b.createElement(Rr.InputActions,null,Ge)};return b.createElement(Rr.Input,le({onClick:z?Ot:void 0,ref:t,size:y,onMouseEnter:ln,onMouseLeave:tn,className:C,style:P,readOnly:x,disabled:k,$fullWidth:!!E,$error:Q,clearIcon:d,isHovering:ue.isHovering,$isSelectedItems:!!(rt||u),hasInputActions:!!u},oe||{}),b.createElement(Rr.InputContent,null,Zt(a,"start"),ze(),nn(b.createElement(gA,{size:uy(y,"copy")})),xe&&vt(),yr(),r===i2.Password&&ua(),Zt(o,"end"),Zt(c,""),i&&b.createElement(b.Fragment,null,i)),We(u))}),fr={AutoStart:"auto-start",Auto:"auto",AutoEnd:"auto-end",TopStart:"top-start",Top:"top",TopEnd:"top-end",BottomStart:"bottom-start",Bottom:"bottom",BottomEnd:"bottom-end",LeftStart:"left-start",Left:"left",LeftEnd:"left-end",RightStart:"right-start",Right:"right",RightEnd:"right-end"},CA={exports:{}},Yr={},zJ=B;function SA(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_A)}catch(e){console.error(e)}}_A(),CA.exports=Yr;var B3=CA.exports,fi="top",la="bottom",ca="right",pi="left",k9="auto",U1=[fi,la,ca,pi],uh="start",D1="end",GJ="clippingParents",OA="viewport",L0="popper",VJ="reference",_O=U1.reduce(function(e,t){return e.concat([t+"-"+uh,t+"-"+D1])},[]),EA=[].concat(U1,[k9]).reduce(function(e,t){return e.concat([t,t+"-"+uh,t+"-"+D1])},[]),UJ="beforeRead",WJ="read",XJ="afterRead",YJ="beforeMain",KJ="main",ZJ="afterMain",$J="beforeWrite",qJ="write",QJ="afterWrite",JJ=[UJ,WJ,XJ,YJ,KJ,ZJ,$J,qJ,QJ];function co(e){return e?(e.nodeName||"").toLowerCase():null}function Ni(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Yc(e){var t=Ni(e).Element;return e instanceof t||e instanceof Element}function ia(e){var t=Ni(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function L9(e){if(typeof ShadowRoot>"u")return!1;var t=Ni(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function eee(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},i=t.attributes[n]||{},a=t.elements[n];!ia(a)||!co(a)||(Object.assign(a.style,r),Object.keys(i).forEach(function(o){var c=i[o];c===!1?a.removeAttribute(o):a.setAttribute(o,c===!0?"":c)}))})}function tee(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var i=t.elements[r],a=t.attributes[r]||{},o=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=o.reduce(function(u,d){return u[d]="",u},{});!ia(i)||!co(i)||(Object.assign(i.style,c),Object.keys(a).forEach(function(u){i.removeAttribute(u)}))})}}const nee={name:"applyStyles",enabled:!0,phase:"write",fn:eee,effect:tee,requires:["computeStyles"]};function lo(e){return e.split("-")[0]}var Ic=Math.max,o3=Math.min,dh=Math.round;function g8(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function PA(){return!/^((?!chrome|android).)*safari/i.test(g8())}function hh(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&ia(e)&&(i=e.offsetWidth>0&&dh(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&dh(r.height)/e.offsetHeight||1);var o=Yc(e)?Ni(e):window,c=o.visualViewport,u=!PA()&&n,d=(r.left+(u&&c?c.offsetLeft:0))/i,f=(r.top+(u&&c?c.offsetTop:0))/a,w=r.width/i,m=r.height/a;return{width:w,height:m,top:f,right:d+w,bottom:f+m,left:d,x:d,y:f}}function M9(e){var t=hh(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function kA(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&L9(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Jo(e){return Ni(e).getComputedStyle(e)}function ree(e){return["table","td","th"].indexOf(co(e))>=0}function _l(e){return((Yc(e)?e.ownerDocument:e.document)||window.document).documentElement}function H3(e){return co(e)==="html"?e:e.assignedSlot||e.parentNode||(L9(e)?e.host:null)||_l(e)}function OO(e){return!ia(e)||Jo(e).position==="fixed"?null:e.offsetParent}function iee(e){var t=/firefox/i.test(g8()),n=/Trident/i.test(g8());if(n&&ia(e)){var r=Jo(e);if(r.position==="fixed")return null}var i=H3(e);for(L9(i)&&(i=i.host);ia(i)&&["html","body"].indexOf(co(i))<0;){var a=Jo(i);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||t&&a.willChange==="filter"||t&&a.filter&&a.filter!=="none")return i;i=i.parentNode}return null}function W1(e){for(var t=Ni(e),n=OO(e);n&&ree(n)&&Jo(n).position==="static";)n=OO(n);return n&&(co(n)==="html"||co(n)==="body"&&Jo(n).position==="static")?t:n||iee(e)||t}function T9(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function n1(e,t,n){return Ic(e,o3(t,n))}function aee(e,t,n){var r=n1(e,t,n);return r>n?n:r}function LA(){return{top:0,right:0,bottom:0,left:0}}function MA(e){return Object.assign({},LA(),e)}function TA(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var oee=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,MA(typeof e!="number"?e:TA(e,U1))};function see(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,c=lo(n.placement),u=T9(c),d=[pi,ca].indexOf(c)>=0,f=d?"height":"width";if(!(!a||!o)){var w=oee(i.padding,n),m=M9(a),g=u==="y"?fi:pi,y=u==="y"?la:ca,C=n.rects.reference[f]+n.rects.reference[u]-o[u]-n.rects.popper[f],P=o[u]-n.rects.reference[u],S=W1(a),E=S?u==="y"?S.clientHeight||0:S.clientWidth||0:0,p=C/2-P/2,x=w[g],O=E-m[f]-w[y],k=E/2-m[f]/2+p,I=n1(x,k,O),L=u;n.modifiersData[r]=(t={},t[L]=I,t.centerOffset=I-k,t)}}function lee(e){var t=e.state,n=e.options,r=n.element,i=r===void 0?"[data-popper-arrow]":r;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||kA(t.elements.popper,i)&&(t.elements.arrow=i))}const cee={name:"arrow",enabled:!0,phase:"main",fn:see,effect:lee,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function fh(e){return e.split("-")[1]}var uee={top:"auto",right:"auto",bottom:"auto",left:"auto"};function dee(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:dh(n*i)/i||0,y:dh(r*i)/i||0}}function EO(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,c=e.position,u=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,w=e.isFixed,m=o.x,g=m===void 0?0:m,y=o.y,C=y===void 0?0:y,P=typeof f=="function"?f({x:g,y:C}):{x:g,y:C};g=P.x,C=P.y;var S=o.hasOwnProperty("x"),E=o.hasOwnProperty("y"),p=pi,x=fi,O=window;if(d){var k=W1(n),I="clientHeight",L="clientWidth";if(k===Ni(n)&&(k=_l(n),Jo(k).position!=="static"&&c==="absolute"&&(I="scrollHeight",L="scrollWidth")),k=k,i===fi||(i===pi||i===ca)&&a===D1){x=la;var D=w&&k===O&&O.visualViewport?O.visualViewport.height:k[I];C-=D-r.height,C*=u?1:-1}if(i===pi||(i===fi||i===la)&&a===D1){p=ca;var M=w&&k===O&&O.visualViewport?O.visualViewport.width:k[L];g-=M-r.width,g*=u?1:-1}}var N=Object.assign({position:c},d&&uee),z=f===!0?dee({x:g,y:C},Ni(n)):{x:g,y:C};if(g=z.x,C=z.y,u){var H;return Object.assign({},N,(H={},H[x]=E?"0":"",H[p]=S?"0":"",H.transform=(O.devicePixelRatio||1)<=1?"translate("+g+"px, "+C+"px)":"translate3d("+g+"px, "+C+"px, 0)",H))}return Object.assign({},N,(t={},t[x]=E?C+"px":"",t[p]=S?g+"px":"",t.transform="",t))}function hee(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,c=n.roundOffsets,u=c===void 0?!0:c,d={placement:lo(t.placement),variation:fh(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,EO(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,EO(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const fee={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:hee,data:{}};var o2={passive:!0};function pee(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,c=o===void 0?!0:o,u=Ni(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&d.forEach(function(f){f.addEventListener("scroll",n.update,o2)}),c&&u.addEventListener("resize",n.update,o2),function(){a&&d.forEach(function(f){f.removeEventListener("scroll",n.update,o2)}),c&&u.removeEventListener("resize",n.update,o2)}}const gee={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:pee,data:{}};var mee={left:"right",right:"left",bottom:"top",top:"bottom"};function tg(e){return e.replace(/left|right|bottom|top/g,function(t){return mee[t]})}var vee={start:"end",end:"start"};function PO(e){return e.replace(/start|end/g,function(t){return vee[t]})}function A9(e){var t=Ni(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function I9(e){return hh(_l(e)).left+A9(e).scrollLeft}function yee(e,t){var n=Ni(e),r=_l(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,c=0,u=0;if(i){a=i.width,o=i.height;var d=PA();(d||!d&&t==="fixed")&&(c=i.offsetLeft,u=i.offsetTop)}return{width:a,height:o,x:c+I9(e),y:u}}function bee(e){var t,n=_l(e),r=A9(e),i=(t=e.ownerDocument)==null?void 0:t.body,a=Ic(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=Ic(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-r.scrollLeft+I9(e),u=-r.scrollTop;return Jo(i||n).direction==="rtl"&&(c+=Ic(n.clientWidth,i?i.clientWidth:0)-a),{width:a,height:o,x:c,y:u}}function F9(e){var t=Jo(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function AA(e){return["html","body","#document"].indexOf(co(e))>=0?e.ownerDocument.body:ia(e)&&F9(e)?e:AA(H3(e))}function r1(e,t){var n;t===void 0&&(t=[]);var r=AA(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),a=Ni(r),o=i?[a].concat(a.visualViewport||[],F9(r)?r:[]):r,c=t.concat(o);return i?c:c.concat(r1(H3(o)))}function m8(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function wee(e,t){var n=hh(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function kO(e,t,n){return t===OA?m8(yee(e,n)):Yc(t)?wee(t,n):m8(bee(_l(e)))}function xee(e){var t=r1(H3(e)),n=["absolute","fixed"].indexOf(Jo(e).position)>=0,r=n&&ia(e)?W1(e):e;return Yc(r)?t.filter(function(i){return Yc(i)&&kA(i,r)&&co(i)!=="body"}):[]}function Cee(e,t,n,r){var i=t==="clippingParents"?xee(e):[].concat(t),a=[].concat(i,[n]),o=a[0],c=a.reduce(function(u,d){var f=kO(e,d,r);return u.top=Ic(f.top,u.top),u.right=o3(f.right,u.right),u.bottom=o3(f.bottom,u.bottom),u.left=Ic(f.left,u.left),u},kO(e,o,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function IA(e){var t=e.reference,n=e.element,r=e.placement,i=r?lo(r):null,a=r?fh(r):null,o=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,u;switch(i){case fi:u={x:o,y:t.y-n.height};break;case la:u={x:o,y:t.y+t.height};break;case ca:u={x:t.x+t.width,y:c};break;case pi:u={x:t.x-n.width,y:c};break;default:u={x:t.x,y:t.y}}var d=i?T9(i):null;if(d!=null){var f=d==="y"?"height":"width";switch(a){case uh:u[d]=u[d]-(t[f]/2-n[f]/2);break;case D1:u[d]=u[d]+(t[f]/2-n[f]/2);break}}return u}function N1(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,c=n.boundary,u=c===void 0?GJ:c,d=n.rootBoundary,f=d===void 0?OA:d,w=n.elementContext,m=w===void 0?L0:w,g=n.altBoundary,y=g===void 0?!1:g,C=n.padding,P=C===void 0?0:C,S=MA(typeof P!="number"?P:TA(P,U1)),E=m===L0?VJ:L0,p=e.rects.popper,x=e.elements[y?E:m],O=Cee(Yc(x)?x:x.contextElement||_l(e.elements.popper),u,f,o),k=hh(e.elements.reference),I=IA({reference:k,element:p,strategy:"absolute",placement:i}),L=m8(Object.assign({},p,I)),D=m===L0?L:k,M={top:O.top-D.top+S.top,bottom:D.bottom-O.bottom+S.bottom,left:O.left-D.left+S.left,right:D.right-O.right+S.right},N=e.modifiersData.offset;if(m===L0&&N){var z=N[i];Object.keys(M).forEach(function(H){var W=[ca,la].indexOf(H)>=0?1:-1,K=[fi,la].indexOf(H)>=0?"y":"x";M[H]+=z[K]*W})}return M}function See(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,c=n.flipVariations,u=n.allowedAutoPlacements,d=u===void 0?EA:u,f=fh(r),w=f?c?_O:_O.filter(function(y){return fh(y)===f}):U1,m=w.filter(function(y){return d.indexOf(y)>=0});m.length===0&&(m=w);var g=m.reduce(function(y,C){return y[C]=N1(e,{placement:C,boundary:i,rootBoundary:a,padding:o})[lo(C)],y},{});return Object.keys(g).sort(function(y,C){return g[y]-g[C]})}function _ee(e){if(lo(e)===k9)return[];var t=tg(e);return[PO(e),t,PO(t)]}function Oee(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,c=o===void 0?!0:o,u=n.fallbackPlacements,d=n.padding,f=n.boundary,w=n.rootBoundary,m=n.altBoundary,g=n.flipVariations,y=g===void 0?!0:g,C=n.allowedAutoPlacements,P=t.options.placement,S=lo(P),E=S===P,p=u||(E||!y?[tg(P)]:_ee(P)),x=[P].concat(p).reduce(function(ue,Ce){return ue.concat(lo(Ce)===k9?See(t,{placement:Ce,boundary:f,rootBoundary:w,padding:d,flipVariations:y,allowedAutoPlacements:C}):Ce)},[]),O=t.rects.reference,k=t.rects.popper,I=new Map,L=!0,D=x[0],M=0;M=0,K=W?"width":"height",G=N1(t,{placement:N,boundary:f,rootBoundary:w,altBoundary:m,padding:d}),q=W?H?ca:pi:H?la:fi;O[K]>k[K]&&(q=tg(q));var U=tg(q),J=[];if(a&&J.push(G[z]<=0),c&&J.push(G[q]<=0,G[U]<=0),J.every(function(ue){return ue})){D=N,L=!1;break}I.set(N,J)}if(L)for(var Q=y?3:1,ae=function(ue){var Ce=x.find(function(pe){var R=I.get(pe);if(R)return R.slice(0,ue).every(function(Y){return Y})});if(Ce)return D=Ce,"break"},ie=Q;ie>0;ie--){var oe=ae(ie);if(oe==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const Eee={name:"flip",enabled:!0,phase:"main",fn:Oee,requiresIfExists:["offset"],data:{_skip:!1}};function LO(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function MO(e){return[fi,ca,la,pi].some(function(t){return e[t]>=0})}function Pee(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=N1(t,{elementContext:"reference"}),c=N1(t,{altBoundary:!0}),u=LO(o,r),d=LO(c,i,a),f=MO(u),w=MO(d);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:w},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":w})}const kee={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Pee};function Lee(e,t,n){var r=lo(e),i=[pi,fi].indexOf(r)>=0?-1:1,a=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,o=a[0],c=a[1];return o=o||0,c=(c||0)*i,[pi,ca].indexOf(r)>=0?{x:c,y:o}:{x:o,y:c}}function Mee(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=EA.reduce(function(f,w){return f[w]=Lee(w,t.rects,a),f},{}),c=o[t.placement],u=c.x,d=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=o}const Tee={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Mee};function Aee(e){var t=e.state,n=e.name;t.modifiersData[n]=IA({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Iee={name:"popperOffsets",enabled:!0,phase:"read",fn:Aee,data:{}};function Fee(e){return e==="x"?"y":"x"}function Dee(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,c=o===void 0?!1:o,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,w=n.padding,m=n.tether,g=m===void 0?!0:m,y=n.tetherOffset,C=y===void 0?0:y,P=N1(t,{boundary:u,rootBoundary:d,padding:w,altBoundary:f}),S=lo(t.placement),E=fh(t.placement),p=!E,x=T9(S),O=Fee(x),k=t.modifiersData.popperOffsets,I=t.rects.reference,L=t.rects.popper,D=typeof C=="function"?C(Object.assign({},t.rects,{placement:t.placement})):C,M=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,z={x:0,y:0};if(k){if(a){var H,W=x==="y"?fi:pi,K=x==="y"?la:ca,G=x==="y"?"height":"width",q=k[x],U=q+P[W],J=q-P[K],Q=g?-L[G]/2:0,ae=E===uh?I[G]:L[G],ie=E===uh?-L[G]:-I[G],oe=t.elements.arrow,ue=g&&oe?M9(oe):{width:0,height:0},Ce=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:LA(),pe=Ce[W],R=Ce[K],Y=n1(0,I[G],ue[G]),re=p?I[G]/2-Q-Y-pe-M.mainAxis:ae-Y-pe-M.mainAxis,be=p?-I[G]/2+Q+Y+R+M.mainAxis:ie+Y+R+M.mainAxis,xe=t.elements.arrow&&W1(t.elements.arrow),ge=xe?x==="y"?xe.clientTop||0:xe.clientLeft||0:0,Ae=(H=N==null?void 0:N[x])!=null?H:0,Ie=q+re-Ae-ge,Me=q+be-Ae,et=n1(g?o3(U,Ie):U,q,g?Ic(J,Me):J);k[x]=et,z[x]=et-q}if(c){var Re,rt=x==="x"?fi:pi,It=x==="x"?la:ca,tt=k[O],Ot=O==="y"?"height":"width",ln=tt+P[rt],tn=tt-P[It],Kt=[fi,pi].indexOf(S)!==-1,Zt=(Re=N==null?void 0:N[O])!=null?Re:0,yr=Kt?ln:tt-I[Ot]-L[Ot]-Zt+M.altAxis,nn=Kt?tt+I[Ot]+L[Ot]-Zt-M.altAxis:tn,Et=g&&Kt?aee(yr,tt,nn):n1(g?yr:ln,tt,g?nn:tn);k[O]=Et,z[O]=Et-tt}t.modifiersData[r]=z}}const Nee={name:"preventOverflow",enabled:!0,phase:"main",fn:Dee,requiresIfExists:["offset"]};function Ree(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function jee(e){return e===Ni(e)||!ia(e)?A9(e):Ree(e)}function zee(e){var t=e.getBoundingClientRect(),n=dh(t.width)/e.offsetWidth||1,r=dh(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Bee(e,t,n){n===void 0&&(n=!1);var r=ia(t),i=ia(t)&&zee(t),a=_l(t),o=hh(e,i,n),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(r||!r&&!n)&&((co(t)!=="body"||F9(a))&&(c=jee(t)),ia(t)?(u=hh(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):a&&(u.x=I9(a))),{x:o.left+c.scrollLeft-u.x,y:o.top+c.scrollTop-u.y,width:o.width,height:o.height}}function Hee(e){var t=new Map,n=new Set,r=[];e.forEach(function(a){t.set(a.name,a)});function i(a){n.add(a.name);var o=[].concat(a.requires||[],a.requiresIfExists||[]);o.forEach(function(c){if(!n.has(c)){var u=t.get(c);u&&i(u)}}),r.push(a)}return e.forEach(function(a){n.has(a.name)||i(a)}),r}function Gee(e){var t=Hee(e);return JJ.reduce(function(n,r){return n.concat(t.filter(function(i){return i.phase===r}))},[])}function Vee(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Uee(e){var t=e.reduce(function(n,r){var i=n[r.name];return n[r.name]=i?Object.assign({},i,r,{options:Object.assign({},i.options,r.options),data:Object.assign({},i.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var TO={placement:"bottom",modifiers:[],strategy:"absolute"};function AO(){for(var e=arguments.length,t=new Array(e),n=0;n svg{path{fill:",";}}color:",";"],i.palette[F.ButtonDisabledText],i.palette[F.ButtonDisabledText]),u&&!o&&X(["background-color:",";"],i.palette[F.BackgroundHover]))}),gte=$.div.attrs({className:ve(Ol,"prefix")}).withConfig({componentId:"sc-rrzye0-5"})(function(){return X(["display:flex;"])}),mte=$.div.attrs({className:ve(Ol,"content")}).withConfig({componentId:"sc-rrzye0-6"})(function(){return X(["flex-grow:1;line-height:16px;"])}),vte=$.div.attrs({className:ve(Ol,"suffix")}).withConfig({componentId:"sc-rrzye0-7"})(function(){return X(["display:flex;margin-left:8px;"])}),Ji=jt({MenuItemWrapper:fte,MenuItem:pte,MenuPrefix:gte,MenuContent:mte,MenuSuffix:vte,Label:hte,Icon:RA,Actions:dte});function FO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function yte(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:0;return z.map(function(W){var K=W.subList&&W.subList.length>0,G;if(O[H]===W.key&&K){var q=H+1;G=b.createElement($c,le({key:W.key,position:"right",open:!!S,anchorEl:S,enableOverlay:!1},W.subMenuProps),b.createElement(es,le({},e,{list:W.subList,depth:q})))}return W.content==="divider"?b.createElement(Ji.MenuItemWrapper,{divider:!0,key:W.key,style:W.dividerStyle}):b.createElement(Ji.MenuItemWrapper,le({disabled:!1,key:W.key,onMouseLeave:function(){return M(H)}},e),b.createElement(Ji.MenuItem,le({},e,{className:W.className,ref:t,$isFocused:u,$active:!!W.active,onClick:function(U){var J;return(J=W.onClick)===null||J===void 0?void 0:J.call(W,yte({event:U},e))},onMouseEnter:function(U){return D(U,W.key,H)},disableHover:i||W.disableHover}),W.prefix&&b.createElement(Ji.MenuPrefix,null,typeof W.prefix=="function"?W.prefix(e):W.prefix),W.content&&b.createElement(Ji.MenuContent,null,typeof W.content=="function"?W.content(e):W.content),(W.suffix||W.subList)&&b.createElement(Ji.MenuSuffix,null,typeof W.suffix=="function"?W.suffix(e):W.suffix,W.subList&&b.createElement(yJ,{size:10,color:"#768A9F"}))),G)})};return n?b.createElement(b.Fragment,null,N(n,g)):f==="divider"?b.createElement(Ji.MenuItemWrapper,{divider:!0,key:f,style:w}):b.createElement(Ji.MenuItemWrapper,{disabled:!!a},b.createElement(Ji.MenuItem,le({},e,{ref:y,disableHover:i,disabled:a,$isFocused:u,$active:d}),r))});es.displayName="MenuItem";var bte=["children","disabled","size"],wte=function(e){switch(e){case Ri.Md:return 16;case Ri.Sm:default:return 14}},xte=ct(function(e,t){var n=e.children,r=e.disabled,i=r===void 0?!1:r,a=e.size,o=a===void 0?Ri.Md:a,c=fe(e,bte);return b.createElement(Ji.Icon,le({disabled:i},c,{ref:t}),n&&typeof n=="function"?n({size:wte(o)}):n)}),Cte=["children"],V3=ct(function(e,t){var n=e.children,r=fe(e,Cte);return b.createElement(Ji.Label,le({},r,{ref:t}),n)});V3.displayName="MenuItemLabel";var Ste=["children"],_te=function(e){switch(e){case Ri.Md:return 16;case Ri.Sm:default:return 14}},jA=ct(function(e,t){var n=e.children,r=fe(e,Ste);return b.createElement(Ji.Actions,le({},r,{ref:t}),n&&typeof n=="function"?n({size:_te(r.size)}):n)});jA.displayName="MenuItemActions";var Ote=["color","size"],zA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ote);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43.3196 40.0403C44.2253 40.9461 44.2253 42.4146 43.3196 43.3204C42.4138 44.2262 40.9453 44.2262 40.0396 43.3204L21.9997 25.2802L3.95952 43.3207C3.05376 44.2264 1.58525 44.2264 0.679494 43.3207C-0.226258 42.4149 -0.226258 40.9464 0.679495 40.0406L18.7197 22.0001L0.679313 3.95941C-0.226437 3.05364 -0.226439 1.5851 0.679314 0.679328C1.58507 -0.226442 3.05358 -0.226443 3.95934 0.679328L21.9997 18.72L40.0398 0.679604C40.9455 -0.226163 42.414 -0.226165 43.3198 0.679605C44.2255 1.58537 44.2255 3.05392 43.3198 3.95969L25.2797 22.0001L43.3196 40.0403Z",fill:r}))}),Ete=A(A({},kt.Sm,function(e){var t=e.theme.typography.font;return X(t[Oe.LabelExtraSmallUp])}),kt.Md,function(e){var t=e.theme.typography.font;return X(t[Oe.LabelSmall])}),Pte="FormHint",kte=$.span.attrs({className:ve(Pte,"root")}).withConfig({componentId:"sc-1vu99sv-0"})(function(e){var t=e.size,n=t===void 0?kt.Md:t,r=e.$error,i=r===void 0?!1:r,a=e.disabled,o=a===void 0?!1:a,c=e.theme;return X(["display:flex;align-items:center;color:",";"," ",""],i?c.palette[F.Error]:c.palette[F.TextSecondary],o&&X(["color:",";"],c.palette[F.ButtonDisabledText]),Ete[n])}),BA=jt({FormHint:kte}),Lte=["error"],HA=ct(function(e,t){var n=e.error,r=n===void 0?!1:n,i=fe(e,Lte);return b.createElement(BA.FormHint,le({ref:t,$error:r},i))}),Mte=["color","size"],fy=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?28:i,o=fe(e,Mte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M41.3465 44.355C33.5656 50.7844 22.9687 51.6268 14.3708 47.3665L17.8949 44.4545C24.754 47.117 32.7424 46.1093 38.709 41.1792C44.6755 36.249 47.1546 28.6071 45.8085 21.3893L49.3325 18.4773C51.9291 27.6967 49.1274 37.9256 41.3465 44.355Z",fill:r}),b.createElement("path",{d:"M36.1749 2.63356L32.6509 5.54555C25.821 2.91828 17.838 3.86187 11.8366 8.82088C5.87009 13.7511 3.42028 21.4282 4.7372 28.6107L1.21311 31.5227C-1.38344 22.3034 1.45314 12.0456 9.19916 5.64502C16.9801 -0.784402 27.5768 -1.62682 36.1749 2.63356Z",fill:r}))}),Tte=["color","size"],DO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Tte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M5.74299 0.152553C5.95998 -0.056404 6.30528 -0.0498885 6.51424 0.167105C6.7232 0.384099 6.71668 0.7294 6.49969 0.938357L1.43832 5.81227L6.51398 11.0759C6.72309 11.2928 6.71681 11.6381 6.49996 11.8472C6.28311 12.0563 5.9378 12.05 5.7287 11.8332L0.274151 6.1766C0.17369 6.07242 0.118752 5.93258 0.121433 5.78788C0.124113 5.64317 0.184193 5.50547 0.288444 5.40508L5.74299 0.152553Z",fill:r}),b.createElement("path",{d:"M10.9549 0.152554C11.1719 -0.0564031 11.5172 -0.0498876 11.7262 0.167106C11.9351 0.3841 11.9286 0.729401 11.7116 0.938357L6.65023 5.81227L11.7259 11.0759C11.935 11.2928 11.9287 11.6381 11.7119 11.8472C11.495 12.0563 11.1497 12.05 10.9406 11.8332L5.48606 6.1766C5.3856 6.07242 5.33067 5.93258 5.33335 5.78788C5.33603 5.64317 5.39611 5.50547 5.50036 5.40508L10.9549 0.152554Z",fill:r}))}),Ate=["color","size"],NO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ate);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M6.25714 11.8474C6.04014 12.0564 5.69484 12.0499 5.48588 11.8329C5.27693 11.6159 5.28344 11.2706 5.50043 11.0616L10.5618 6.18773L5.48614 0.924074C5.27704 0.707224 5.28331 0.361919 5.50016 0.152813C5.71701 -0.0562931 6.06232 -0.0500145 6.27143 0.166835L11.726 5.8234C11.8264 5.92758 11.8814 6.06742 11.8787 6.21212C11.876 6.35683 11.8159 6.49453 11.7117 6.59492L6.25714 11.8474Z",fill:r}),b.createElement("path",{d:"M1.04522 11.8474C0.828227 12.0564 0.482925 12.0499 0.273969 11.8329C0.065012 11.6159 0.0715275 11.2706 0.288521 11.0616L5.34989 6.18773L0.274227 0.924074C0.0651226 0.707224 0.0714006 0.361919 0.28825 0.152813C0.5051 -0.0562931 0.850407 -0.0500145 1.05951 0.166835L6.51406 5.8234C6.61452 5.92758 6.66946 6.06742 6.66678 6.21212C6.6641 6.35683 6.60402 6.49453 6.49977 6.59492L1.04522 11.8474Z",fill:r}))}),ng={Primary:"primary",Secondary:"secondary",White:"white"},Ite=A(A(A({},ng.Primary,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.AccentPrimary],t[F.ButtonPrimaryText])}),ng.White,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.ButtonPrimaryText],t[F.AccentPrimary])}),ng.Secondary,function(e){var t=e.theme.palette;return X(["background-color:",";color:",";"],t[F.Accent_1_2_Opacity],t[F.TextPrimary])}),GA="Badge",py=20,Fte=$.span.attrs({className:ve(GA,"root")}).withConfig({componentId:"sc-1rfm40m-0"})(["position:relative;display:inline-flex;flex-shrink:0;vertical-align:middle;"]),Dte=$.span.attrs({className:ve(GA)}).withConfig({componentId:"sc-1rfm40m-1"})(function(e){var t=e.size,n=e.color,r=n===void 0?"secondary":n,i=e.fontSize,a=e.padding,o=a===void 0?"0 6px":a,c=e.inline;return X([""," display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;align-items:center;align-content:center;height:","px;min-width:","px;line-height:1;padding:",";font-size:",";box-sizing:border-box;transition:transform 225ms cubic-bezier(0.4,0,0.2,1) 0ms;border-radius:","px;z-index:1;",""],c?"":"position: absolute;",t||py,t||py,typeof o=="number"?"".concat(o,"px"):o,typeof i=="number"?"".concat(i,"px"):i,(t||py)/2,Ite[r])}),Jt=jt({BadgeRoot:Fte,Badge:Dte}),Nte=["color","inline","badgeContent"],Rte=ct(function(e,t){var n=e.color,r=n===void 0?ng.Secondary:n,i=e.inline,a=i===void 0?!1:i,o=e.badgeContent,c=fe(e,Nte);return b.createElement(Jt.BadgeRoot,{ref:t},b.createElement(Jt.Badge,le({color:r,inline:a,badgeContent:o},c),o))}),i1={Default:"default",Sidebar:"sidebar"},qs={Left:"left",Right:"right"},Sc=function(e){switch(e){case it.Lg:return 18;case it.Md:return 16;case it.Sm:return 14;case it.Xs:return 12;default:return 16}},jte=function(e){switch(e){case it.Lg:return 12;case it.Md:return 11;case it.Sm:return 10;default:return 11}},gy,zte=(gy={},A(A(A(A(A(A(A(A(A(A(gy,nr.Primary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{color:",";background:",";cursor:default;","{color:",";background:transparent;}}"],t[F.AccentStateless],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.Secondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background:transparent;}&:hover{color:",";background-color:",";","{color:",";}}&:focus{color:",";background-color:",";border:1px solid ",";","{color:",";}}&:active{color:",";background-color:",";","{color:",";}}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.AccentStateless],t[F.AccentStateless],Jt.Badge,t[F.AccentStateless],t[F.ButtonPrimaryText],t[F.AccentPrimaryHover],Jt.Badge,t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],t[F.Accent_1_2_Opacity],t[F.AccentPrimaryActive],Jt.Badge,t[F.AccentPrimaryActive],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText],n&&X(["color:",";background-color:",";","{color:",";}&:hover,&:focus{color:",";background-color:",";","{color:",";}}"],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText],t[F.ButtonPrimaryText],t[F.AccentPrimaryActive],Jt.Badge,t[F.ButtonPrimaryText]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.Basic,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:transparent;border:1px solid ",";color:",";","{background-color:transparent;color:",";}&:hover{background-color:",";color:",";","{color:",";}}&:active{background-color:",";color:",";","{color:",";}}"," &:disabled{background-color:",";color:",";cursor:default;border:none;","{color:",";}}"],t[F.BordersButton],t[F.LinkStateless],Jt.Badge,t[F.LinkStateless],t[F.BackgroundHover],t[F.LinkHover],Jt.Badge,t[F.LinkHover],t[F.BackgroundActive],t[F.LinkHover],Jt.Badge,t[F.LinkHover],n&&X(["background-color:",";color:",";","{color:",";}&:hover,&:focus{background-color:",";color:",";}"],t[F.BackgroundActive],t[F.LinkHover],Jt.Badge,t[F.LinkHover],t[F.BackgroundActive],t[F.LinkHover]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.LinkPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.AccentStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.LinkStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkBasicPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.AccentStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.LinkBasicSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;padding:0px !important;&:hover{background-color:transparent;color:",";}&:active{color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.LinkStateless],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled])}),nr.ErrorPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{background-color:",";color:",";cursor:default;","{color:",";background:transparent;}}"],t[F.Error],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.ErrorHover],t[F.ErrorActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.ErrorActive],t[F.ErrorActive]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.ErrorSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background-color:transparent;}&:hover{background-color:",";color:",";border:none;","{color:",";}}&:active{background-color:",";color:",";border:none;}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.LinkStateless],t[F.BordersButton],Jt.Badge,t[F.LinkStateless],t[F.ErrorHover],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.ErrorActive],t[F.ButtonPrimaryText],n&&X(["background-color:",";color:",";border:none;&:hover,&:focus{background-color:",";}"],t[F.ErrorActive],t[F.ButtonPrimaryText],t[F.ErrorActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.ErrorBasic,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;&:hover{color:",";}&:active{color:",";}"," &:disabled{color:",";cursor:default;}"],t[F.LinkStateless],t[F.ErrorHover],t[F.ErrorActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.ErrorActive],t[F.ErrorActive]),t[F.BordersDisabled])}),A(A(A(gy,nr.WarningPrimary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";","{color:",";background:transparent;}&:hover{background-color:",";}&:active{background-color:",";}"," &:disabled{background-color:",";color:",";cursor:default;","{color:",";background:transparent;}}"],t[F.Warning],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningHover],t[F.WarningActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.WarningActive],t[F.WarningActive]),t[F.Accent_1_2_Opacity],t[F.BordersDisabled],Jt.Badge,t[F.BordersDisabled])}),nr.WarningSecondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";","{color:",";background-color:transparent;}&:hover{background-color:",";color:",";border:none;","{color:",";}}&:active{background-color:",";color:",";border:none;}"," &:disabled{color:",";background:",";border:none;cursor:default;","{color:",";}}"],t[F.BackgroundStateless],t[F.LinkStateless],t[F.BordersButton],Jt.Badge,t[F.LinkStateless],t[F.WarningHover],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningActive],t[F.ButtonPrimaryText],n&&X(["background-color:",";color:",";border:none;","{color:",";background-color:transparent;}&:hover,&:focus{background-color:",";}"],t[F.WarningActive],t[F.ButtonPrimaryText],Jt.Badge,t[F.ButtonPrimaryText],t[F.WarningActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity],Jt.Badge,t[F.BordersDisabled])}),nr.WarningBasic,function(e){var t=e.theme.palette,n=e.active;return X(["color:",";background-color:transparent;&:hover{color:",";}&:active{color:",";}"," &:disabled{color:",";cursor:default;}"],t[F.LinkStateless],t[F.WarningHover],t[F.WarningActive],n&&X(["color:",";&:hover,&:focus{color:",";}"],t[F.WarningActive],t[F.WarningActive]),t[F.BordersDisabled])})),Bte=A(A(A(A({},it.Xs,X(["padding:5px 10px;"])),it.Sm,X(["padding:8px 12px;"])),it.Md,X(["padding:11px 16px;"])),it.Lg,X(["padding:14px 24px;"])),Hte=A(A(A(A({},it.Xs,X(["padding:4px 10px;"])),it.Sm,X(["padding:7px 12px;"])),it.Md,X(["padding:10px 16px;"])),it.Lg,X(["padding:13px 24px;"])),Gte=A(A(A(A({},it.Xs,X(["padding:5px 10px;"])),it.Sm,X(["padding:8px 12px;"])),it.Md,X(["padding:11px 14px;"])),it.Lg,X(["padding:14px 16px;"])),Vte=A(A(A(A({},it.Xs,X(["height:14px;"])),it.Sm,X(["height:16px;"])),it.Md,X(["height:18px;"])),it.Lg,X(["height:20px;"])),Ute=A(A(A(A({},it.Xs,X(["margin-right:5px;"])),it.Sm,X(["margin-right:6px;"])),it.Md,X(["margin-right:7px;"])),it.Lg,X(["margin-right:8px;"])),RO=A(A(A(A({},it.Xs,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonSmEmphasis])}),it.Sm,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonMdEmphasis])}),it.Md,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonLgEmphasis])}),it.Lg,function(e){var t=e.theme.typography.font;return X(t[Oe.ButtonLgUpEmphasis])}),El="Button",VA=$.span.attrs({className:ve(El,"Label")}).withConfig({componentId:"sc-lxwit0-0"})(["display:flex;"]),UA=$.span.attrs({className:ve(El,"Badge")}).withConfig({componentId:"sc-lxwit0-1"})(["display:flex;margin-left:5px;"]),Wte=$.span.attrs({className:ve(El,"Body")}).withConfig({componentId:"sc-lxwit0-2"})(["display:flex;align-items:center;"]),Xte=$.button.attrs({className:ve(El,"root")}).withConfig({componentId:"sc-lxwit0-3"})(function(e){var t=e.color,n=t===void 0?nr.Secondary:t,r=e.size,i=r===void 0?it.Md:r,a=e.$buttonType,o=e.active,c=e.theme;return X(["display:inline-flex;flex-shrink:0;flex-direction:row;align-items:center;justify-content:center;border-radius:",";transition:all 100ms ease-out;border:0;cursor:pointer;outline:none;"," "," "," ","{"," ","}","{","}",""],c.shape.borderRadius[so.Md],a!==i1.Sidebar&&zte[n],a===i1.Sidebar?Gte[i]:Bte[i],n===nr.Secondary&&Hte[i],VA,RO[i],(n===nr.LinkBasicPrimary||n===nr.LinkBasicSecondary)&&"font-weight: 400",UA,RO[i],a===i1.Sidebar&&X(["background-color:",";color:",";border:1px solid ",";"," "," &:disabled{color:",";background:",";border:none;cursor:default;}"],c.palette[F.ButtonPrimaryText],c.palette[F.LinkStateless],c.palette[F.BordersButton],!o&&X(["&:hover{color:",";background-color:",";border:none;}&:active{color:",";background-color:",";border:none;}"],c.palette[F.ButtonPrimaryText],c.palette[F.AccentPrimaryHover],c.palette[F.ButtonPrimaryText],c.palette[F.AccentPrimaryActive]),o&&X(["background-color:",";color:",";border:1px solid ",";"],c.palette[F.Accent_1_2_Opacity],c.palette[F.AccentPrimaryActive],c.palette[F.AccentPrimaryActive]),c.palette[F.BordersDisabled],c.palette[F.AccentPrimaryDisabled]))}),Yte=$.span.attrs({className:ve(El,"StartIcon")}).withConfig({componentId:"sc-lxwit0-4"})(function(e){var t=e.$loading,n=e.size,r=n===void 0?it.Md:n;return X(["display:flex;svg{animation:",";}",""],t?"spinner 1.2s linear infinite":"1.2s",Ute[r])}),Kte=$.span.attrs({className:ve(El,"SideBar")}).withConfig({componentId:"sc-lxwit0-5"})(function(e){var t=e.$sideBarType;return X(["display:flex;",":12px;"],"margin-".concat(t===qs.Left?"right":"left"))}),Zte=$.span.attrs({className:ve(El,"Divider")}).withConfig({componentId:"sc-lxwit0-6"})(function(e){var t=e.$sideBarType,n=e.size,r=n===void 0?it.Md:n;return X(["border-left-style:solid;border-width:1px;"," ",":12px;"],Vte[r],"margin-".concat(t===qs.Left?"right":"left"))}),$te=$.span.attrs({className:ve(El,"EndIcon")}).withConfig({componentId:"sc-lxwit0-7"})(["display:flex;margin-left:6px;"]),Qa=jt({Button:Xte,Wrapper:Wte,Label:VA,SideArrows:Kte,Divider:Zte,StartIcon:Yte,EndIcon:$te,Badge:UA}),qte=["children","startIcon","endIcon","badge","color","active","buttonType","sideBarType","size","loading","disabled"],Da=ct(function(e,t){var n=e.children,r=e.startIcon,i=e.endIcon,a=e.badge,o=e.color,c=o===void 0?nr.Primary:o,u=e.active,d=u===void 0?!1:u,f=e.buttonType,w=f===void 0?i1.Default:f,m=e.sideBarType,g=m===void 0?qs.Left:m,y=e.size,C=y===void 0?it.Md:y,P=e.loading,S=P===void 0?!1:P,E=e.disabled,p=E===void 0?!1:E,x=fe(e,qte),O=function(I){switch(g){case qs.Right:return d?b.createElement(NO,I):b.createElement(DO,I);case qs.Left:return d?b.createElement(DO,I):b.createElement(NO,I)}},k=function(){var I=[b.createElement(Qa.SideArrows,{key:"arrows",$sideBarType:g},O({size:jte(C)}))],L=b.createElement(Qa.Divider,{key:"divider",size:C,$sideBarType:g});return g===qs.Right?I.unshift(L):I.push(L),w===i1.Sidebar&&I};return b.createElement(Qa.Button,le({type:"button",$buttonType:w},x,{disabled:S||p,color:c,active:d,size:C,ref:t}),g===qs.Left&&k(),b.createElement(Qa.Wrapper,null,r&&b.createElement(Qa.StartIcon,{$loading:S,size:C},typeof r=="function"?S?b.createElement(fy,{size:Sc(C)}):r({size:Sc(C)}):S?b.createElement(fy,{size:Sc(C)}):r),S&&!r&&b.createElement(Qa.StartIcon,{$loading:S},b.createElement(fy,{size:Sc(C)})),b.createElement(Qa.Label,null,n),i&&b.createElement(Qa.EndIcon,null,typeof i=="function"?i({size:Sc(C)}):i)),g===qs.Right&&k(),a&&b.createElement(Qa.Badge,null,b.createElement(Rte,{inline:!0,size:14,padding:"0 1px",badgeContent:a,color:c===nr.Primary?"white":"secondary"})))}),Qte=["color","size"],Jte=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Qte);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 42 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.483002 4.49014V37.5097C0.483002 38.5725 0.90519 39.5917 1.65669 40.3432C2.40819 41.0947 3.42745 41.5169 4.49023 41.5169H37.5098C38.5726 41.5169 39.5918 41.0947 40.3433 40.3432C41.0948 39.5917 41.517 38.5725 41.517 37.5097V4.49014C41.517 3.42735 41.0948 2.4081 40.3433 1.6566C39.5918 0.905099 38.5726 0.48291 37.5098 0.48291H4.49023C3.42745 0.48291 2.40819 0.905099 1.65669 1.6566C0.90519 2.4081 0.483002 3.42735 0.483002 4.49014ZM38.9272 5.87776V31.3044L26.3817 19.5446L21.8068 22.3356L14.8048 15.3337L3.07279 23.0543V6.06233C3.07279 5.2695 3.38775 4.50913 3.94836 3.94851C4.50898 3.38789 5.26935 3.07294 6.06218 3.07294H36.1222C36.8661 3.07294 37.5795 3.36844 38.1055 3.89444C38.6316 4.42044 38.9272 5.13385 38.9272 5.87776Z",fill:r}),b.createElement("path",{d:"M30.4602 15.6943C33.066 15.6943 35.1784 13.5819 35.1784 10.976C35.1784 8.37021 33.066 6.25777 30.4602 6.25777C27.8543 6.25777 25.7419 8.37021 25.7419 10.976C25.7419 13.5819 27.8543 15.6943 30.4602 15.6943Z",fill:r}))}),ene=["color","size"],tne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ene);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 40 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M39.5112 31.2036C39.5112 41.568 31.0785 50 20.7148 50H14.0613C12.9587 50 12.0652 49.1066 12.0652 48.004V47.3386C12.0652 46.2359 12.9586 45.3425 14.0613 45.3425H20.7148C28.5107 45.3425 34.8537 38.9995 34.8537 31.2036C34.8537 23.4078 28.5107 17.0648 20.7148 17.0648H8.4394L16.8935 25.5189C17.8015 26.4266 17.8015 27.9042 16.8935 28.8119C16.0124 29.6923 14.479 29.691 13.5999 28.8119L1.17111 16.3828C0.731285 15.943 0.488892 15.3581 0.488892 14.7359C0.488892 14.1142 0.731285 13.529 1.17111 13.0894L13.6006 0.65976C14.4797 -0.220001 16.0144 -0.220001 16.8936 0.65976C17.8016 1.56722 17.8016 3.04511 16.8936 3.95246L8.43951 12.4072H20.7148C31.0785 12.4072 39.5112 20.8395 39.5112 31.2036Z",fill:r}))}),nne=["color","size"],rne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,nne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 40 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.98 31.2037C0.98 41.568 9.41216 50 19.7752 50H26.4284C27.5309 50 28.4244 49.1066 28.4244 48.004V47.3386C28.4244 46.2359 27.531 45.3425 26.4284 45.3425H19.7752C11.9798 45.3425 5.6372 38.9995 5.6372 31.2037C5.6372 23.4079 11.9798 17.0648 19.7752 17.0648H32.05L23.5964 25.5189C22.6884 26.4266 22.6884 27.9043 23.5964 28.812C24.4774 29.6924 26.0107 29.6911 26.8897 28.812L39.3178 16.3828C39.7576 15.943 40 15.3582 40 14.736C40 14.1142 39.7576 13.5291 39.3178 13.0895L26.8891 0.659821C26.01 -0.21994 24.4754 -0.21994 23.5962 0.659821C22.6883 1.56728 22.6883 3.04517 23.5962 3.95252L32.0498 12.4073H19.7752C9.41216 12.4073 0.98 20.8396 0.98 31.2037Z",fill:r}))}),ine=["color","size"],ane=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ine);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M40.1901 7.27549L7.59689 39.8687C6.83412 40.6315 6.83412 41.8681 7.59689 42.6308C8.35965 43.3936 9.59626 43.3936 10.359 42.6308L42.9522 10.0376C43.715 9.27486 43.715 8.03825 42.9522 7.27549C42.1895 6.51272 40.9529 6.51272 40.1901 7.27549Z",fill:r}))}),one=["color","size"],sne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,one);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M41.2229 16.7653C41.3215 12.426 39.7436 8.284 36.6864 5.02956C33.6292 1.77513 29.4872 -2.09808e-05 25.0493 -2.09808e-05C20.6114 -2.09808e-05 16.3708 1.77513 13.3136 5.02956C10.2564 8.18538 8.6785 12.3274 8.77712 16.7653C3.45168 19.5266 0 25.1479 0 31.1637C0 37.2781 3.25444 42.6035 8.57988 45.4635C11.0454 46.7455 13.7081 47.4359 16.2722 47.4359C19.3294 47.4359 22.288 46.5483 24.9507 44.8718C29.9803 48.1262 36.0947 48.3234 41.4201 45.4635C46.7456 42.6035 50 37.2781 50 31.1637C50 25.0493 46.6469 19.5266 41.2229 16.7653ZM22.7811 43.0966C18.6391 45.3649 13.7081 45.3649 9.56607 42.998C5.22682 40.5325 2.66272 36.1933 2.66272 31.1637C2.66272 26.43 5.12821 22.0907 9.1716 19.6252C10.1578 24.359 13.3136 28.501 17.6529 30.6706C17.4556 35.4043 19.3294 39.8422 22.7811 43.0966ZM32.1499 27.8106C31.4596 24.5562 29.783 21.499 27.3176 19.2307C30.6706 17.357 34.8126 17.0611 38.4615 18.3432C37.7712 22.2879 35.503 25.7396 32.1499 27.8106ZM20.6114 28.1065C21.3018 25.2465 22.8797 22.6824 25.0493 20.8087C27.5148 22.8797 29.1913 25.8382 29.6844 28.9941C26.7258 30.0789 23.4714 30.0789 20.4142 28.9941C20.4142 28.6982 20.5128 28.4023 20.6114 28.1065ZM25.0493 17.4556C23.57 16.4694 21.8935 15.7791 20.1183 15.3846C19.428 15.1874 18.6391 15.6805 18.5404 16.3708C18.4418 16.7653 18.5404 17.0611 18.7377 17.357C18.9349 17.6528 19.2308 17.8501 19.5266 17.9487C20.7101 18.2446 21.7949 18.639 22.7811 19.2307C20.3156 21.499 18.6391 24.4576 17.9487 27.8106C14.5957 25.7396 12.2288 22.2879 11.6371 18.3432C11.9329 18.2446 12.1302 18.1459 12.426 18.0473C12.7219 17.9487 13.0178 17.7515 13.215 17.357C13.4122 17.0611 13.4122 16.6666 13.3136 16.3708C13.1164 15.6805 12.3274 15.286 11.6371 15.4832C11.5385 15.4832 11.5385 15.4832 11.4398 15.5818C11.8343 8.48124 17.7515 2.6627 25.0493 2.6627C32.3471 2.6627 38.2643 8.38262 38.6588 15.5818C34.0237 14.2012 28.9941 14.8915 25.0493 17.4556ZM29.783 31.7554C29.5858 35.5029 27.9093 39.0532 25.0493 41.5187C22.1893 39.0532 20.4142 35.6016 20.3156 31.7554C23.3728 32.7416 26.7258 32.7416 29.783 31.7554ZM32.4458 30.6706C36.785 28.4023 39.8422 24.359 40.927 19.6252C44.9704 22.0907 47.4359 26.43 47.4359 31.1637C47.4359 36.0947 44.8718 40.5325 40.5325 42.998C36.3905 45.3649 31.4596 45.3649 27.3176 43.0966C30.7692 39.8422 32.643 35.4043 32.4458 30.6706Z",fill:r}),b.createElement("path",{d:"M15.5819 14.8915C14.9901 14.9901 14.497 15.5818 14.497 16.1735C14.497 16.8639 15.0888 17.5542 15.8777 17.5542C16.6667 17.5542 17.2584 16.9625 17.2584 16.1735C17.2584 15.7791 17.0611 15.3846 16.7653 15.1874C16.3708 14.9901 15.9763 14.8915 15.5819 14.8915Z",fill:r}))}),lne=["color","size"],cne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5 2.00049C3.34315 2.00049 2 3.34364 2 5.00049V16.7505H5.5V5.50049H16.75V2.00049H5ZM45 2.00049H33.25V5.50049H44.5V16.7505H48V5.00049C48 3.34363 46.6569 2.00049 45 2.00049ZM5.5 33.2505H2V45.0005C2 46.6573 3.34315 48.0005 5 48.0005H16.75V44.5005H5.5V33.2505ZM48 33.2505H44.5V44.5005H33.25V48.0005H45C46.6569 48.0005 48 46.6573 48 45.0005V33.2505Z",fill:r}))}),une=["color","size"],dne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,une);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 53 37",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.11841 3.93799V32.063H47.8684V3.93799H4.11841ZM3.49341 0.812988C2.1127 0.812988 0.993408 1.91229 0.993408 3.26835V32.7326C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7326V3.26835C50.9934 1.91229 49.8741 0.812988 48.4934 0.812988H3.49341Z",fill:r}))}),hne=["color","size"],fne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.5 0.5H3V2.375H2.375V3H0.5V0.5Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 21.125H3V21.2693H24.7308V43H24.875V45.5L0.5 45.5001V21.125ZM22.2308 43L3 43.0001V23.7693H22.2308V43Z",fill:r}),b.createElement("path",{d:"M43 45.5H45.5V43H43.625V43.625H43V45.5Z",fill:r}),b.createElement("path",{d:"M45.5 3V0.5H43V2.375H43.625V3H45.5Z",fill:r}),b.createElement("path",{d:"M6.125 0.5V3H9.875V0.5H6.125Z",fill:r}),b.createElement("path",{d:"M13.625 0.5V3H17.375V0.5H13.625Z",fill:r}),b.createElement("path",{d:"M21.125 0.5V3H24.875V0.5H21.125Z",fill:r}),b.createElement("path",{d:"M28.625 0.5V3H32.375V0.5H28.625Z",fill:r}),b.createElement("path",{d:"M36.125 0.5V3H39.875V0.5H36.125Z",fill:r}),b.createElement("path",{d:"M45.5 6.125H43V9.875H45.5V6.125Z",fill:r}),b.createElement("path",{d:"M45.5 13.625H43V17.375H45.5V13.625Z",fill:r}),b.createElement("path",{d:"M45.5 21.125H43V24.875H45.5V21.125Z",fill:r}),b.createElement("path",{d:"M45.5 28.625H43V32.375H45.5V28.625Z",fill:r}),b.createElement("path",{d:"M45.5 36.125H43V39.875H45.5V36.125Z",fill:r}),b.createElement("path",{d:"M39.875 45.5V43H36.125V45.5H39.875Z",fill:r}),b.createElement("path",{d:"M32.375 45.5V43H28.625V45.5H32.375Z",fill:r}),b.createElement("path",{d:"M0.5 17.375H3V13.625H0.5V17.375Z",fill:r}),b.createElement("path",{d:"M0.5 9.875H3V6.125H0.5V9.875Z",fill:r}),b.createElement("path",{d:"M35.1391 9.23718L26.3209 17.8619C25.8274 18.3446 25.8186 19.136 26.3013 19.6295C26.784 20.1231 27.5754 20.1319 28.069 19.6492L37.1012 10.815V16.9907C37.1012 17.681 37.6609 18.2407 38.3512 18.2407C39.0416 18.2407 39.6012 17.681 39.6012 16.9907V7.98718C39.6012 7.29683 39.0416 6.73718 38.3512 6.73718L29.3477 6.73718C28.6574 6.73718 28.0977 7.29683 28.0977 7.98718C28.0977 8.67754 28.6574 9.23718 29.3477 9.23718L35.1391 9.23718Z",fill:r}))}),pne=["color","size"],gne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,pne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.1323 0.500031H2.73399C1.42693 0.500031 0.399963 1.527 0.399963 2.83406V43.166C0.399963 44.4731 1.42693 45.5 2.73399 45.5H42.1323C43.4394 45.5 44.4664 44.4731 44.4664 43.166V2.83406C44.4664 1.527 43.4394 0.500031 42.1323 0.500031ZM41.6655 3.30086V25.8942L36.624 21.693C36.1572 21.2262 35.4103 21.2262 34.8502 21.5996L28.595 26.2677L15.5244 11.2365C15.3377 10.9565 14.9643 10.7697 14.5908 10.7697C14.2174 10.7697 13.8439 10.9565 13.5639 11.1432L3.20079 21.693V3.30086H41.6655ZM3.20079 42.6992V39.8984C4.22776 40.3652 5.72154 40.832 7.58876 40.832C9.36262 40.832 10.483 40.2718 11.3232 39.805C12.0701 39.4316 12.5369 39.1515 13.3771 39.2448C14.3108 39.3382 14.8709 39.5249 15.4311 39.805C16.2713 40.0851 17.2049 40.4585 18.9788 40.4585V38.3112C17.6717 38.3112 17.0182 38.0312 16.178 37.7511C15.5244 37.471 14.6842 37.1909 13.5639 37.0975C12.0701 36.9108 11.1365 37.471 10.2962 37.8444C9.54934 38.2179 8.80245 38.5913 7.4954 38.5913C5.06801 38.5913 3.6676 37.7511 3.10743 37.2843V35.0436C4.1344 35.5104 5.62818 35.9772 7.4954 35.9772C9.26926 35.9772 10.3896 35.417 11.2298 34.9502C11.9767 34.5768 12.4435 34.2967 13.2838 34.3901C14.2174 34.4834 14.7776 34.6702 15.3377 34.9502C16.178 35.2303 17.1116 35.6038 18.8854 35.6038V33.4565C17.5784 33.4565 16.9249 33.1764 16.0846 32.8963C15.4311 32.6162 14.5908 32.3361 13.4705 32.2428C11.9767 32.056 11.0431 32.6162 10.2029 32.9897C9.45598 33.3631 8.70909 33.7365 7.40204 33.7365C4.97465 33.7365 3.57424 32.8963 3.01407 32.4295V30.1888C4.04104 30.6556 5.53482 31.1224 7.40204 31.1224C9.1759 31.1224 10.2962 30.5623 11.1365 30.0955C11.8834 29.722 12.3502 29.4419 13.1904 29.5353C14.124 29.6287 14.6842 29.8154 15.2444 30.0955C16.0846 30.3755 17.0182 30.749 18.7921 30.749V28.6017C17.485 28.6017 16.8315 28.3216 15.9912 28.0415C15.3377 27.7614 14.4975 27.4814 13.3771 27.388C11.8834 27.2013 10.9498 27.7614 10.1095 28.1349C9.36262 28.5083 8.61573 28.8818 7.30868 28.8818C4.88129 28.8818 3.48088 28.0415 2.92071 27.5747V25.7075L14.124 14.2241L27.1012 29.0685C27.568 29.6287 28.4083 29.722 28.9684 29.2552L35.4103 24.4004L41.3854 29.4419V42.6058H3.20079V42.6992Z",fill:r}),b.createElement("path",{d:"M32.7029 15.7179C35.4103 15.7179 37.651 13.4772 37.651 10.7697C37.651 8.06227 35.4103 5.82161 32.7029 5.82161C29.9954 5.82161 27.7547 8.06227 27.7547 10.7697C27.7547 13.4772 29.9954 15.7179 32.7029 15.7179ZM32.7029 8.15563C34.1966 8.15563 35.317 9.36933 35.317 10.7697C35.317 12.1702 34.1033 13.3838 32.7029 13.3838C31.3025 13.3838 30.0888 12.1702 30.0888 10.7697C30.0888 9.36933 31.2091 8.15563 32.7029 8.15563Z",fill:r}))}),mne=["color","size"],vne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,mne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43.4164 5.98527H1.06762C0.533808 5.98527 0 6.53674 0 7.08821V49C0 49.7353 0.533808 50.1029 1.06762 50.1029H43.4164C44.1281 50.1029 44.484 49.7353 44.484 49V7.08821C44.484 6.53674 44.1281 5.98527 43.4164 5.98527ZM35.7651 13.1544C37.9004 13.1544 39.5 15.0809 39.5 17.1029C39.5 19.3088 37.7224 20.6029 35.7651 20.6029C33.8078 20.6029 32 19.125 32 17.1029C31.8221 14.897 33.6299 13.1544 35.7651 13.1544ZM1.9573 45.875C2.13523 45.6912 14.2349 30.9853 16.548 27.8603C16.726 27.4926 17.2598 27.4926 17.4377 27.8603L29.7153 43.4853L35.0534 37.4191C35.4093 37.0514 35.7651 37.2353 35.9431 37.4191L42.5267 45.875H1.9573Z",fill:r}),b.createElement("path",{d:"M48.9164 -3.8147e-06H6.74555C6.03381 -3.8147e-06 5.5 0.367643 5.5 1.10294V4.29294H7.5V2.20588H47.6892V39H46.2473V44.1176H48.9164C49.6281 44.1176 49.984 43.75 49.984 43.0147V1.10294C49.984 0.367643 49.6281 -3.8147e-06 48.9164 -3.8147e-06Z",fill:r}))}),yne=["color","size"],WA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,yne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M25 0C38.8071 0 50 11.1929 50 25C50 38.807 38.8071 50 25 50C14.111 50 4.854 43.0397 1.42326 33.333C0.963005 32.0312 1.6455 30.603 2.94725 30.143C4.249 29.6828 5.67725 30.365 6.1375 31.667C8.88425 39.4382 16.2957 45 25 45C36.0457 45 45 36.0457 45 25C45 13.9543 36.0457 5 25 5C21.121 5 17.8345 6.40292 14.7095 8.6015C12.6078 10.0803 10.663 11.8526 8.6895 13.75H16.25C17.6308 13.75 18.75 14.8693 18.75 16.25C18.75 17.6307 17.6308 18.75 16.25 18.75H2.5C1.11926 18.75 0 17.6307 0 16.25V2.5C0 1.1193 1.11926 0 2.5 0C3.88075 0 5 1.1193 5 2.5V10.3593C7.12075 8.31457 9.38601 6.23342 11.8325 4.51222C15.5128 1.9229 19.7882 0 25 0Z",fill:r}))}),bne=["color","size"],XA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,bne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M39.4229 8.89453L39.7891 16.6582H38.8613C38.6823 15.291 38.4382 14.3145 38.1289 13.7285C37.6243 12.7845 36.9489 12.0928 36.1025 11.6533C35.2725 11.1976 34.1738 10.9697 32.8066 10.9697H28.1436V36.2627C28.1436 38.2972 28.3633 39.5667 28.8027 40.0713C29.4212 40.7549 30.3734 41.0967 31.6592 41.0967H32.8066V42H18.7686V41.0967H19.9404C21.3402 41.0967 22.333 40.6735 22.9189 39.8271C23.277 39.3063 23.4561 38.1182 23.4561 36.2627V10.9697H19.4766C17.9303 10.9697 16.8317 11.0837 16.1807 11.3115C15.3343 11.6208 14.61 12.2148 14.0078 13.0938C13.4056 13.9727 13.0475 15.1608 12.9336 16.6582H12.0059L12.3965 8.89453H39.4229Z",fill:r}))}),wne=["color","size"],jO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,wne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 45 29",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0 1.89502C0 1.20466 0.559644 0.64502 1.25 0.64502H28.75C29.4404 0.64502 30 1.20466 30 1.89502C30 2.58538 29.4404 3.14502 28.75 3.14502H1.25C0.559645 3.14502 0 2.58538 0 1.89502Z",fill:r}),b.createElement("path",{d:"M0 14.395C0 13.7047 0.559644 13.145 1.25 13.145H43.75C44.4404 13.145 45 13.7047 45 14.395C45 15.0854 44.4404 15.645 43.75 15.645H1.25C0.559645 15.645 0 15.0854 0 14.395Z",fill:r}),b.createElement("path",{d:"M1.25 25.645C0.559644 25.645 0 26.2047 0 26.895C0 27.5854 0.559645 28.145 1.25 28.145H28.75C29.4404 28.145 30 27.5854 30 26.895C30 26.2047 29.4404 25.645 28.75 25.645H1.25Z",fill:r}))}),xne=["color","size"],YA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,xne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M38 1.50049C38 0.810132 37.4404 0.250488 36.75 0.250488H9.25C8.55964 0.250488 8 0.810132 8 1.50049C8 2.19084 8.55964 2.75049 9.25 2.75049H36.75C37.4404 2.75049 38 2.19084 38 1.50049Z",fill:r}),b.createElement("path",{d:"M45.5 14.0005C45.5 13.3101 44.9404 12.7505 44.25 12.7505H1.75C1.05964 12.7505 0.5 13.3101 0.5 14.0005C0.5 14.6908 1.05964 15.2505 1.75 15.2505H44.25C44.9404 15.2505 45.5 14.6908 45.5 14.0005Z",fill:r}),b.createElement("path",{d:"M36.75 25.2505C37.4404 25.2505 38 25.8101 38 26.5005C38 27.1908 37.4404 27.7505 36.75 27.7505H9.25C8.55964 27.7505 8 27.1908 8 26.5005C8 25.8101 8.55964 25.2505 9.25 25.2505H36.75Z",fill:r}))}),Cne=["color","size"],KA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Cne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 45 43",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M2.66027 14.6997L3.59752 14.4437L3.09232 3.93218C3.05918 3.24262 2.47331 2.71049 1.78375 2.74363C1.09419 2.77677 0.562061 3.36263 0.595202 4.05219L1.16041 15.8123C1.19355 16.5018 1.77942 17.034 2.46898 17.0008L14.2291 16.4356C14.9186 16.4025 15.4508 15.8166 15.4176 15.1271C15.3845 14.4375 14.7986 13.9054 14.1091 13.9385L5.48447 14.353C8.23224 7.41077 15.0052 2.50049 22.925 2.50049C33.2802 2.50049 41.6748 10.8951 41.6748 21.2503C41.6748 22.4035 41.5706 23.5324 41.3713 24.6281L43.7968 25.261C44.0449 23.9622 44.1748 22.6214 44.1748 21.2503C44.1748 9.51435 34.6609 0.000488281 22.925 0.000488281C15.0467 0.000488281 8.16974 4.28779 4.50001 10.6566L2.66027 14.6997Z",fill:r}),b.createElement("path",{d:"M9.88491 34.708L8.27773 36.6309C8.82614 37.1539 9.40248 37.6479 10.0043 38.1103L11.5276 36.128C10.9528 35.6863 10.4043 35.2121 9.88491 34.708Z",fill:r}),b.createElement("path",{d:"M12.3142 39.6567C13.9038 40.5764 15.6235 41.2961 17.439 41.7814L18.0846 39.3662C16.4846 38.9385 14.9685 38.3041 13.5662 37.4928L12.3142 39.6567Z",fill:r}),b.createElement("path",{d:"M20.1654 42.3209C21.0738 42.4394 22.0002 42.5005 22.9408 42.5005C23.8815 42.5005 24.8079 42.4394 25.7162 42.3209L25.3929 39.8419C24.5915 39.9465 23.7731 40.0005 22.9408 40.0005C22.1086 40.0005 21.2902 39.9465 20.4888 39.8419L20.1654 42.3209Z",fill:r}),b.createElement("path",{d:"M28.4427 41.7814C30.2582 41.2961 31.9779 40.5764 33.5674 39.6567L32.3154 37.4928C30.9132 38.3041 29.397 38.9385 27.7971 39.3662L28.4427 41.7814Z",fill:r}),b.createElement("path",{d:"M35.8774 38.1103C37.3494 36.9791 38.6692 35.6594 39.8004 34.1873L37.8181 32.664C36.8193 33.9638 35.6538 35.1292 34.354 36.128L35.8774 38.1103Z",fill:r}),b.createElement("path",{d:"M41.3468 31.8773C42.2665 30.2878 42.9862 28.5681 43.4715 26.7526L41.0563 26.107C40.6286 27.707 39.9942 29.2231 39.1829 30.6253L41.3468 31.8773Z",fill:r}))}),Sne=["color","size"],_ne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Sne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("g",{clipPath:"url(#clip0)"},b.createElement("path",{d:"M50.2753 26.8064H24.4689L36.5656 14.7096C32.735 11.0806 28.7027 9.66933 23.6624 9.66933C13.3802 9.66933 6.32372 15.3145 3.50118 25.5967L0.275391 24.7903C3.50118 13.0968 11.9689 6.44355 23.6625 6.44355C29.7109 6.44355 34.348 8.25806 38.9851 12.2903L50.2754 1L50.2753 26.8064Z",fill:r}),b.createElement("path",{d:"M34.5495 46.3628L33.1382 44.3467C33.743 43.9435 34.3479 43.3386 34.9527 42.9355L36.5656 44.75C35.9608 45.1532 35.3559 45.758 34.5495 46.3628Z",fill:r}),b.createElement("path",{d:"M27.2913 49.387C26.6865 49.5886 26.0817 49.5886 25.4768 49.7903L25.0736 47.3709C26.4848 47.1693 27.8962 46.7661 29.3074 46.3628L30.1139 48.5806C29.1058 48.9838 28.2994 49.1854 27.2913 49.387ZM20.4365 49.9919C18.8235 49.7903 17.2107 49.5886 15.5978 48.9838L16.4042 46.766C17.8155 47.1693 19.2268 47.5724 20.6381 47.5724L20.4365 49.9919ZM11.1623 46.9677C9.75104 46.1612 8.33971 45.1532 7.13003 43.9435L8.74296 42.129C9.75104 43.137 10.9607 43.9435 12.372 44.7499L11.1623 46.9677ZM3.90425 40.3144C2.89617 38.9032 2.08974 37.2903 1.6865 35.879L3.90425 35.0726C4.50909 36.4838 5.11393 37.6935 5.92036 38.9032L3.90425 40.3144Z",fill:r}),b.createElement("path",{d:"M3.2996 30.0322L0.880241 30.2338C0.678647 29.2257 0.678647 28.4193 0.678647 27.4112H3.09801C3.09801 28.4193 3.2996 29.2258 3.2996 30.0322Z",fill:r})),b.createElement("defs",null,b.createElement("rect",{width:"50",height:"50",fill:"white",transform:"translate(0.275391)"})))}),One=["color","size"],Ene=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,One);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 51 51",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M40.5 20H38V12.5C38 5.6 32.4 0 25.5 0C18.6 0 13 5.6 13 12.5V20H10.5C9.1 20 8 21.1 8 22.5V47.5C8 48.9 9.1 50 10.5 50H40.5C41.9 50 43 48.9 43 47.5V22.5C43 21.1 41.9 20 40.5 20ZM15.5 12.5C15.5 7 20 2.5 25.5 2.5C31 2.5 35.5 7 35.5 12.5V20H15.5V12.5ZM40.5 47.5H10.5V22.5H40.5V47.5Z",fill:r}),b.createElement("path",{d:"M24.3 37.3V41.3H26.8V37.3C28.3 36.8 29.3 35.4 29.3 33.8C29.3 31.7 27.6 30 25.5 30C23.4 30 21.7 31.7 21.7 33.8C21.8 35.4 22.8 36.8 24.3 37.3ZM25.5 32.5C26.2 32.5 26.8 33.1 26.8 33.8C26.8 34.5 26.2 35.1 25.5 35.1C24.8 35.1 24.2 34.5 24.2 33.8C24.3 33.1 24.8 32.5 25.5 32.5Z",fill:r}))}),Pne=["color","size"],kne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Pne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M36.2754 7.5C34.2754 3.1 29.8754 0 24.7754 0C17.8754 0 12.2754 5.6 12.2754 12.5V20H9.77539C8.37539 20 7.27539 21.1 7.27539 22.5V47.5C7.27539 48.9 8.37539 50 9.77539 50H39.7754C41.1754 50 42.2754 48.9 42.2754 47.5V22.5C42.2754 21.1 41.1754 20 39.7754 20H14.7754V12.5C14.7754 7 19.2754 2.5 24.7754 2.5C28.4754 2.5 31.7754 4.5 33.4754 7.6L36.2754 7.5ZM39.7754 47.5H9.77539V22.5H39.7754V47.5Z",fill:r}),b.createElement("path",{d:"M24.7754 30C22.6754 30 20.9754 31.7 20.9754 33.7C20.9754 35.3 21.9754 36.7 23.4754 37.2V41.2H25.9754V37.2C27.4754 36.7 28.4754 35.3 28.4754 33.7C28.5754 31.7 26.8754 30 24.7754 30ZM24.7754 35C24.0754 35 23.4754 34.4 23.4754 33.7C23.4754 33 24.0754 32.4 24.7754 32.4C25.4754 32.4 25.9754 33 25.9754 33.7C25.9754 34.4 25.4754 35 24.7754 35Z",fill:r}))}),Lne=["color","size"],Mne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Lne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("circle",{cx:"25",cy:"25",r:"8.33333",fill:r}))}),Tne=["color","size"],Ane=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Tne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.6793 7.32203C32.916 -2.44013 17.0863 -2.44122 7.32197 7.32203C-2.44128 17.0853 -2.4402 32.915 7.32197 42.6793C17.0852 52.4404 32.9149 52.4415 42.6793 42.6793C52.4414 32.915 52.4403 17.0864 42.6793 7.32203ZM28.2605 35.8705C28.2605 37.6716 26.8007 39.1314 24.9995 39.1314C23.1984 39.1314 21.7386 37.6716 21.7386 35.8705V22.8267C21.7386 21.0256 23.1984 19.5658 24.9995 19.5658C26.8007 19.5658 28.2605 21.0256 28.2605 22.8267V35.8705ZM24.9419 17.2527C23.0636 17.2527 21.8114 15.9222 21.8506 14.2798C21.8114 12.558 23.0636 11.2678 24.98 11.2678C26.8974 11.2678 28.1105 12.5591 28.1507 14.2798C28.1496 15.9222 26.8985 17.2527 24.9419 17.2527Z",fill:r}))}),Ine=["color","size"],ZA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ine);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M48.9856 38.314L31.3034 3.80423C29.9688 1.42247 27.6118 0 24.9985 0C22.3852 0 20.0282 1.42247 18.6936 3.80423C18.6836 3.82245 18.6751 3.84067 18.665 3.8589L1.04158 38.2594C-0.321602 40.6914 -0.347383 43.612 0.971367 46.0713C2.29314 48.5321 4.67439 50 7.345 50H42.5544C45.225 50 47.7041 48.5321 49.0258 46.0713C50.3445 43.6121 50.3188 40.6913 48.9856 38.314ZM22.0659 15.8013C22.0659 14.0842 23.3789 12.6924 24.9985 12.6924C26.6182 12.6924 27.9311 14.0843 27.9311 15.8013V28.2372C27.9311 29.9541 26.6181 31.3462 24.9985 31.3462C23.3789 31.3462 22.0659 29.954 22.0659 28.2372V15.8013ZM24.9985 43.7821C22.5728 43.7821 20.5995 41.6902 20.5995 39.1186C20.5995 36.5471 22.5727 34.4552 24.9985 34.4552C27.4242 34.4552 29.3974 36.5471 29.3974 39.1186C29.3975 41.6901 27.4243 43.7821 24.9985 43.7821Z",fill:r}))}),Fne=["color","size"],Dne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Fne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M25 50C11.2033 50 0 38.7967 0 25C0 11.2033 11.2033 0 25 0C38.7967 0 50 11.2033 50 25C50 38.7967 38.6929 50 25 50ZM25 3.52697C13.1743 3.52697 3.63071 13.1743 3.63071 24.8963C3.63071 36.6183 13.278 46.2656 25 46.2656C36.8257 46.2656 46.3693 36.6183 46.3693 24.8963C46.3693 13.1743 36.8257 3.52697 25 3.52697Z",fill:r}),b.createElement("path",{d:"M28.3755 13.125C28.3755 11.3992 26.9765 10 25.2505 10C23.5245 10 22.1255 11.3992 22.1255 13.125C22.1255 14.8516 23.5245 16.25 25.2505 16.25C26.9765 16.25 28.3755 14.8516 28.3755 13.125Z",fill:r}),b.createElement("path",{d:"M20.563 38.5H29.938C30.8009 38.5 31.5005 37.8012 31.5005 36.9375C31.5005 36.0746 30.8009 35.375 29.938 35.375H28.3755V20.9375C28.3755 20.0746 27.6759 19.375 26.813 19.375H20.563C19.7001 19.375 19.0005 20.0746 19.0005 20.9375C19.0005 21.8012 19.7001 22.5 20.563 22.5H22.1255V35.375H20.563C19.7001 35.375 19.0005 36.0746 19.0005 36.9375C19.0005 37.8012 19.7001 38.5 20.563 38.5Z",fill:r}))}),Nne=["color","size"],$A=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Nne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M31.3032 17.8662C34.0646 17.8662 36.3032 15.6276 36.3032 12.8662C36.3032 10.1048 34.0646 7.86618 31.3032 7.86618C28.5418 7.86618 26.3032 10.1048 26.3032 12.8662C26.3032 15.6276 28.5418 17.8662 31.3032 17.8662ZM31.3032 15.3662C32.6839 15.3662 33.8032 14.2469 33.8032 12.8662C33.8032 11.4855 32.6839 10.3662 31.3032 10.3662C29.9225 10.3662 28.8032 11.4855 28.8032 12.8662C28.8032 14.2469 29.9225 15.3662 31.3032 15.3662Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.9372 15.1063C16.3967 15.0794 16.8338 15.3071 17.075 15.6991L25.0831 28.7141L29.8357 24.4289C30.0935 24.1966 30.4362 24.0818 30.7819 24.1121C31.1276 24.1424 31.4452 24.3151 31.6586 24.5887L40.2822 35.6497C40.5759 36.0264 40.6292 36.5376 40.4196 36.9668C40.21 37.396 39.7741 37.6683 39.2964 37.6683H6.70331C6.2766 37.6683 5.87937 37.4506 5.64974 37.091C5.42011 36.7313 5.38981 36.2794 5.56937 35.8923L14.8765 15.8282C15.0702 15.4106 15.4777 15.1333 15.9372 15.1063ZM16.1652 18.991L8.66108 35.1683H36.7368L30.5126 27.1848L25.6422 31.5761C25.3666 31.8246 24.9947 31.9378 24.6274 31.885C24.26 31.8322 23.9351 31.6189 23.7406 31.3027L16.1652 18.991Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z",fill:r}))}),Rne=["color","size"],jne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Rne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.562515 0.562512H3.68752V2.90626H2.90627V3.68751H0.562515V0.562512ZM0.562515 44.3125V47.4375H3.68752V45.0938H2.90627V44.3125H0.562515ZM44.3125 47.4375H47.4375V44.3125H45.0938V45.0938H44.3125V47.4375ZM47.4375 3.68751V0.562512H44.3125V2.90626H45.0938V3.68751H47.4375ZM7.59376 0.562512V3.68751H12.2813V0.562512H7.59376ZM16.9688 0.562512V3.68751H21.6563V0.562512H16.9688ZM26.3438 0.562512V3.68751H31.0313V0.562512H26.3438ZM35.7188 0.562512V3.68751H40.4063V0.562512H35.7188ZM47.4375 7.59376H44.3125V12.2813H47.4375V7.59376ZM47.4375 16.9688H44.3125V21.6563H47.4375V16.9688ZM47.4375 26.3438H44.3125V31.0313H47.4375V26.3438ZM47.4375 35.7188H44.3125V40.4063H47.4375V35.7188ZM40.4063 47.4375V44.3125H35.7188V47.4375H40.4063ZM31.0313 47.4375V44.3125H26.3438V47.4375H31.0313ZM21.6563 47.4375V44.3125H16.9688V47.4375H21.6563ZM12.2813 47.4375V44.3125H7.59377V47.4375H12.2813ZM0.562515 40.4063H3.68752V35.7188H0.562515V40.4063ZM0.562515 31.0313H3.68752V26.3438H0.562515V31.0313ZM0.562515 21.6563H3.68752V16.9688H0.562515V21.6563ZM0.562515 12.2813H3.68752V7.59376H0.562515V12.2813Z",fill:r}))}),zne=["color","size"],Bne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,zne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M37.5001 24.0625C38.2086 24.0625 38.8284 23.5858 39.0102 22.901C39.1921 22.2162 38.8904 21.4948 38.2753 21.1433L3.27531 1.14333C2.79171 0.866989 2.19757 0.868973 1.71583 1.14854C1.23409 1.4281 0.937592 1.94298 0.937592 2.49996V22.5C0.937592 23.3629 1.63715 24.0625 2.50009 24.0625L37.5001 24.0625ZM4.06259 20.9375L4.06259 5.19243L31.6164 20.9375L4.06259 20.9375Z",fill:r}),b.createElement("path",{d:"M38.2753 28.8566C38.8904 28.5051 39.1921 27.7837 39.0102 27.0989C38.8284 26.4142 38.2086 25.9375 37.5001 25.9375H35.3126V26.9504L34.5374 27.3933L35.3126 28.75V29.0625H35.4912L36.0878 30.1066L38.2753 28.8566Z",fill:r}),b.createElement("path",{d:"M27.3378 35.1066L31.7128 32.6066L30.1624 29.8933L25.7874 32.3933L27.3378 35.1066Z",fill:r}),b.createElement("path",{d:"M30.9376 25.9375H26.5626L26.5626 29.0625H30.9376L30.9376 25.9375Z",fill:r}),b.createElement("path",{d:"M18.5878 40.1066L22.9628 37.6066L21.4124 34.8933L17.0374 37.3933L18.5878 40.1066Z",fill:r}),b.createElement("path",{d:"M22.1876 25.9375H17.8126V29.0625H22.1876V25.9375Z",fill:r}),b.createElement("path",{d:"M9.83781 45.1066L14.2128 42.6066L12.6624 39.8933L8.28738 42.3933L9.83781 45.1066Z",fill:r}),b.createElement("path",{d:"M13.4376 25.9375H9.0626V29.0625H13.4376V25.9375Z",fill:r}),b.createElement("path",{d:"M3.27531 48.8566L5.46281 47.6066L4.06259 45.1562V45H3.97331L3.91238 44.8933L3.72578 45H0.937592V47.5C0.937592 48.0569 1.23409 48.5718 1.71583 48.8514C2.19758 49.1309 2.79171 49.1329 3.27531 48.8566Z",fill:r}),b.createElement("path",{d:"M4.6876 25.9375L2.50009 25.9375C1.63715 25.9375 0.937592 26.637 0.937592 27.5V30H4.06259V29.0625H4.6876V25.9375Z",fill:r}),b.createElement("path",{d:"M0.937592 35V40L4.06259 40V35H0.937592Z",fill:r}))}),Hne=["color","size"],Gne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Hne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M24.0625 1.93758C24.0625 1.22909 23.5858 0.609274 22.901 0.427427C22.2163 0.245581 21.4949 0.547225 21.1434 1.16237L1.14337 39.2874C0.867028 39.771 0.869012 40.3651 1.14858 40.8468C1.42814 41.3286 1.94302 41.6251 2.5 41.6251H22.5C23.3629 41.6251 24.0625 40.9255 24.0625 40.0626V1.93758ZM20.9375 38.5001H5.19247L20.9375 7.82128V38.5001Z",fill:r}),b.createElement("path",{d:"M28.8566 1.16237C28.5051 0.547225 27.7837 0.245581 27.099 0.427428C26.4142 0.609274 25.9375 1.22909 25.9375 1.93758V4.12508H26.9504L27.3934 4.9003L28.75 4.12508H29.0625V3.94651L30.1066 3.34986L28.8566 1.16237Z",fill:r}),b.createElement("path",{d:"M35.1066 12.0999L32.6066 7.72486L29.8934 9.2753L32.3934 13.6503L35.1066 12.0999Z",fill:r}),b.createElement("path",{d:"M25.9375 8.50008V12.8751H29.0625V8.50008H25.9375Z",fill:r}),b.createElement("path",{d:"M40.1066 23.9749L37.6066 19.5999L34.8934 21.1503L37.3934 25.5253L40.1066 23.9749Z",fill:r}),b.createElement("path",{d:"M25.9375 20.3751V24.7501H29.0625V20.3751H25.9375Z",fill:r}),b.createElement("path",{d:"M45.1066 32.7249L42.6066 28.3499L39.8934 29.9003L42.3934 34.2753L45.1066 32.7249Z",fill:r}),b.createElement("path",{d:"M25.9375 29.1251V33.5001H29.0625V29.1251H25.9375Z",fill:r}),b.createElement("path",{d:"M48.8566 39.2874L47.6066 37.0999L45.1562 38.5001H45V38.5894L44.8934 38.6503L45 38.8369V41.6251H47.5C48.057 41.6251 48.5719 41.3286 48.8514 40.8468C49.131 40.3651 49.133 39.771 48.8566 39.2874Z",fill:r}),b.createElement("path",{d:"M25.9375 37.8751V40.0626C25.9375 40.9255 26.6371 41.6251 27.5 41.6251H30V38.5001H29.0625V37.8751H25.9375Z",fill:r}),b.createElement("path",{d:"M35 41.6251H40V38.5001H35V41.6251Z",fill:r}))}),Vne=["color","size"],qA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Vne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25.2047 46.875C37.2859 46.875 47.0797 37.0812 47.0797 25C47.0797 12.9188 37.2859 3.125 25.2047 3.125C13.1235 3.125 3.32968 12.9188 3.32968 25C3.32968 37.0812 13.1235 46.875 25.2047 46.875ZM25.2047 50C39.0118 50 50.2047 38.8071 50.2047 25C50.2047 11.1929 39.0118 0 25.2047 0C11.3976 0 0.204681 11.1929 0.204681 25C0.204681 38.8071 11.3976 50 25.2047 50Z",fill:r}))}),Une=["color","size"],Wne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Une);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 51 36",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.11841 3.93805V32.063H47.8684V3.93805H4.11841ZM3.49341 0.813049C2.1127 0.813049 0.993408 1.91235 0.993408 3.26841V32.7327C0.993408 34.0887 2.1127 35.188 3.49341 35.188H48.4934C49.8741 35.188 50.9934 34.0887 50.9934 32.7327V3.26841C50.9934 1.91235 49.8741 0.813049 48.4934 0.813049H3.49341Z",fill:r}))}),Xne=["color","size"],Yne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Xne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.50015 7.9997C5.50015 6.61898 6.61944 5.49969 8.00015 5.49969H38.0002C39.3809 5.49969 40.5002 6.61898 40.5002 7.99969V37.9997C40.5002 39.3804 39.3809 40.4997 38.0002 40.4997H8.00015C6.61944 40.4997 5.50015 39.3804 5.50015 37.9997V7.9997ZM8.00015 7.99969H38.0002V37.9997H8.00015V7.99969Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V43C45.5 44.3807 44.3807 45.5 43 45.5H3C1.61929 45.5 0.5 44.3807 0.5 43V3ZM3 3H43V43H3V3Z",fill:r}))}),Kne=["color","size"],Zne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Kne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.166672 0.166664H8.50001V8.5H0.166672V0.166664Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.8333 8.5H8.50001V16.8333H0.166672V25.1667H8.50001V33.5H0.166672V41.8333H8.50001V33.5H16.8333V41.8333H25.1667V33.5H33.5V41.8333H41.8333V33.5H33.5V25.1667H41.8333V16.8333H33.5V8.5H41.8333V0.166664H33.5V8.5H25.1667V0.166664H16.8333V8.5ZM16.8333 16.8333V8.5H25.1667V16.8333H16.8333ZM16.8333 25.1667V33.5H25.1667V25.1667H33.5V16.8333H25.1667V25.1667H16.8333ZM16.8333 25.1667H8.50001V16.8333H16.8333V25.1667Z",fill:r}))}),$ne=["color","size"],qne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,$ne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.95831 0.458374C1.5776 0.458374 0.458313 1.57766 0.458313 2.95837V35.4584C0.458313 36.8391 1.5776 37.9584 2.95831 37.9584H7.54167V43.7917C7.54167 45.8627 9.2206 47.5417 11.2917 47.5417H43.7917C45.8627 47.5417 47.5417 45.8627 47.5417 43.7917V11.2917C47.5417 9.22059 45.8627 7.54166 43.7917 7.54166H37.9583V2.95837C37.9583 1.57766 36.839 0.458374 35.4583 0.458374H2.95831ZM35.4583 2.95837H2.95831L2.95831 35.4584H35.4583V2.95837ZM15.7267 37.9584L10.0417 43.746V37.9584H15.7267ZM11.5135 45.0417L18.4712 37.9584H28.5529L21.4696 45.0417H11.5135ZM24.4159 45.0417H34.2932L45.0417 34.1339V24.0207L37.9583 31.3242V35.4584C37.9583 36.8391 36.839 37.9584 35.4583 37.9584H31.4912C31.4689 37.9859 31.445 38.0126 31.4194 38.0382L24.4159 45.0417ZM45.0417 21.3515L37.9583 28.655V18.9107L45.0417 11.8338V21.3515ZM37.0311 45.0417H43.7917C44.482 45.0417 45.0417 44.482 45.0417 43.7917V36.9124L37.0311 45.0417ZM43.8844 10.045C43.8538 10.0428 43.8229 10.0417 43.7917 10.0417H37.9583V15.9657L43.8844 10.045Z",fill:r}))}),Qne=["color","size"],Jne=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Qne);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M3 3H23V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V23H43V43H3V3Z",fill:r}),b.createElement("path",{d:"M45.5 7.25076H43V5.50076C43 5.15718 42.9321 4.83576 42.8113 4.54446L45.1206 3.58682C45.3651 4.17636 45.5 4.82281 45.5 5.50076V7.25076Z",fill:r}),b.createElement("path",{d:"M24.75 0.500763V3.00076H28.25V0.500763H24.75Z",fill:r}),b.createElement("path",{d:"M31.75 0.500763V3.00076H35.25V0.500763H31.75Z",fill:r}),b.createElement("path",{d:"M38.75 0.500763V3.00076H40.5C40.8436 3.00076 41.165 3.06868 41.4563 3.18948L42.414 0.880166C41.8244 0.635694 41.178 0.500763 40.5 0.500763H38.75Z",fill:r}),b.createElement("path",{d:"M45.5 10.7508H43V14.2508H45.5V10.7508Z",fill:r}),b.createElement("path",{d:"M45.5 17.7508H43V21.2508H45.5V17.7508Z",fill:r}))}),ere=["color","size"],tre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ere);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M9.25008 9.24878H11.7501V10.9675H10.9688V11.7488H9.25008V9.24878Z",fill:r}),b.createElement("path",{d:"M9.25008 34.2488V36.7488H11.7501V35.03H10.9688V34.2488H9.25008Z",fill:r}),b.createElement("path",{d:"M34.2501 36.7488H36.7501V34.2488H35.0313V35.03H34.2501V36.7488Z",fill:r}),b.createElement("path",{d:"M36.7501 11.7488V9.24878H34.2501V10.9675H35.0313V11.7488H36.7501Z",fill:r}),b.createElement("path",{d:"M14.4063 9.24878V11.7488H17.8438V9.24878H14.4063Z",fill:r}),b.createElement("path",{d:"M21.2813 9.24878V11.7488H24.7188V9.24878H21.2813Z",fill:r}),b.createElement("path",{d:"M28.1563 9.24878V11.7488H31.5938V9.24878H28.1563Z",fill:r}),b.createElement("path",{d:"M36.7501 14.405H34.2501V17.8425H36.7501V14.405Z",fill:r}),b.createElement("path",{d:"M36.7501 21.28H34.2501V24.7175H36.7501V21.28Z",fill:r}),b.createElement("path",{d:"M36.7501 28.155H34.2501V31.5925H36.7501V28.155Z",fill:r}),b.createElement("path",{d:"M31.5938 36.7488V34.2488H28.1563V36.7488H31.5938Z",fill:r}),b.createElement("path",{d:"M24.7188 36.7488V34.2488H21.2813V36.7488H24.7188Z",fill:r}),b.createElement("path",{d:"M17.8438 36.7488V34.2488H14.4063V36.7488H17.8438Z",fill:r}),b.createElement("path",{d:"M9.25008 31.5925H11.7501V28.155H9.25008V31.5925Z",fill:r}),b.createElement("path",{d:"M9.25008 24.7175H11.7501V21.28H9.25008V24.7175Z",fill:r}),b.createElement("path",{d:"M9.25008 17.8425H11.7501V14.405H9.25008V17.8425Z",fill:r}),b.createElement("path",{d:"M23.0002 26.7497C25.0712 26.7497 26.7502 25.0708 26.7502 22.9997C26.7502 20.9286 25.0712 19.2497 23.0002 19.2497C20.9291 19.2497 19.2502 20.9286 19.2502 22.9997C19.2502 25.0708 20.9291 26.7497 23.0002 26.7497Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z",fill:r}))}),nre=["color","size"],rre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,nre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.29986 0.991788C4.78802 0.503633 5.57947 0.503633 6.06763 0.991788L9.367 4.29116C9.85516 4.77932 9.85516 5.57077 9.367 6.05893C8.87885 6.54708 8.08739 6.54708 7.59924 6.05893L6.43374 4.89344V34.0829L7.59924 32.9174C8.08739 32.4293 8.87885 32.4293 9.367 32.9174C9.85516 33.4056 9.85516 34.197 9.367 34.6852L6.06763 37.9846C5.8332 38.219 5.51524 38.3507 5.18371 38.3507C4.85217 38.3507 4.53422 38.219 4.29981 37.9845L1.00084 34.6851C0.512712 34.1969 0.512761 33.4055 1.00095 32.9174C1.48913 32.4292 2.28059 32.4293 2.76871 32.9175L3.93374 34.0827V4.89344L2.76825 6.05893C2.2801 6.54708 1.48864 6.54708 1.00049 6.05893C0.51233 5.57077 0.51233 4.77932 1.00049 4.29116L4.29986 0.991788ZM13.1588 8.34109V1.49725H46.3156V8.34102H43.398V7.19776C43.398 5.54595 42.0562 4.20442 40.4047 4.20442H31.8516V26.0992C31.8516 28.1387 33.5088 29.7957 35.5481 29.7957H36.5137V32.4599H23.01V29.7957H23.9756C26.0151 29.7957 27.6721 28.1387 27.6721 26.0992V4.20448H19.0697C17.418 4.20448 16.0763 5.54604 16.0763 7.19783V8.34109H13.1588ZM46.9995 39.7088C47.4877 39.2207 47.4877 38.4292 46.9995 37.9411L43.7001 34.6417C43.212 34.1535 42.4205 34.1535 41.9324 34.6417C41.4442 35.1298 41.4442 35.9213 41.9324 36.4095L43.0979 37.5749L15.0832 37.5749L16.2484 36.4099C16.7366 35.9218 16.7366 35.1303 16.2485 34.6421C15.7604 34.154 14.9689 34.1539 14.4807 34.642L11.1814 37.941C10.9469 38.1754 10.8152 38.4934 10.8152 38.8249C10.8152 39.1564 10.9469 39.4744 11.1813 39.7088L14.4807 43.0082C14.9688 43.4964 15.7603 43.4964 16.2485 43.0082C16.7366 42.5201 16.7366 41.7286 16.2485 41.2404L15.083 40.0749L43.0979 40.0749L41.9324 41.2404C41.4442 41.7286 41.4442 42.5201 41.9324 43.0082C42.4205 43.4964 43.212 43.4964 43.7001 43.0082L46.9995 39.7088Z",fill:r}))}),ire=["color","size"],are=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ire);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M13.8334 9.19949C13.8334 8.50914 14.3931 7.94949 15.0834 7.94949H31.3334C32.0238 7.94949 32.5834 8.50914 32.5834 9.19949C32.5834 9.88985 32.0238 10.4495 31.3334 10.4495H15.0834C14.3931 10.4495 13.8334 9.88985 13.8334 9.19949Z",fill:r}),b.createElement("path",{d:"M15.0834 35.5496C14.3931 35.5496 13.8334 36.1092 13.8334 36.7996C13.8334 37.4899 14.3931 38.0496 15.0834 38.0496H31.3334C32.0238 38.0496 32.5834 37.4899 32.5834 36.7996C32.5834 36.1092 32.0238 35.5496 31.3334 35.5496H15.0834Z",fill:r}),b.createElement("path",{d:"M36.8001 13.4163C37.4905 13.4163 38.0501 13.9759 38.0501 14.6663V30.9163C38.0501 31.6066 37.4905 32.1663 36.8001 32.1663C36.1098 32.1663 35.5501 31.6066 35.5501 30.9163V14.6663C35.5501 13.9759 36.1098 13.4163 36.8001 13.4163Z",fill:r}),b.createElement("path",{d:"M10.45 14.6663C10.45 13.9759 9.89038 13.4163 9.20003 13.4163C8.50967 13.4163 7.95003 13.9759 7.95003 14.6663L7.95003 30.9163C7.95003 31.6066 8.50967 32.1663 9.20003 32.1663C9.89038 32.1663 10.45 31.6066 10.45 30.9163L10.45 14.6663Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V43C0.5 44.3807 1.61929 45.5 3 45.5H43C44.3807 45.5 45.5 44.3807 45.5 43V3C45.5 1.61929 44.3807 0.5 43 0.5H3ZM43 3H3V43H43V3Z",fill:r}))}),ore=["color","size"],sre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ore);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M44.103 18.4866L24.0002 3.8811L3.89749 18.4866L11.5761 42.1188H36.4244L44.103 18.4866ZM25.8371 1.35293C24.7418 0.557164 23.2587 0.557162 22.1634 1.35292L2.06066 15.9584C0.96539 16.7542 0.507082 18.1647 0.925439 19.4523L8.604 43.0845C9.02236 44.372 10.2222 45.2438 11.5761 45.2438H36.4244C37.7782 45.2438 38.9781 44.372 39.3965 43.0845L47.075 19.4523C47.4934 18.1647 47.0351 16.7542 45.9398 15.9584L25.8371 1.35293Z",fill:r}))}),lre=["color","size"],cre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.0078 29.9669H25.835L24.7803 35.9727H27.4609L28.5156 29.9669H32.2363V27.4473H28.9551L29.6875 23.2872H33.3496V20.7383H30.1416L31.2109 14.6446H28.5303L27.4609 20.7383H24.6191L25.6885 14.6446H23.0225L21.9531 20.7383H18.1006V23.2872H21.499L20.7666 27.4473H17.002V29.9669H20.3271L19.2725 35.9727H21.9531L23.0078 29.9669ZM26.2744 27.4473H23.4473L24.165 23.2872H27.0068L26.2744 27.4473Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M23.5448 0.821208C24.421 0.184598 25.6075 0.184597 26.4837 0.821207L48.4803 16.8026C49.3565 17.4392 49.7231 18.5677 49.3885 19.5977L40.9865 45.4562C40.6518 46.4862 39.692 47.1836 38.6089 47.1836H11.4197C10.3366 47.1836 9.37672 46.4862 9.04204 45.4562L0.640107 19.5977C0.305422 18.5677 0.672067 17.4392 1.54829 16.8026L23.5448 0.821208ZM25.0143 2.84375L47.0108 18.8252L38.6089 44.6836H11.4197L3.01775 18.8252L25.0143 2.84375Z",fill:r}))}),ure=["color","size"],dre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,ure);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 30",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M45.5 15.0005C45.5 15.7079 45.2003 16.3822 44.6753 16.8562L30.8291 29.3562C29.8042 30.2814 28.2234 30.2006 27.2982 29.1758C26.373 28.1509 26.4537 26.57 27.4786 25.6448L36.5 17.5005L3 17.5005C1.61928 17.5005 0.499999 16.3812 0.499999 15.0005C0.499999 13.6198 1.61929 12.5005 3 12.5005L36.5 12.5005L27.4786 4.35618C26.4537 3.43096 26.373 1.85011 27.2982 0.82525C28.2234 -0.199608 29.8042 -0.280382 30.8291 0.644837L44.6753 13.1448C45.2003 13.6189 45.5 14.2931 45.5 15.0005Z",fill:r}))}),hre=["color","size"],fre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M19 48L26.9931 2H31.2019L23.2087 48H19Z",fill:r}))}),pre=["color","size"],gre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,pre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 14 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M0.214966 17.4813V0.518677H6.61123C8.82693 0.518677 10.5075 0.914783 11.653 1.70699C12.7985 2.49144 13.3712 3.64481 13.3712 5.16709C13.3712 5.99814 13.1413 6.7321 12.6814 7.36898C12.2216 7.99809 11.5819 8.46021 10.7625 8.75535C11.699 8.97282 12.4348 9.41164 12.9699 10.0718C13.5133 10.732 13.7851 11.5397 13.7851 12.4951C13.7851 14.1261 13.2249 15.361 12.1045 16.1998C10.9841 17.0386 9.38713 17.4658 7.31357 17.4813H0.214966ZM3.97748 10.0951V14.6736H7.20069C8.08697 14.6736 8.77677 14.4795 9.27007 14.0911C9.77174 13.695 10.0226 13.1513 10.0226 12.4601C10.0226 10.9067 9.1572 10.1184 7.42644 10.0951H3.97748ZM3.97748 7.62528H6.76173C8.65971 7.59421 9.6087 6.89132 9.6087 5.5166C9.6087 4.74769 9.36623 4.19625 8.88128 3.86228C8.4047 3.52054 7.64801 3.34967 6.61123 3.34967H3.97748V7.62528Z",fill:r}))}),mre=["color","size"],QA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,mre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M17.5911 1.54582C16.7075 0.680052 15.2937 0.680014 14.4101 1.54573L4.05296 11.6925C3.15635 12.5709 3.14159 14.0098 4.01999 14.9064C4.89839 15.8031 6.33733 15.8178 7.23394 14.9394L13.7278 8.57741V30.4419C13.7278 31.6971 14.7454 32.7147 16.0006 32.7147C17.2558 32.7147 18.2733 31.6971 18.2733 30.4419V8.57782L24.766 14.9393C25.6625 15.8178 27.1015 15.8031 27.9799 14.9065C28.8584 14.01 28.8437 12.571 27.9471 11.6926L17.5911 1.54582Z",fill:r}),b.createElement("path",{d:"M2.78827 36.5543C1.53308 36.5543 0.515541 37.5719 0.515541 38.827C0.515541 40.0822 1.53308 41.0998 2.78827 41.0998H29.1519C30.4071 41.0998 31.4246 40.0822 31.4246 38.827C31.4246 37.5719 30.4071 36.5543 29.1519 36.5543H2.78827Z",fill:r}))}),vre=["color","size"],JA=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,vre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 28 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M26.907 0.71085C25.7493 -0.292553 23.9445 -0.224769 22.8758 0.862251L0.931376 23.1837C-0.0773525 24.2097 -0.0773525 25.7913 0.931376 26.8173L22.8758 49.1388C23.9445 50.2258 25.7493 50.2936 26.907 49.2902C28.0647 48.2868 28.1369 46.5921 27.0683 45.5051L6.90997 25.0005L27.0683 4.49589C28.1369 3.40888 28.0647 1.71425 26.907 0.71085Z",fill:r}))}),yre=["color","size"],bre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,yre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 28 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.09286 0.71085C2.25057 -0.292553 4.05541 -0.224769 5.12407 0.862251L27.0685 23.1837C28.0772 24.2097 28.0772 25.7913 27.0685 26.8173L5.12407 49.1388C4.05541 50.2258 2.25057 50.2936 1.09286 49.2902C-0.0648579 48.2868 -0.137051 46.5921 0.93161 45.5051L21.0899 25.0005L0.93161 4.49589C-0.137051 3.40888 -0.0648579 1.71425 1.09286 0.71085Z",fill:r}))}),wre=["color","size"],xre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,wre);return b.createElement("svg",le({ref:t,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 50 50",fill:"none"},o),b.createElement("path",{d:"M22.9167 27.0838L22.9167 41.6672C22.9167 42.8177 23.8494 43.7505 25 43.7505C26.1506 43.7505 27.0833 42.8177 27.0833 41.6672L27.0833 27.0838H41.6667C42.8173 27.0838 43.75 26.1511 43.75 25.0005C43.75 23.8499 42.8173 22.9172 41.6667 22.9172L27.0833 22.9172L27.0833 8.33382C27.0833 7.18323 26.1506 6.25049 25 6.25049C23.8494 6.25049 22.9167 7.18323 22.9167 8.33382L22.9167 22.9172H8.33333C7.18274 22.9172 6.25 23.8499 6.25 25.0005C6.25 26.1511 7.18274 27.0838 8.33333 27.0838H22.9167Z",fill:r}))}),Cre=["color","size"],Sre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Cre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.04757 38.9503C0.437373 38.3401 0.437373 37.3508 1.04757 36.7406L33.9229 3.86697L23.8354 3.33584C22.9736 3.29047 22.3118 2.5551 22.3572 1.69335C22.4026 0.831601 23.138 0.169794 23.9997 0.215167L37.5909 0.930759C38.3892 0.972794 39.027 1.61063 39.0691 2.40894L39.7846 16.0001C39.83 16.8619 39.1682 17.5972 38.3065 17.6426C37.4447 17.688 36.7093 17.0262 36.664 16.1644L36.1328 6.07651L3.25728 38.9503C2.64708 39.5605 1.65776 39.5605 1.04757 38.9503Z",fill:r}))}),_re=["color","size"],Ore=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,_re);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M27.1607 4.16667V2.08333C27.1607 0.93274 26.2279 0 25.0773 0C23.9267 0 22.994 0.932741 22.994 2.08333V4.16667H4.244C1.94281 4.16667 0.0773315 6.03215 0.0773315 8.33333V41.6667C0.0773315 43.9679 1.94281 45.8333 4.244 45.8333H22.994V47.9167C22.994 49.0673 23.9267 50 25.0773 50C26.2279 50 27.1607 49.0673 27.1607 47.9167V45.8333H45.9107C48.2118 45.8333 50.0773 43.9678 50.0773 41.6667V8.33333C50.0773 6.03215 48.2119 4.16667 45.9107 4.16667H27.1607ZM22.994 8.33333H4.244L4.244 41.6667H22.994V8.33333ZM27.1607 41.6667V8.33333H45.9107V41.6667H27.1607Z",fill:r}))}),Ere=["color","size"],Pre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ere);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 38 6",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M35.835 5.0769L2.16498 5.0769C1.00277 5.0769 0.0606079 4.14726 0.0606079 3.00048C0.060608 1.85371 1.00277 0.924072 2.16498 0.924072L35.835 0.924074C36.9972 0.924074 37.9394 1.85372 37.9394 3.00049C37.9394 4.14726 36.9972 5.0769 35.835 5.0769Z",fill:r}))}),kre=["color","size"],Lre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,kre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.48799 3.125H17.0311L17.0311 24.4063C17.0311 26.6148 18.1889 28.4084 19.5429 29.5401C21.7011 31.3438 23.0656 34.0456 23.0656 37.069C23.0656 42.4847 18.6753 46.875 13.2595 46.875C7.84382 46.875 3.45351 42.4847 3.45351 37.069C3.45351 34.0456 4.81799 31.3438 6.97617 29.5401C8.33021 28.4084 9.48799 26.6148 9.48799 24.4063V3.125ZM20.1561 3.125C20.1561 1.39911 18.757 0 17.0311 0H9.48799C7.7621 0 6.36299 1.39911 6.36299 3.125V24.4063C6.36299 25.4785 5.79482 26.4547 4.97216 27.1423C2.13398 29.5143 0.328506 33.0808 0.328506 37.069C0.328506 44.2106 6.11793 50 13.2595 50C20.4012 50 26.1906 44.2106 26.1906 37.069C26.1906 33.0808 24.3851 29.5143 21.5469 27.1423C20.7243 26.4547 20.1561 25.4785 20.1561 24.4063V3.125ZM35.6715 1.25C35.6715 0.559645 35.1119 0 34.4215 0H28.1715C27.4812 0 26.9215 0.559644 26.9215 1.25C26.9215 1.94036 27.4812 2.5 28.1715 2.5L34.4215 2.5C35.1119 2.5 35.6715 1.94036 35.6715 1.25ZM35.6715 8.24951C35.6715 7.55916 35.1119 6.99951 34.4215 6.99951H28.1715C27.4812 6.99951 26.9215 7.55916 26.9215 8.24951C26.9215 8.93987 27.4812 9.49951 28.1715 9.49951H34.4215C35.1119 9.49951 35.6715 8.93987 35.6715 8.24951ZM34.4215 13.999C35.1119 13.999 35.6715 14.5587 35.6715 15.249C35.6715 15.9394 35.1119 16.499 34.4215 16.499H28.1715C27.4812 16.499 26.9215 15.9394 26.9215 15.249C26.9215 14.5587 27.4812 13.999 28.1715 13.999H34.4215ZM13.2594 43.7501C16.366 43.7501 18.8844 41.2317 18.8844 38.1251C18.8844 35.4037 16.9519 33.1337 14.3844 32.6126V10.3662C14.3844 9.67582 13.8247 9.11617 13.1344 9.11617C12.444 9.11617 11.8844 9.67582 11.8844 10.3662V32.6694C9.44245 33.2829 7.63441 35.4928 7.63441 38.1251C7.63441 41.2317 10.1528 43.7501 13.2594 43.7501Z",fill:r}))}),Mre=["color","size"],Tre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Mre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.4376 40.6858V38.5625V4.18746V3.31418C10.8133 4.10816 3.25006 12.1708 3.25006 22C3.25006 31.8292 10.8133 39.8918 20.4376 40.6858ZM40.7501 22C40.7501 31.8292 33.1868 39.8918 23.5626 40.6858V38.5625V4.18746V3.31418C33.1868 4.10816 40.7501 12.1708 40.7501 22ZM43.8751 22C43.8751 34.0812 34.0813 43.875 22.0001 43.875C9.91883 43.875 0.125061 34.0812 0.125061 22C0.125061 9.91877 9.91883 0.125 22.0001 0.125C34.0813 0.125 43.8751 9.91877 43.8751 22Z",fill:r}))}),Are=["color","size"],Ire=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Are);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.3679 7.50003C15.7995 10.005 13.5592 11.875 10.8823 11.875C8.20528 11.875 5.96506 10.005 5.39665 7.50003H1.5448C0.854444 7.50003 0.2948 6.94039 0.2948 6.25003C0.2948 5.55967 0.854444 5.00003 1.5448 5.00003H5.39665C5.96506 2.49504 8.20528 0.625031 10.8823 0.625031C13.5592 0.625031 15.7995 2.49504 16.3679 5.00003H48.4557C49.1461 5.00003 49.7057 5.55967 49.7057 6.25003C49.7057 6.94039 49.1461 7.50003 48.4557 7.50003H16.3679ZM14.0073 6.25003C14.0073 7.97592 12.6082 9.37503 10.8823 9.37503C9.15637 9.37503 7.75726 7.97592 7.75726 6.25003C7.75726 4.52414 9.15637 3.12503 10.8823 3.12503C12.6082 3.12503 14.0073 4.52414 14.0073 6.25003Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M34.5715 27.625C37.2485 27.625 39.4887 25.755 40.0571 23.25H48.4554C49.1458 23.25 49.7054 22.6904 49.7054 22C49.7054 21.3096 49.1458 20.75 48.4554 20.75H40.0571C39.4887 18.245 37.2485 16.375 34.5715 16.375C31.8946 16.375 29.6543 18.245 29.0859 20.75H1.5448C0.854444 20.75 0.2948 21.3096 0.2948 22C0.2948 22.6904 0.854444 23.25 1.5448 23.25H29.0859C29.6543 25.755 31.8946 27.625 34.5715 27.625ZM34.5715 25.125C36.2974 25.125 37.6965 23.7259 37.6965 22C37.6965 20.2741 36.2974 18.875 34.5715 18.875C32.8456 18.875 31.4465 20.2741 31.4465 22C31.4465 23.7259 32.8456 25.125 34.5715 25.125Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.7702 39C22.2018 41.505 19.9615 43.375 17.2845 43.375C14.6076 43.375 12.3673 41.505 11.7989 39H1.5448C0.854444 39 0.2948 38.4403 0.2948 37.75C0.2948 37.0596 0.854444 36.5 1.5448 36.5H11.7989C12.3673 33.995 14.6076 32.125 17.2845 32.125C19.9615 32.125 22.2018 33.995 22.7702 36.5H48.4554C49.1458 36.5 49.7054 37.0596 49.7054 37.75C49.7054 38.4403 49.1458 39 48.4554 39H22.7702ZM20.4095 37.75C20.4095 39.4759 19.0104 40.875 17.2845 40.875C15.5587 40.875 14.1595 39.4759 14.1595 37.75C14.1595 36.0241 15.5587 34.625 17.2845 34.625C19.0104 34.625 20.4095 36.0241 20.4095 37.75Z",fill:r}))}),Fre=["color","size"],Dre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Fre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M37.2341 37.6984H37.5121V37.4237C41.4447 33.4687 43.875 28.0182 43.875 22C43.875 15.9819 41.4447 10.5314 37.5121 6.57632V6.30045H37.2328C33.2942 2.47819 27.9219 0.125031 22 0.125031C9.91877 0.125031 0.125 9.9188 0.125 22C0.125 34.0813 9.91877 43.875 22 43.875C24.718 43.875 27.3203 43.3793 29.7213 42.4733H30.5303V42.1494C33.0389 41.0861 35.308 39.5679 37.2341 37.6984ZM20.4257 3.31519C10.807 4.1148 3.25 12.1749 3.25 22C3.25 31.8252 10.807 39.8853 20.4257 40.6849V3.31519ZM34.3871 36.0759C33.221 37.1029 31.9263 37.9873 30.5303 38.7017V5.29836C31.9263 6.01281 33.221 6.89715 34.3871 7.92411V36.0759ZM37.5121 11.4641C39.5556 14.4669 40.75 18.094 40.75 22C40.75 25.9061 39.5556 29.5332 37.5121 32.536V11.4641ZM23.5507 40.6868C24.8796 40.578 26.1693 40.3307 27.4053 39.9592V4.04089C26.1693 3.66941 24.8796 3.42203 23.5507 3.31324V40.6868Z",fill:r}))}),Nre=["color","size"],Rre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Nre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M46.1442 31.379C45.4585 31.379 44.8974 31.9429 44.8974 32.6321V43.7349C44.8974 45.8025 43.2267 47.4817 41.157 47.4943H6.22156C4.16433 47.4943 2.49361 45.8151 2.48114 43.7349V11.1283C2.48114 9.06067 4.15186 7.38147 6.22156 7.36894H17.2807C17.9665 7.36894 18.5275 6.80503 18.5275 6.1158C18.5275 5.42658 17.9665 4.86267 17.2807 4.86267H6.22156C2.79284 4.8752 0 7.66969 0 11.1283V43.7349C0 47.1935 2.79284 50.0005 6.22156 50.0005H41.157C44.5982 50.0005 47.3786 47.1935 47.3786 43.7474V32.6321C47.391 31.9429 46.83 31.379 46.1442 31.379Z",fill:r}),b.createElement("path",{d:"M46.8923 1.65462C44.698 -0.55089 41.157 -0.55089 38.9627 1.65462L16.7571 23.9729C16.6075 24.1233 16.4953 24.3113 16.4329 24.5243L13.5154 35.1258C13.3907 35.5644 13.5154 36.0281 13.8396 36.3413C14.1513 36.6546 14.6251 36.7799 15.049 36.6672L25.5969 33.7348C25.8089 33.6722 25.9959 33.5719 26.1455 33.409L48.3636 11.0782C50.5455 8.87267 50.5455 5.31377 48.3636 3.10826L46.8923 1.65462ZM19.4751 24.7875L37.6535 6.51678L43.5135 12.4065L25.3351 30.6897L19.4751 24.7875ZM18.3031 27.1559L22.9911 31.8677L16.5077 33.6722L18.3031 27.1559ZM46.5931 9.31127L45.2715 10.6396L39.4115 4.74986L40.7331 3.42154C41.9425 2.206 43.9249 2.206 45.1343 3.42154L46.5931 4.88771C47.815 6.11578 47.815 8.09573 46.5931 9.31127Z",fill:r}))}),jre=["color","size"],zre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,jre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M18.3626 41.293C17.5103 41.4285 16.7096 40.8474 16.5742 39.9952C16.4387 39.143 17.0198 38.3423 17.872 38.2068C18.2902 38.1403 18.6988 38.0456 19.0958 37.9246C21.9368 37.059 24.1957 34.8468 25.1254 32.0335C25.2671 31.6049 25.378 31.1621 25.4555 30.7076C25.6005 29.857 26.4076 29.2849 27.2583 29.4299C28.109 29.5749 28.681 30.3821 28.536 31.2327C28.432 31.8429 28.283 32.4379 28.0926 33.0142C26.8449 36.7893 23.8206 39.7519 20.0065 40.914C19.4728 41.0766 18.9239 41.2038 18.3626 41.293Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M33.9356 31.0645C33.9356 23.9644 24.1764 8.59028 19.4747 1.59549C18.2785 -0.184172 15.7216 -0.184172 14.5254 1.59548C9.82374 8.59028 0.0645752 23.9644 0.0645752 31.0645C0.0645752 40.4177 7.64685 48 17.0001 48C26.3533 48 33.9356 40.4177 33.9356 31.0645ZM30.8106 31.0645C30.8106 29.8836 30.375 28.0316 29.4236 25.578C28.5 23.1959 27.1988 20.5159 25.7187 17.7756C22.8106 12.3913 19.3287 6.98743 17.0001 3.51586C14.6715 6.98743 11.1895 12.3913 8.28145 17.7756C6.80135 20.5159 5.50017 23.1959 4.57655 25.578C3.62517 28.0316 3.18958 29.8836 3.18958 31.0645C3.18958 38.6918 9.37274 44.875 17.0001 44.875C24.6274 44.875 30.8106 38.6918 30.8106 31.0645Z",fill:r}))}),Bre=["color","size"],Hre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Bre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M43.0081 15.2287L36.7869 17.6214L28.935 29.9601C30.5809 33.9266 30.3662 38.0903 27.1408 41.3158L26.5656 41.8909C25.9554 42.5011 24.9661 42.5011 24.3559 41.8909L14.4122 31.9472L2.99211 43.3673C2.38192 43.9775 1.3926 43.9775 0.782403 43.3673C0.17221 42.7571 0.172211 41.7678 0.782403 41.1576L12.2025 29.7375L2.25883 19.7938C1.64864 19.1836 1.64864 18.1943 2.25883 17.5841L2.50512 17.3378C5.73058 14.1123 10.2231 13.5688 14.1897 15.2147L26.5283 7.36283L28.9211 1.14165C29.327 0.0863053 30.6847 -0.201832 31.4843 0.597706L43.552 12.6655C44.3516 13.465 44.0634 14.8228 43.0081 15.2287ZM29.0752 9.44618L30.9747 4.50752L39.6422 13.1751L34.7035 15.0745L25.4251 29.655L26.0486 31.1577C27.234 34.0146 27.0773 36.5309 25.4342 38.5498L5.64209 18.7576C7.75439 17.2384 10.4304 17.0382 12.992 18.1011L14.4948 18.7246L29.0752 9.44618Z",fill:r}))}),Gre=["color","size"],Vre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Gre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.33984 12.111V2.04761C2.33984 1.49532 2.78756 1.04761 3.33984 1.04761H10.8182C11.3705 1.04761 11.8182 1.49532 11.8182 2.04761V12.111C11.8182 12.6633 11.3705 13.111 10.8182 13.111H3.33984C2.78756 13.111 2.33984 12.6633 2.33984 12.111ZM3.33984 12.111V2.04761L10.8182 2.04761L10.8182 12.111L3.33984 12.111Z",fill:r}),b.createElement("path",{d:"M13.66 4.97388C13.66 4.69774 13.4361 4.47388 13.16 4.47388C12.8838 4.47388 12.66 4.69774 12.66 4.97388V13.9523H5.40491C5.12876 13.9523 4.90491 14.1761 4.90491 14.4523C4.90491 14.7284 5.12876 14.9523 5.40491 14.9523H13.16C13.4361 14.9523 13.66 14.7284 13.66 14.4523V4.97388Z",fill:r}))}),Ure=["color","size"],eI=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Ure);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M17.8571 19.6429C17.8571 18.6566 18.6566 17.8571 19.6429 17.8571C20.6291 17.8571 21.4286 18.6566 21.4286 19.6429L21.4286 37.5C21.4286 38.4862 20.6291 39.2857 19.6429 39.2857C18.6566 39.2857 17.8571 38.4862 17.8571 37.5L17.8571 19.6429Z",fill:r}),b.createElement("path",{d:"M30.3571 17.8571C29.3709 17.8571 28.5714 18.6566 28.5714 19.6429L28.5714 37.5C28.5714 38.4862 29.3709 39.2857 30.3571 39.2857C31.3434 39.2857 32.1429 38.4862 32.1429 37.5V19.6429C32.1429 18.6566 31.3434 17.8571 30.3571 17.8571Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.2857 7.14286V3.57143C14.2857 1.59898 15.8847 0 17.8571 0H32.1429C34.1153 0 35.7143 1.59898 35.7143 3.57143V7.14286H48.2143C49.2005 7.14286 50 7.94235 50 8.92857C50 9.91479 49.2005 10.7143 48.2143 10.7143H44.6429V46.4286C44.6429 48.401 43.0439 50 41.0714 50H8.92857C6.95613 50 5.35714 48.401 5.35714 46.4286V10.7143L1.78571 10.7143C0.799491 10.7143 0 9.91479 0 8.92857C0 7.94235 0.799492 7.14286 1.78571 7.14286H14.2857ZM17.8571 3.57143H32.1429V7.14286H17.8571V3.57143ZM8.92857 10.7143L8.92857 46.4286H41.0714V10.7143H8.92857Z",fill:r}))}),Wre=["color","size"],Xre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Wre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M43 3H31.75V0.5H43C44.3807 0.5 45.5 1.61929 45.5 3V14.25H43V3Z",fill:r}),b.createElement("path",{d:"M3 14.25V3H14.25V0.5H3C1.61929 0.5 0.5 1.61929 0.5 3V14.25H3Z",fill:r}),b.createElement("path",{d:"M0.5 31.75V43C0.5 44.3807 1.61929 45.5 3 45.5H14.25V43H3V31.75H0.5Z",fill:r}),b.createElement("path",{d:"M43 31.75H45.5V43C45.5 44.3807 44.3807 45.5 43 45.5H31.75V43H43V31.75Z",fill:r}))}),Yre=["color","size"],Kre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Yre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 36 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M32.0559 46.8755L32.0559 3.12555L3.93091 3.12555L3.93091 46.8755H32.0559ZM35.1809 3.12555C35.1809 1.39966 33.7818 0.000549316 32.0559 0.000549316H3.93091C2.20502 0.000549316 0.805908 1.39966 0.805908 3.12555V46.8755C0.805908 48.6014 2.20502 50.0005 3.93091 50.0005H32.0559C33.7818 50.0005 35.1809 48.6014 35.1809 46.8755L35.1809 3.12555Z",fill:r}))}),Zre=["color","size"],$re=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Zre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M45.961 39.0119L28.2837 7.27185C27.5934 6.17538 26.3971 5.5 24.9981 5.5C23.5956 5.5 22.3967 6.17887 21.7073 7.28034L4.06571 38.9613L4.03009 39.0197C3.33595 40.159 3.32316 41.4697 3.9939 42.6216C4.67405 43.786 5.89 44.5 7.34459 44.5H42.554C44.0596 44.5 45.3464 43.7436 46.0016 42.6231C46.6817 41.4564 46.652 40.1455 45.9968 39.0706L45.961 39.0119ZM49.0254 44.3856C47.7038 46.6495 45.2246 48 42.554 48H7.34459C4.67398 48 2.29272 46.6495 0.970942 44.3856C-0.347811 42.1231 -0.322029 39.4361 1.04116 37.1987L18.6646 5.55018C18.6697 5.5418 18.6743 5.53342 18.6789 5.52504C18.6836 5.51666 18.6882 5.50828 18.6932 5.49989C20.0278 3.30867 22.3849 2 24.9981 2C27.6114 2 29.9685 3.30867 31.303 5.49989L48.9853 37.2489C50.3185 39.436 50.3442 42.1232 49.0254 44.3856Z",fill:r}),b.createElement("path",{d:"M22.0001 16C22.0001 14.3431 23.3433 13 25.0001 13C26.657 13 28.0001 14.3431 28.0001 16V28C28.0001 29.6569 26.657 31 25.0001 31C23.3433 31 22.0001 29.6569 22.0001 28V16Z",fill:r}),b.createElement("path",{d:"M28.0001 37C28.0001 38.6569 26.657 40 25.0001 40C23.3433 40 22.0001 38.6569 22.0001 37C22.0001 35.3431 23.3433 34 25.0001 34C26.657 34 28.0001 35.3431 28.0001 37Z",fill:r}))}),qre=["color","size"],Qre=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,qre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.5 20.5001C16.0228 20.5001 20.5 16.023 20.5 10.5001C20.5 4.97727 16.0228 0.500122 10.5 0.500122C4.97715 0.500122 0.5 4.97727 0.5 10.5001C0.5 16.023 4.97715 20.5001 10.5 20.5001ZM15.4375 7.0912L11.8155 10.7132L15.4638 14.309C15.6213 14.4665 15.7 14.6503 15.7 14.8865C15.7 15.1227 15.6213 15.3064 15.4638 15.4639C15.3063 15.6214 15.1226 15.7001 14.8864 15.7001C14.6501 15.7001 14.4664 15.6214 14.3089 15.4639L10.6869 11.8419L7.06483 15.4639C6.77612 15.7789 6.25118 15.7789 5.93622 15.4639C5.77874 15.3064 5.7 15.0964 5.7 14.8865C5.7 14.6765 5.77874 14.4928 5.93622 14.3353L9.55827 10.7132L5.93622 7.0912C5.77874 6.93372 5.7 6.72374 5.7 6.51377C5.7 6.3038 5.77874 6.12007 5.93622 5.96259C6.25118 5.64763 6.74987 5.64763 7.06483 5.96259L10.6869 9.58464L14.3089 5.93634C14.5976 5.62138 15.1226 5.62138 15.4375 5.93634C15.595 6.09382 15.6738 6.27755 15.6738 6.51377C15.6738 6.74999 15.595 6.93372 15.4375 7.0912Z",fill:r}))}),Jre=["color","size"],eie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,Jre);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 52",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M37.3438 16.4782L28.2887 25.5333L37.4095 34.5228C37.8032 34.9165 38 35.3758 38 35.9664C38 36.5569 37.8032 37.0162 37.4095 37.4099C37.0158 37.8036 36.5564 38.0005 35.9659 38.0005C35.3753 38.0005 34.916 37.8036 34.5223 37.4099L25.4672 28.3548L16.4121 37.4099C15.6903 38.1973 14.378 38.1973 13.5906 37.4099C13.1969 37.0162 13 36.4913 13 35.9664C13 35.4414 13.1969 34.9821 13.5906 34.5884L22.6457 25.5333L13.5906 16.4782C13.1969 16.0845 13 15.5595 13 15.0346C13 14.5097 13.1969 14.0504 13.5906 13.6567C14.378 12.8693 15.6247 12.8693 16.4121 13.6567L25.4672 22.7118L34.5223 13.591C35.2441 12.8036 36.5564 12.8036 37.3438 13.591C37.7375 13.9847 37.9344 14.4441 37.9344 15.0346C37.9344 15.6252 37.7375 16.0845 37.3438 16.4782Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M-0.000488281 25.0005C-0.000488281 38.7972 11.2028 50.0005 24.9995 50.0005C38.6925 50.0005 49.9995 38.7972 49.9995 25.0005C49.9995 11.2038 38.7962 0.000488281 24.9995 0.000488281C11.2028 0.000488281 -0.000488281 11.2038 -0.000488281 25.0005ZM3.63022 24.8968C3.63022 13.1748 13.1738 3.52746 24.9995 3.52746C36.8252 3.52746 46.3688 13.1748 46.3688 24.8968C46.3688 36.6187 36.8252 46.266 24.9995 46.266C13.2775 46.266 3.63022 36.6187 3.63022 24.8968Z",fill:r}))}),tie=["color","size"],nie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,tie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M29.9338 5.26853C27.8524 4.75154 25.7006 4.56814 23.5381 4.72351C22.4874 4.799 21.4379 4.95535 20.4183 5.18855L19.3724 0.636496C20.6245 0.350265 21.9128 0.158175 23.2017 0.065597C25.8579 -0.125223 28.5034 0.100753 31.0653 0.737277L29.9338 5.26853Z",fill:r}),b.createElement("path",{opacity:"0.9",d:"M40.6131 11.9278C38.5498 9.48098 35.9044 7.52805 32.963 6.2805L34.7952 1.98303C38.4106 3.51633 41.6615 5.91575 44.1962 8.922L40.6131 11.9278Z",fill:r}),b.createElement("path",{opacity:"0.8",d:"M45.3329 23.5739L45.3303 23.5392C45.097 20.3085 44.1359 17.275 42.4734 14.5227L46.4838 12.1129C48.5302 15.501 49.7133 19.2325 50 23.2036L45.3329 23.5739Z",fill:r}),b.createElement("path",{opacity:"0.7",d:"M46.2688 38.2308L42.2981 35.7565C43.9958 33.0458 45.0372 29.9357 45.3095 26.7618L49.9744 27.1604C49.639 31.0674 48.3577 34.8958 46.2688 38.2308Z",fill:r}),b.createElement("path",{opacity:"0.6",d:"M34.4209 48.1735L32.6626 43.8456C35.6192 42.6505 38.2938 40.7405 40.3975 38.3222L43.9338 41.3828C41.3483 44.3551 38.0588 46.7033 34.4209 48.1735V48.1735Z",fill:r}),b.createElement("path",{opacity:"0.5",d:"M26.8033 49.9345C24.1593 50.1242 21.5262 49.9011 18.9766 49.2716L20.1013 44.7386C22.1729 45.25 24.3148 45.4309 26.4673 45.2766C27.5283 45.2004 28.5879 45.0416 29.6165 44.8049L30.6697 49.3551C29.4061 49.6459 28.1052 49.841 26.8033 49.9345V49.9345Z",fill:r}),b.createElement("path",{opacity:"0.4",d:"M15.2449 48.0311C11.6272 46.5033 8.37276 44.1086 5.83362 41.1063L9.412 38.0952C11.479 40.5388 14.1272 42.4877 17.0704 43.7306L15.2449 48.0311Z",fill:r}),b.createElement("path",{opacity:"0.3",d:"M3.54069 37.9198C1.48217 34.5223 0.292537 30.78 0.00479729 26.7959L0 26.7274L4.66972 26.3918L4.67579 26.478C4.90861 29.7017 5.87511 32.7443 7.54751 35.504L3.54069 37.9198Z",fill:r}),b.createElement("path",{opacity:"0.2",d:"M4.69761 23.2075L0.0335693 22.802C0.374666 18.8955 1.66191 15.0691 3.75587 11.7373L7.72274 14.2175C6.02088 16.9257 4.97478 20.0344 4.69761 23.2075V23.2075Z",fill:r}))}),rie=["color","size"],iie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,rie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 42 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M42.0001 6.11477C42.0001 4.48089 41.3639 2.94468 40.2086 1.78931C37.8238 -0.595528 33.9433 -0.595878 31.5582 1.78931L25.666 7.68191L22.9908 5.00654C22.5351 4.5509 21.7965 4.5509 21.3407 5.00654L17.8405 8.50695C17.3849 8.96259 17.3849 9.70141 17.8405 10.1572L20.5157 12.8325L3.63971 29.7097C3.5116 29.8378 3.41511 29.9939 3.35783 30.1658L2.27826 33.4048L1.30626 34.3769C-0.435198 36.1186 -0.435314 38.9525 1.30626 40.6943C3.04783 42.436 5.88157 42.4359 7.62314 40.6943L8.59514 39.7223L11.834 38.6426C12.0058 38.5853 12.1619 38.4888 12.29 38.3607L29.1661 21.4835L31.8413 24.1588C32.297 24.6145 33.0357 24.6145 33.4914 24.1588L36.9916 20.6584C37.4472 20.2028 37.4472 19.464 36.9916 19.0082L34.3164 16.3328L40.2086 10.4402C41.3639 9.28486 42.0001 7.74876 42.0001 6.11477ZM20.5157 26.8341H9.81507L22.1658 14.4826L27.516 19.8333L20.5157 26.8341ZM32.6663 21.6836L20.3156 9.332L22.1657 7.48168L34.5163 19.8333L32.6663 21.6836ZM38.5585 8.79014L32.6663 14.6827L27.316 9.332L33.2081 3.4394C34.6833 1.96421 37.0835 1.96409 38.5584 3.4394C40.0263 4.84774 40.0261 7.3818 38.5585 8.79014Z",fill:r}))}),aie=["color","size"],tI=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,aie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 7.75049C0 6.92206 0.671573 6.25049 1.5 6.25049H48.5C49.3284 6.25049 50 6.92206 50 7.75049V9.43806C50 10.2665 49.3284 10.9381 48.5 10.9381H1.5C0.671571 10.9381 0 10.2665 0 9.43806V7.75049ZM0 24.1567C0 23.3283 0.671573 22.6567 1.5 22.6567H48.5C49.3284 22.6567 50 23.3283 50 24.1567V25.8443C50 26.6727 49.3284 27.3443 48.5 27.3443H1.5C0.671571 27.3443 0 26.6727 0 25.8443V24.1567ZM1.5 39.0629C0.671573 39.0629 0 39.7345 0 40.5629V42.2505C0 43.0789 0.671571 43.7505 1.5 43.7505H48.5C49.3284 43.7505 50 43.0789 50 42.2505V40.5629C50 39.7345 49.3284 39.0629 48.5 39.0629H1.5Z",fill:r}))}),oie=["color","size"],sie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,oie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.23229 1.23267C2.20863 0.256387 3.79154 0.256434 4.76782 1.23277L22.9989 19.465L41.2323 1.23267C42.2086 0.256387 43.7915 0.256434 44.7678 1.23277C45.7441 2.20911 45.7441 3.79203 44.7677 4.76831L24.7665 24.7683C24.2977 25.2371 23.6618 25.5005 22.9987 25.5005C22.3357 25.5005 21.6998 25.2371 21.231 24.7682L1.23218 4.7682C0.255899 3.79186 0.255946 2.20895 1.23229 1.23267Z",fill:r}))}),lie=["color","size"],cie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,lie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 46 26",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.2326 1.23271C22.2089 0.256404 23.7918 0.256417 24.7681 1.23274L44.7678 21.2327C45.7441 22.2091 45.7441 23.792 44.7678 24.7683C43.7914 25.7446 42.2085 25.7446 41.2322 24.7682L23.0003 6.53602L4.76775 24.7683C3.79143 25.7446 2.20852 25.7446 1.23222 24.7682C0.255916 23.7919 0.255928 22.209 1.23225 21.2327L21.2326 1.23271Z",fill:r}))}),uie=["color","size"],die=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,uie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M27.7355 35.1357C27.1751 35.7705 26.2217 35.7926 25.6359 35.1773L17.3026 26.423C17.0301 26.1368 16.8819 25.755 16.8752 25.3647C16.8686 24.9745 17.0037 24.5881 17.2652 24.2923L25.5985 14.8647C26.1593 14.2302 27.1128 14.2089 27.6981 14.8247C28.2539 15.4093 28.2679 16.3516 27.7348 16.9546L20.36 25.2978L27.6974 33.0057C28.2536 33.59 28.2681 34.5323 27.7355 35.1357ZM26.6695 34.3756C26.7058 34.3748 26.753 34.3599 26.7984 34.3085C26.9042 34.1886 26.8989 33.9798 26.792 33.8676L19.0594 25.7444C18.8357 25.5095 18.829 25.1425 19.0438 24.8995L26.7983 16.1268C26.9041 16.007 26.899 15.7983 26.7921 15.6859C26.7464 15.6377 26.7001 15.6249 26.6639 15.6256C26.6276 15.6263 26.5805 15.6412 26.5351 15.6926L18.2017 25.1202C18.1562 25.1717 18.1235 25.2514 18.1251 25.3435C18.1266 25.4356 18.1619 25.5128 18.208 25.5612L26.5413 34.3154C26.5871 34.3635 26.6334 34.3763 26.6695 34.3756Z",fill:r}),b.createElement("path",{d:"M26.7984 34.3085C26.753 34.3599 26.7058 34.3748 26.6695 34.3756C26.6334 34.3763 26.5871 34.3635 26.5413 34.3154L18.208 25.5612C18.1619 25.5128 18.1266 25.4356 18.1251 25.3435C18.1235 25.2514 18.1562 25.1717 18.2017 25.1202L26.5351 15.6926C26.5805 15.6412 26.6276 15.6263 26.6639 15.6256C26.7001 15.6249 26.7464 15.6377 26.7921 15.6859C26.899 15.7983 26.9041 16.007 26.7983 16.1268L19.0438 24.8995C18.829 25.1425 18.8357 25.5095 19.0594 25.7444L26.792 33.8676C26.8989 33.9798 26.9042 34.1886 26.7984 34.3085Z",fill:r}))}),hie=["color","size"],fie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,hie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 47.5006C37.4264 47.5006 47.5 37.427 47.5 25.0006C47.5 12.5742 37.4264 2.50061 25 2.50061C12.5736 2.50061 2.5 12.5742 2.5 25.0006C2.5 37.427 12.5736 47.5006 25 47.5006ZM25 50.0006C38.8071 50.0006 50 38.8077 50 25.0006C50 11.1935 38.8071 0.000610352 25 0.000610352C11.1929 0.000610352 0 11.1935 0 25.0006C0 38.8077 11.1929 50.0006 25 50.0006Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.2645 14.8655C22.8249 14.2307 23.7783 14.2086 24.3641 14.8239L32.6974 23.5781C32.9699 23.8644 33.1181 24.2461 33.1248 24.6364C33.1314 25.0267 32.9963 25.4131 32.7348 25.7089L24.4015 35.1365C23.8406 35.7709 22.8872 35.7923 22.3019 35.1765C21.7461 34.5919 21.7321 33.6496 22.2652 33.0465L29.6399 24.7034L22.3026 16.9954C21.7464 16.4112 21.7319 15.4689 22.2645 14.8655ZM23.3305 15.6256C23.2942 15.6264 23.247 15.6413 23.2016 15.6927C23.0958 15.8126 23.1011 16.0214 23.208 16.1336L30.9406 24.2568C31.1643 24.4917 31.171 24.8586 30.9562 25.1016L23.2017 33.8744C23.0959 33.9942 23.101 34.2029 23.2079 34.3153C23.2536 34.3634 23.2999 34.3763 23.3361 34.3756C23.3724 34.3748 23.4195 34.36 23.4649 34.3086L31.7983 24.881C31.8438 24.8295 31.8765 24.7497 31.8749 24.6577C31.8734 24.5656 31.838 24.4883 31.792 24.44L23.4587 15.6858C23.4129 15.6377 23.3666 15.6249 23.3305 15.6256Z",fill:r}),b.createElement("path",{d:"M23.2016 15.6927C23.247 15.6413 23.2942 15.6264 23.3305 15.6256C23.3666 15.6249 23.4129 15.6377 23.4587 15.6858L31.792 24.44C31.838 24.4883 31.8734 24.5656 31.8749 24.6577C31.8765 24.7497 31.8438 24.8295 31.7983 24.881L23.4649 34.3086C23.4195 34.36 23.3724 34.3748 23.3361 34.3756C23.2999 34.3763 23.2536 34.3634 23.2079 34.3153C23.101 34.2029 23.0959 33.9942 23.2017 33.8744L30.9562 25.1016C31.171 24.8586 31.1643 24.4917 30.9406 24.2568L23.208 16.1336C23.1011 16.0214 23.0958 15.8126 23.2016 15.6927Z",fill:r}))}),pie=["color","size"],gie=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,pie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M48.5577 38.9423H34.8557C31.8069 38.9423 29.327 41.4224 29.327 44.4712C29.327 45.9293 28.1406 47.1157 26.6827 47.1157H5.52902C4.07066 47.1157 2.88467 45.9293 2.88467 44.4712V42.5459C2.88467 41.0886 4.07028 39.9025 5.5275 39.9018L9.33952 39.8999C9.34067 39.8999 9.34219 39.8995 9.34334 39.8995C9.38683 39.8995 9.43031 39.8968 9.47418 39.893C9.49211 39.8915 9.50966 39.8884 9.52759 39.8861C9.54628 39.8835 9.56535 39.8819 9.58405 39.8789L19.7636 38.1229C19.7689 38.1217 19.7739 38.1206 19.7788 38.1195C19.7948 38.1164 19.8105 38.113 19.8261 38.1095C19.8517 38.1038 19.8769 38.0981 19.9017 38.0908C19.9192 38.0863 19.9368 38.0809 19.9543 38.0756C19.9776 38.068 20.0008 38.0599 20.0241 38.0512C20.0409 38.0447 20.0581 38.039 20.0748 38.0321C20.1107 38.0168 20.1458 38.0008 20.1805 37.9829C20.1942 37.9756 20.208 37.9672 20.2217 37.9596C20.2461 37.9459 20.2702 37.9321 20.2938 37.9169C20.3083 37.9077 20.3228 37.8978 20.3373 37.8879C20.3602 37.8719 20.3831 37.8551 20.4052 37.8375C20.417 37.8284 20.4292 37.8192 20.4411 37.8093C20.4746 37.7815 20.5074 37.7525 20.5383 37.7212L46.2479 12.0109C48.3097 9.94895 48.3097 6.59377 46.2479 4.53146L43.2632 1.54708C41.2014 -0.515234 37.846 -0.514853 35.7841 1.54708L10.075 27.2574C10.0437 27.2883 10.0147 27.3215 9.9865 27.355C9.97696 27.3665 9.9678 27.3783 9.95865 27.3901C9.9411 27.4127 9.92432 27.4355 9.90829 27.4588C9.89838 27.4729 9.88846 27.4874 9.8793 27.5019C9.86443 27.5252 9.85069 27.5488 9.83734 27.5729C9.82857 27.5885 9.81941 27.6042 9.81102 27.6198C9.79424 27.653 9.77898 27.6862 9.76448 27.7205C9.75723 27.7377 9.75113 27.7556 9.74426 27.7732C9.73625 27.7953 9.72824 27.8178 9.72099 27.8403C9.71527 27.8586 9.70993 27.8769 9.70497 27.8952C9.69849 27.9189 9.69276 27.9429 9.68742 27.9673C9.68361 27.9841 9.67979 28.0009 9.67674 28.0177C9.6756 28.0226 9.67445 28.0272 9.67369 28.0318L8.12378 37.0158L5.52597 37.017C2.47879 37.0185 0 39.4989 0 42.5459V44.4712C0 47.5201 2.48032 50.0005 5.52902 50.0005H26.6827C29.7314 50.0005 32.2117 47.5201 32.2117 44.4712C32.2117 43.0132 33.3977 41.8267 34.8557 41.8267H48.5577C49.3542 41.8267 50 41.1813 50 40.3847C50 39.5878 49.3542 38.9423 48.5577 38.9423ZM12.043 31.2653L16.5306 35.7531L11.1076 36.6885L12.043 31.2653ZM33.5567 7.85382L35.7288 10.026L15.3065 30.4493L13.1344 28.2771L33.5567 7.85382ZM19.5183 34.6613L17.3462 32.4891L37.7689 12.0658L39.941 14.238L19.5183 34.6613ZM37.8239 3.58651C38.7611 2.64958 40.2859 2.64958 41.2235 3.58651L44.2078 6.57126C45.145 7.50858 45.145 9.03376 44.2078 9.97108L41.9804 12.1986L35.5965 5.81401L37.8239 3.58651Z",fill:r}))}),mie=["color","size"],zO=Le(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=e.size,a=i===void 0?14:i,o=fe(e,mie);return b.createElement("svg",le({ref:t,width:a,height:a,viewBox:"0 0 52 42",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),b.createElement("path",{d:"M46.4326 40.0282C46.1217 40.5666 45.6098 40.9595 45.0093 41.1204C44.4088 41.2813 43.7691 41.197 43.2307 40.8862C42.6923 40.5754 42.2995 40.0634 42.1386 39.463C41.9777 38.8625 42.0619 38.2227 42.3727 37.6843C45.2819 32.6454 46.0703 26.6571 44.5644 21.0369C43.0584 15.4167 39.3816 10.6249 34.3426 7.71563C25.1427 2.4043 13.7736 4.38306 6.93632 12.1744L14.5457 12.0831H14.5744C15.196 12.0795 15.7937 12.3229 16.2358 12.7599C16.678 13.1969 16.9284 13.7916 16.9321 14.4133C16.9357 15.0349 16.6923 15.6326 16.2553 16.0747C15.8183 16.5169 15.2236 16.7673 14.6019 16.771L2.37222 16.9175H2.34409C2.03391 16.9175 1.72681 16.856 1.44059 16.7364C1.15437 16.6169 0.894721 16.4417 0.676697 16.2211C0.458674 16.0004 0.28661 15.7387 0.170478 15.4511C0.0543471 15.1635 -0.00354164 14.8557 0.000167612 14.5455L0.147346 2.31591C0.151046 2.00811 0.215338 1.70404 0.336549 1.42108C0.457761 1.13812 0.633519 0.881802 0.853788 0.666765C1.07406 0.451728 1.33453 0.282182 1.62032 0.167807C1.90611 0.0534328 2.21164 -0.00353076 2.51944 0.000169355C2.82725 0.00386947 3.13132 0.0681609 3.41428 0.189372C3.69724 0.310584 3.95356 0.486342 4.16859 0.706611C4.38363 0.926881 4.55318 1.18735 4.66755 1.47314C4.78193 1.75894 4.83889 2.06446 4.83519 2.37227L4.77171 7.65586C9.37537 3.16334 15.4496 0.489016 21.8718 0.127065C28.2941 -0.234886 34.6303 1.74001 39.7096 5.6868C44.7889 9.63359 48.2679 15.2855 49.5038 21.5981C50.7397 27.9107 49.6485 34.4574 46.4326 40.0282Z",fill:r}),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M25 28C26.6569 28 28 26.6569 28 25C28 23.3431 26.6569 22 25 22C23.3431 22 22 23.3431 22 25C22 26.6569 23.3431 28 25 28ZM25 32C28.866 32 32 28.866 32 25C32 21.134 28.866 18 25 18C21.134 18 18 21.134 18 25C18 28.866 21.134 32 25 32Z",fill:r}))}),nI={exports:{}},vie="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",yie=vie,bie=yie;function rI(){}function iI(){}iI.resetWarningCache=rI;var wie=function(){function e(r,i,a,o,c,u){if(u!==bie){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}e.isRequired=e;function t(){return e}var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:iI,resetWarningCache:rI};return n.PropTypes=n,n};nI.exports=wie();var xie=nI.exports;const xr=mh(xie);var Ii={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg"},Cie="CrossButton",Sie=A(A(A(A({},Ii.Xs,X(["padding:5px;height:20px;"])),Ii.Sm,X(["padding:6px;height:24px;"])),Ii.Md,X(["padding:9px;"])),Ii.Lg,X(["padding:12px;"])),_ie=$.button.attrs({className:ve(Cie,"root")}).withConfig({componentId:"sc-ygfku-0"})(function(e){var t=e.size,n=t===void 0?Ii.Lg:t,r=e.theme;return X(["display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:4px;"," color:",";background:transparent;border:none;transition:all 100ms ease-out;&:hover{color:",";background:",";}&:active{color:",";background:",";}"],Sie[n],r.palette[F.IconsSecondary],r.palette[F.IconsPrimary],r.palette[F.BackgroundHover],r.palette[F.IconsPrimaryHover],r.palette[F.BackgroundActive])}),Oie=jt({CrossButton:_ie}),Eie=["size"],Pie=function(e){switch(e){case Ii.Lg:return 16;case Ii.Xs:return 10;case Ii.Sm:default:return 12}},U3=ct(function(e,t){var n=e.size,r=n===void 0?Ii.Lg:n,i=fe(e,Eie);return b.createElement(Oie.CrossButton,le({type:"button",size:r},i,{ref:t}),b.createElement(zA,{size:Pie(r)}))}),Pl="Select",kie=$.span.attrs({className:ve(Pl,"Icon")}).withConfig({componentId:"sc-mfrapg-0"})(function(e){var t=e.theme.palette,n=e.size,r=e.disabled;return X(["display:flex;flex-shrink:0;color:",";padding:",";"],r?t[F.IconsMuted]:t[F.IconsPrimary],n===Ri.Md?"2.5px":"2px")}),Lie=$.span.attrs({className:ve(Pl,"tickIcon")}).withConfig({componentId:"sc-mfrapg-1"})(function(e){var t=e.theme.palette;return X(["color:",";"],t[F.AccentStateless])}),Mie=$.div.attrs({className:ve(Pl,"Container")}).withConfig({componentId:"sc-mfrapg-2"})(function(e){var t=e.fullWidth,n=t===void 0?!1:t;return X(["position:relative;display:inline-flex;",""],n?"width: 100%":"")}),aI=$(U3).attrs({className:ve(Pl,"CrossButton")}).withConfig({componentId:"sc-mfrapg-3"})(function(){return X(["display:none;margin-right:6px;"])}),Tie=$(Rr.Input).attrs({className:ve(Pl,"root")}).withConfig({componentId:"sc-mfrapg-4"})(function(e){var t=e.theme.palette,n=e.disabled,r=e.readOnly,i=e.size,a=i===void 0?"sm":i,o=e.isValueExists;return X(["cursor:",";user-select:none;gap:0px;background:",";"," ",";"],n||r?"default":"pointer",n?t[F.BackgroundHover]:t[F.BackgroundStateless],o&&"\n &:hover {\n ".concat(aI," {\n display: flex;\n }\n }\n "),wA[a])}),Aie=$.label.attrs({className:ve(Pl,"Label")}).withConfig({componentId:"sc-mfrapg-5"})(function(e){var t=e.hideEllipsis,n=e.size,r=n===void 0?Ri.Md:n;return"\n flex-grow: 1;\n margin-right: ".concat(r===Ri.Md?8:12,"px;\n\n ").concat(!t&&X(["white-space:nowrap;text-overflow:ellipsis;overflow:hidden;"]),"\n ")}),Iie=$.span.attrs({className:ve(Pl,"Placeholder")}).withConfig({componentId:"sc-mfrapg-6"})(function(e){var t=e.theme.palette,n=e.size;return X(["width:100%;color:",";margin-right:","px;"],t[F.TextPlaceholder],n===Ri.Md?16:12)}),Fie=$.input.attrs({className:ve(Pl,"Input"),"aria-hidden":"true"}).withConfig({componentId:"sc-mfrapg-7"})(["left:0;width:100%;bottom:0;opacity:0;position:absolute;pointer-events:none;box-sizing:border-box;"]),Ys=jt({Container:Mie,Select:Tie,Label:Aie,Icon:kie,TickIcon:Lie,Input:Fie,Placeholder:Iie,StyledCrossButton:aI});function BO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Die(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=b.createElement(V3,null,e);if(t&&e){var a=b.createElement(jA,null,b.createElement(Ys.TickIcon,null,b.createElement(pA,{size:Nie(n)})));if(b.Children.count(e)===1)return b.createElement(b.Fragment,null,i,!r&&a);if(b.Children.count(e)>1&&!b.Children.toArray(e).some(function(o){var c;return(o==null||(c=o.type)===null||c===void 0?void 0:c.displayName)==="MenuItemActions"}))return b.createElement(b.Fragment,null,e,a)}return i},jie=function(e,t){var n,r,i,a,o=t.value,c=t.multiple,u=c===void 0?!1:c,d=t.size,f=d===void 0?kt.Md:d,w=t.hideMenuItemsActions,m=w===void 0?!1:w,g=t.onClose,y=t.onChange;if(!b.isValidElement(e))return e;if(((n=e.type)===null||n===void 0?void 0:n.displayName)!=="MenuItem")return b.cloneElement(e);var C=e==null||(r=e.props)===null||r===void 0?void 0:r.value,P=u?Array.isArray(o)?o:[]:[o],S=P.length>0&&P.includes(C),E=e==null||(i=e.props)===null||i===void 0?void 0:i.disabled;return b.cloneElement(e,{active:S,size:f,children:Rie(e==null||(a=e.props)===null||a===void 0?void 0:a.children,S,f,m),onClick:function(){var p;if(!u&&typeof g=="function"&&g(),typeof y=="function"&&!E&&C!=null&&(p=C.toString())!==null&&p!==void 0&&p.length){var x=C;if(u){x=pn(Array.isArray(o)?o:[]);var O=x.indexOf(C);O>-1?x.splice(O,1):x.push(C)}y(x)}}})},HO=function e(t){var n=t.props?t.props.children:t;return Array.isArray(n)?n.map(function(r){return e(r)}).join(" "):Qr(n)==="object"?e(n.props.children):n},zie=function(e,t){if(e&&e.children){for(var n=t?e.value:e.children;typeof n!="string";)Array.isArray(n)?n=HO(n[1]):n=HO(n);return n}},Bie=function(e){var t=e.value,n=e.multiple,r=n===void 0?!1:n,i=e.children,a=e.showSelectionKey,o=a===void 0?!1:a,c=[];b.Children.forEach(i,function(d){if(b.isValidElement(d)){var f=(d==null?void 0:d.type)||{},w=f.displayName;w==="MenuItem"&&d.props&&c.push(Die({},d.props))}});var u=r?c.filter(function(d){return Array.isArray(t)&&t.includes(d.value)}):[c.find(function(d){return d.value===t})];return u.length>0?u.map(function(d){return zie(d,o)}).join(", "):Array.isArray(t)?t.join(", "):t},Hie=["children","size","error","multiple","onChange","value","fullWidth","selectProps","MenuProps","readOnly","disabled","placeholder","showSelectionKey","hideMenuItemsActions","showClearIcon","renderLabel","onRequestClose","hideEllipsis"],D9=ct(function(e,t){var n,r=e.children,i=e.size,a=i===void 0?kt.Md:i,o=e.error,c=o===void 0?!1:o,u=e.multiple,d=u===void 0?!1:u,f=e.onChange,w=e.value,m=e.fullWidth,g=m===void 0?!1:m,y=e.selectProps,C=e.MenuProps,P=e.readOnly,S=P===void 0?!1:P,E=e.disabled,p=e.placeholder,x=e.showSelectionKey,O=e.hideMenuItemsActions,k=O===void 0?!1:O,I=e.showClearIcon,L=I===void 0?!1:I,D=e.renderLabel,M=e.onRequestClose,N=e.hideEllipsis,z=N===void 0?!1:N,H=fe(e,Hie),W=B.useState(void 0),K=ke(W,2),G=K[0],q=K[1],U=!!G,J=function(oe){return q(oe.currentTarget)},Q=Array.isArray(w)?!!w.length:!!(w!=null&&(n=w.toString())!==null&&n!==void 0&&n.length),ae=function(){M&&M(),q(void 0)},ie=function(oe){oe.stopPropagation(),typeof f=="function"&&f("")};return b.createElement(Ys.Container,{ref:t,fullWidth:!!g},b.createElement(Ys.Select,le({},H,{disabled:E,size:a,$error:c,$fullWidth:!!g,readOnly:S,showSelectionKey:x,isValueExists:Q,onClick:S||E?void 0:J}),Q&&b.createElement(Ys.Label,{hideEllipsis:z,size:a},typeof D=="function"?D(w):Bie({value:w,multiple:d,children:r,showSelectionKey:x})),!Q&&b.createElement(Ys.Placeholder,{size:a},p),!S&&L&&b.createElement(Ys.StyledCrossButton,{size:a===Ii.Md?Ii.Sm:Ii.Xs,onClick:ie}),b.createElement(Ys.Icon,{size:a,disabled:E},b.createElement(dA,{type:U?"top":"bottom",IconProps:{size:a===Ii.Md?11:10}})),b.createElement(Ys.Input,y)),b.createElement($c,le({onClose:ae},C,{open:U,anchorEl:G}),b.Children.map(r,function(oe){return jie(oe,{value:w,multiple:d,size:a,hideMenuItemsActions:k,onClose:ae,onChange:S||E?void 0:f})})))});xr.oneOfType([xr.string,xr.number,xr.oneOf([null])]);function GO(e,t,n){var r=function(o){if(typeof e=="function"){var c;e(((c=o.touches)===null||c===void 0?void 0:c[0])||o)}},i=function o(c){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",o),document.removeEventListener("mouseleave",o),document.removeEventListener("touchmove",r),document.removeEventListener("touchend",o),document.removeEventListener("touchcancel",o)},a=function(o){if(document.addEventListener("mousemove",r),document.addEventListener("mouseup",i),document.addEventListener("mouseleave",i),document.addEventListener("touchmove",r),document.addEventListener("touchend",i),document.addEventListener("touchcancel",i),typeof t=="function"){var c;t(((c=o.touches)===null||c===void 0?void 0:c[0])||o)}};return{onMouseDown:a,onTouchStart:a}}function VO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Gie(e){for(var t=1;t .item{margin-right:8px;display:flex;justify-content:center;}"]),nae=$.div.attrs({className:ve(Ra,"select")}).withConfig({componentId:"sc-qj4xo5-12"})(function(e){var t=e.value;return X(["width:",";"],t==="rgb"?"25%":"35%")}),rae=$.div.withConfig({componentId:"sc-qj4xo5-13"})({display:"flex",alignItems:"center",gap:"12px"}),Kr=jt({ColorPickerWrapper:Uie,RangePickerWrapper:Xie,WhiteGradient:Yie,BlackGradient:Kie,ColorPointer:Zie,BarWrapper:$ie,Bar:qie,BarColorStop:Qie,ColorPickerAction:Jie,ColorPickerIcon:Wie,ColorItemsContainer:tae,ColorItemWrapper:eae,Select:nae,SelectWrapper:rae}),iae=ct(function(e,t){var n=e.value,r=e.onChange,i=e.checked,a=e.size,o=a===void 0?24:a,c=B.useMemo(function(){return n==="#ffffff"||n==="rgba(0,0,0,0)"?"black":"white"},[n]);return b.createElement(Kr.ColorItemWrapper,{ref:t,color:n,size:o,stroke:n==="rgba(0,0,0,0)"?"#a8a8a8":"#E9EEF2",value:n},b.createElement("input",{type:"radio",value:n,checked:i,onChange:r}),i&&b.createElement(pA,{color:c}))}),aae=["defaultColor","onChange","pinnedColors","showTransparentColor","hidePinIcon","containerProps"];function UO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function my(e){for(var t=1;t255||Number.isNaN(Pe))){var vt=q;vt[ze]=Pe;var We=RM.apply(void 0,pn(vt));U(pn(vt)),CC(We)&&(k(my(my({},O),{},{color:We})),Me(We),It(We))}},Re=function(Pe){Pe.includes("rgb")?U(C7(Pe)):U(W2(Pe))},rt=function(Pe){return y(Pe)?c2:Pe},It=function(Pe){if(re!==null){var ze=ql(re),vt=ze.width,We=ze.height,Ge=ev(Pe),at=cB(Ge[0],Ge[1]/100,Ge[2]/100),$t=J4(at[1],0,100,0,vt),br=We-J4(at[2],0,100,0,We);k({color:rt(Pe),pointer:{left:$t,top:br}}),Me(Pe),Re(Pe),typeof i=="function"&&i(rt(Pe),Ae(Pe),ge(D))}},tt=function(Pe,ze,vt){if(re!==null){var We=ql(re),Ge=We.width,at=We.height,$t=ev(vt),br=ke($t,1),Or=br[0],da=ju(Pe,0,Ge)||0,Ve=ju(ze,0,at)||0,Ke=lB(Or,da/Ge,(at-Ve)/at),Lt=sB(Ke[0],Ke[1],Ke[2]);k({color:Lt,pointer:{left:da,top:Ve}}),typeof i=="function"&&i(Lt,"rgb(".concat(W2(Lt).join(", "),")"),ge(D))}},Ot=function(Pe){var ze=Ce;if(ze!==null){var vt=ql(ze),We=vt.width,Ge=ju(Math.round(J4(Pe,0,We,0,vy)),0,vy),at=ze.querySelector("[data-hue='".concat(Ge,"']")),$t=at.style.backgroundColor;return E({color:$t,pointerLeft:ju(Pe,0,We)}),$t}return S.color},ln=function(Pe){var ze=Ce;if(ze!==null){var vt,We=ql(ze),Ge=We.left,at=((vt=Pe.touches)===null||vt===void 0?void 0:vt[0])||Pe,$t=Ot(at.pageX-Ge);tt(O.pointer.left,O.pointer.top,$t)}},tn=function(Pe){var ze=re;if(ze!==null){var vt=ql(ze),We=vt.left,Ge=vt.top,at=vt.height,$t=vt.width,br=Pe?ju(Pe.pageX-We,0,$t):O.pointer.left||0,Or=Pe?ju(Pe.pageY-Ge,0,at):O.pointer.left||0;tt(br,Or,S.color)}},Kt=function(Pe){Pe.key!=="ArrowLeft"&&Pe.key!=="ArrowRight"||Ot(S.pointerLeft+(Pe.key==="ArrowLeft"?-1:1))},Zt=function(Pe){var ze=0;Pe.key==="ArrowLeft"||Pe.key==="ArrowUp"?ze=-1:(Pe.key==="ArrowRight"||Pe.key==="ArrowDown")&&(ze=1),ze&&tt((O.pointer.left||0)+(["ArrowLeft","ArrowRight"].includes(Pe.key)?ze:0),(O.pointer.top||0)+(["ArrowUp","ArrowDown"].includes(Pe.key)?ze:0),S.color)},yr=function(Pe){var ze=CC(Pe);ze&&It(Pe),ie(Pe)};B.useEffect(function(){Me(O.color),It(O.color)},[Ce]),B.useEffect(function(){ie(O.color),Re(O.color)},[O.color]);var nn=B.useMemo(function(){return pn(new Array(vy+1)).map(function(Pe,ze){return b.createElement(Kr.BarColorStop,{key:ze,$color:"hsl(".concat(ze,", 100%, 50%)"),"data-hue":ze})})},[]),Et=GO(ln,ln),ua=GO(tn,tn);return b.createElement(Kr.ColorPickerWrapper,le({ref:t},m),b.createElement(Kr.ColorPickerAction,null,b.createElement(Kr.SelectWrapper,null,b.createElement(Kr.Select,{value:H},b.createElement(D9,{size:"sm",value:H,MenuProps:my({zIndex:11112},w),onChange:function(Pe){return W(Pe)},fullWidth:!0,hideEllipsis:!0},b.createElement(es,{value:"hex"},"Hex"),b.createElement(es,{value:"rgb"},"RGB"))),H==="hex"?b.createElement(F1,{size:"sm",error:!/^#(?:[0-9a-fA-F]{3,4}){1,2}$/i.test(O.color),value:ae,onChange:function(Pe){return yr(Pe.target.value)},style:{width:"45%"}}):q.map(function(Pe,ze){return b.createElement(F1,{key:ze,size:"sm",value:Pe,onChange:function(vt){var We;return et(Number((We=vt.target)===null||We===void 0?void 0:We.value),ze)},style:{width:"20%"}})})),O.color!==c2&&!f&&b.createElement(Kr.ColorPickerIcon,{onClick:function(){return D.some(function(Pe){return xe(Pe)})?Ie(O.color,"delete"):Ie(O.color,"add")}},D.some(function(Pe){return xe(Pe)})?b.createElement(eI,null):b.createElement(Hre,null))),b.createElement(Kr.RangePickerWrapper,le({ref:be,color:S.color},ua),b.createElement(Kr.WhiteGradient,null),b.createElement(Kr.BlackGradient,null),b.createElement(Kr.ColorPointer,{tabIndex:-1,left:O.pointer.left||0,top:O.pointer.top||0,onKeyDown:Zt,pointerColor:ae,considerTopWidth:!0})),b.createElement(Kr.BarWrapper,Et,b.createElement(Kr.Bar,{ref:pe},b.createElement("tbody",null,b.createElement("tr",null,nn))),b.createElement(Kr.ColorPointer,{tabIndex:-1,left:S.pointerLeft,onKeyDown:Kt,considerTopWidth:!1,pointerColor:ae,style:{top:-3}})),b.createElement(Kr.ColorItemsContainer,null,D.map(function(Pe){return b.createElement("div",{className:"item",key:Pe},b.createElement(iae,{value:Pe,checked:xe(Pe),onChange:function(ze){return It(ze.target.value)}}))})))}),yy=A(A(A({},Bd.Primary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";&:hover{background-color:",";}&:focus{background-color:",";}&:active{background-color:",";}"," &:disabled{color:",";background:",";cursor:default;}"],t[F.AccentStateless],t[F.IconsInvert],t[F.AccentPrimaryHover],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive],n&&X(["background-color:",";&:hover,&:focus{background-color:",";}"],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity])}),Bd.Secondary,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:",";color:",";border:1px solid ",";&:hover{color:",";background-color:",";}&:focus{background-color:",";color:",";border:1px solid ",";}&:active{color:",";background-color:",";}"," &:disabled{color:",";background:",";border:none;cursor:default;}"],t[F.BackgroundStateless],t[F.AccentStateless],t[F.AccentStateless],t[F.IconsInvert],t[F.AccentPrimaryHover],t[F.Accent_1_2_Opacity],t[F.AccentPrimaryActive],t[F.AccentPrimaryActive],t[F.IconsInvert],t[F.AccentPrimaryActive],n&&X(["color:",";background-color:",";&:hover,&:focus{color:",";background-color:",";}"],t[F.IconsInvert],t[F.AccentPrimaryActive],t[F.IconsInvert],t[F.AccentPrimaryActive]),t[F.BordersDisabled],t[F.Accent_1_2_Opacity])}),Bd.Basic,function(e){var t=e.theme.palette,n=e.active;return X(["background-color:transparent;color:",";border:none;&:hover{background-color:",";color:",";}&:focus{background-color:",";color:",";}&:active{background-color:",";color:",";}"," &:disabled{background-color:transparent;color:",";cursor:default;}"],t[F.IconsPrimary],t[F.BackgroundHover],t[F.IconsPrimaryHover],t[F.BackgroundActive],t[F.LinkActive],t[F.BackgroundActive],t[F.LinkActive],n&&X(["background-color:",";color:",";&:hover,&:focus{background-color:",";color:",";}"],t[F.BackgroundActive],t[F.LinkActive],t[F.BackgroundActive],t[F.LinkActive]),t[F.BordersDisabled])}),sae=A(A(A(A({},it.Xs,X(["padding:6px;"])),it.Sm,X(["padding:9px;"])),it.Md,X(["padding:12px;"])),it.Lg,X(["padding:11px;"])),lae="IconButton",cae=$(Qa.Button).attrs({className:ve(lae,"root")}).withConfig({componentId:"sc-10edh45-0"})(function(e){var t=e.theme,n=e.color,r=n===void 0?Bd.Secondary:n,i=e.size,a=i===void 0?it.Md:i,o=e.$active,c=o===void 0?!1:o;return X([""," ",""],sae[a],yy[r]?yy[r]({theme:t,active:c}):yy[Bd.Basic]({theme:t,active:c}))}),uae=jt({IconButton:cae}),dae=["children","size","color","active"],yl=ct(function(e,t){var n=e.children,r=e.size,i=r===void 0?it.Md:r,a=e.color,o=a===void 0?Bd.Primary:a,c=e.active,u=c===void 0?!1:c,d=fe(e,dae);return b.createElement(uae.IconButton,le({type:"button"},d,{size:i,color:o,$active:u,ref:t}),n&&(typeof n=="function"?n({size:Sc(i)}):n))}),by=function(e,t){e.preventDefault(),e.button===0&&t&&t(e)},hae=function(e){var t=e.theme.palette;return X(["background:"," !important;border:1px solid "," !important;"],t[F.BackgroundSecondary],t[F.Error])},fae=A(A({},kt.Sm,function(){return X(["height:136px;"])}),kt.Md,function(){return X(["height:152px;"])}),oI=A(A({},kt.Sm,function(e){var t=e.theme.typography.font;return X(["padding:8px 12px;",""],t[Oe.InputMd])}),kt.Md,function(e){var t=e.theme.typography.font;return X(["padding:8px 16px;",""],t[Oe.InputLg])}),W3="Textarea",pae=$.div.attrs({className:ve(W3,"root")}).withConfig({componentId:"sc-1usif6k-0"})(function(e){var t=e.size,n=t===void 0?kt.Md:t,r=e.error,i=r===void 0?!1:r,a=e.fullWidth,o=a===void 0?!1:a,c=e.readOnly,u=c===void 0?!1:c,d=e.disabled,f=d===void 0?!1:d,w=e.autoSize,m=w===void 0?!1:w,g=e.theme;return X(["position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:space-between;cursor:text;box-sizing:border-box;transition:all 100ms ease-out;width:",";pointer-events:",";background-color:",";border-radius:",";border:1px solid ",";color:",";"," "," &:hover{color:",";}"," ",""],o?"100%":"300px",f?"none":"auto",mA(u,f),g.shape.borderRadius[so.Md],yA(u,f),f?g.palette[F.TextPlaceholder]:g.palette[F.TextPrimary],fae[n],!u&&!f&&X(["&:focus-within{background-color:","!important;border:1px solid ",";&:hover{border:1px solid ",";}}&:hover{background-color:",";border:1px solid ",";}"],g.palette[F.BackgroundSecondary],g.palette[F.AccentStateless],g.palette[F.AccentStateless],g.palette[F.BackgroundStateless],g.palette[F.BordersPrimaryHover]),vA(u,f),i&&hae,m&&X(["width:auto;height:auto;"]))}),gae=$.textarea.attrs({className:ve(W3,"Base")}).withConfig({componentId:"sc-1usif6k-1"})(function(e){var t=e.theme.palette,n=e.readOnly,r=n===void 0?!1:n,i=e.size,a=i===void 0?kt.Md:i;return X(["display:block;width:100%;height:100%;color:inherit;outline:none;resize:none;min-width:0;margin:0;padding:0;border:0;background-color:transparent;outline:none;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;font-family:inherit;box-sizing:border-box;flex:1;"," ",";&::placeholder{color:",";}::-webkit-scrollbar{width:12px;}::-webkit-scrollbar-track{width:8px;}::-webkit-scrollbar-thumb{background:",";border-radius:8px;border:4px solid ",";}"],r&&"padding-bottom: 0px;",oI[a],t[F.TextPlaceholder],t[F.BorderPrimaryStateless],t[F.BackgroundStateless])}),mae=$.div.attrs({className:ve(W3,"ActionsButtonsWrapper")}).withConfig({componentId:"sc-1usif6k-2"})(function(e){var t=e.size,n=t===void 0?kt.Md:t;return X(["display:flex;align-items:center;width:100%;column-gap:12px;box-sizing:border-box;",";.SfxButton-Label{font-weight:500;}"],oI[n])}),vae=$.span.attrs({className:ve(W3,"CopyIcon")}).withConfig({componentId:"sc-1usif6k-3"})(function(e){var t=e.theme.palette;return X(["cursor:pointer;color:",";margin-left:auto;"],t[F.IconsPrimary])}),u2=jt({Textarea:pae,CopyIcon:vae,Base:gae,ActionsButtonsWrapper:mae}),yae=["fullWidth","size","value","readOnly","disabled","error","cols","rows","copyTextMessage","copySuccessIcon","showActionButton","showClearButton","hideCopyIcon","disableActionButton","isActionButtonLoading","actionButtonLabel","clearAllButtonLabel","onClickActionButton","onClear","onChange"];function WO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function bae(e){for(var t=1;tEt.clientHeight&&xe({paddingRight:o===Ri.Md?"4px":"0px"})},[(n=ie.current)===null||n===void 0?void 0:n.scrollHeight,o]),B.useEffect(function(){setTimeout(function(){return Me(!1)},2e3)},[Ie]),B.useEffect(function(){It(c)},[c]);var Zt=function(){setTimeout(function(){R(!0)},150)},yr=function(){setTimeout(function(){R(!1)},200)},nn=function(){return b.createElement(Rr.NotificationBox,{size:o,isTextarea:!0},b.createElement(Rr.NotificationIcon,null,p),b.createElement(Rr.NotificationText,null,S))};return b.createElement(u2.Textarea,{size:o,value:rt,onMouseEnter:Zt,onMouseLeave:yr,readOnly:d,disabled:w,fullWidth:!!i,error:g,autoSize:!!y||!!C},b.createElement(u2.Base,le({},ae,{value:rt,ref:oe,size:o,onChange:tn,readOnly:d,disabled:w,style:bae({},be)})),(O||I||tt)&&b.createElement(u2.ActionsButtonsWrapper,{size:o},O&&b.createElement(Da,{color:"link-primary",size:"sm",disabled:N,loading:H,onMouseDown:function(Et){return by(Et,Ot)}},K),I&&b.createElement(Da,{color:"link-secondary",size:"sm",onMouseDown:function(Et){return by(Et,ln)}},q),tt&&b.createElement(u2.CopyIcon,{size:o,onMouseDown:function(Et){return by(Et,Kt)}},b.createElement(gA,{size:Sc(o)}),Ie&&nn())))}),wy={Input:"input",Textarea:"textarea"},xae="InputGroup",Cae=$.div.attrs({className:ve(xae,"root")}).withConfig({componentId:"sc-zhtjwh-0"})(["","{margin-top:4px;}","{margin-bottom:4px;}"],BA.FormHint,eg.Label),sI=jt({InputGroup:Cae}),Sae=["type","error","label","hint","LabelProps","InputProps","inputProps","inputRef","TextareaProps","readOnly","disabled","size","value","hideCopyIcon","copyTextMessage","copySuccessIcon","placeholder","fullWidth","onChange"],lI=ct(function(e,t){var n=e.type,r=n===void 0?wy.Input:n,i=e.error,a=i===void 0?!1:i,o=e.label,c=e.hint,u=e.LabelProps,d=e.InputProps,f=e.inputProps,w=e.inputRef,m=e.TextareaProps,g=e.readOnly,y=g===void 0?!1:g,C=e.disabled,P=e.size,S=e.value,E=e.hideCopyIcon,p=e.copyTextMessage,x=p===void 0?"Copied!":p,O=e.copySuccessIcon,k=O===void 0?b.createElement(z3,{size:16}):O,I=e.placeholder,L=e.fullWidth,D=e.onChange,M=fe(e,Sae),N=function(){return o?typeof o=="function"?o({error:a}):Qr(o)==="object"?o:b.createElement(hn,le({size:P,disabled:C},u||{}),o):null},z=function(){var W={value:S,readOnly:y,disabled:C,size:P,error:a,placeholder:I,hideCopyIcon:E,copyTextMessage:x,copySuccessIcon:k,fullWidth:L};return r===wy.Input?b.createElement(F1,le({},W,M,f,{InputProps:d,ref:w,readOnly:y,disabled:C,onChange:D})):r===wy.Textarea?b.createElement(wae,le({},W,m||{},{onChange:function(K){return D(K)}})):null},H=function(){return c?typeof c=="function"?c({error:a}):Qr(c)==="object"?c:b.createElement(HA,{size:P,error:a,disabled:C},c):null};return b.createElement(sI.InputGroup,{ref:t},N(),z(),H())});function _ae(e){if(e==null)throw new TypeError("Cannot destructure "+e)}var _c={Xs:"xs",Sm:"sm",Md:"md",Lg:"lg",Xl:"xl"},Oae=B.createContext({modalOpened:!1}),Eae=A(A(A(A(A({},_c.Xs,X(["max-width:300px;"])),_c.Sm,X(["max-width:600px;"])),_c.Md,X(["max-width:960px;"])),_c.Lg,X(["max-width:1280px;"])),_c.Xl,X(["max-width:1920px;"])),X3="Modal",Pae=$.div.attrs({className:ve(X3,"Wrapper")}).withConfig({componentId:"sc-80m07l-0"})(function(e){var t=e.open;return X(["position:fixed;right:0px;bottom:0px;top:0px;left:0px;z-index:1200;visibility:",";"],t?"visible":"hidden")}),kae=$.div.attrs({className:ve(X3,"Overlay")}).withConfig({componentId:"sc-80m07l-1"})(function(e){var t=e.open;return X(["position:fixed;right:0px;bottom:0px;top:0px;left:0px;background-color:rgba(0,0,0,0.5);z-index:-1;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms;opacity:",";"],t?"1":"0")}),Lae=$.div.attrs({className:ve(X3,"Container")}).withConfig({componentId:"sc-80m07l-2"})(function(e){var t=e.theme,n=e.open,r=n===void 0?!1:n,i=e.fullWidth,a=i===void 0?!1:i,o=e.maxWidth,c=o===void 0?_c.Sm:o;return X(["position:absolute;overflow-x:hidden;overflow-y:auto;transition:opacity 251ms cubic-bezier(0.4,0,0.2,1) 0ms,transform 167ms cubic-bezier(0.4,0,0.2,1) 0ms;outline:0;border-radius:",";background-color:",";box-shadow:0px 2px 4px ",";visibility:",";opacity:",";display:flex;max-height:calc(100% - 64px);flex-direction:column;"," "," top:50%;left:50%;transform:translate(-50%,-50%);"],t.shape.borderRadius[so.Lg],t.palette[F.BackgroundSecondary],t.palette[F.LightShadow],r?"visible":"hidden",r?"1":"0",a&&X(["width:calc(100% - 64px);"]),Eae[c])}),Mae=$.div.attrs({className:ve(X3,"root")}).withConfig({componentId:"sc-80m07l-3"})(function(){return X(["position:relative;padding-top:8px;padding-bottom:8px;margin:0;padding:0;outline:0;display:flex;flex-direction:column;"])}),d2=jt({Modal:Mae,Wrapper:Pae,Overlay:kae,Container:Lae}),Tae=["children","open","onClose","onDragOver","onDrop","maxWidth","fullWidth","modalStyles","hideOverlay","disableOverlayClick"];function XO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function YO(e){for(var t=1;t input{border:0px;clip:rect(0px,0px,0px,0px);height:100%;margin:-1px;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:100%;direction:ltr;}&::before{position:absolute;content:'';border-radius:inherit;width:100%;height:100%;box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);}&::after{position:absolute;content:'';border-radius:50%;width:42px;height:42px;top:50%;left:50%;transform:translate(-50%,-50%);}"],t[F.LinkActive])}),boe=$.div.attrs({className:ve(qc,"mark")}).withConfig({componentId:"sc-1xuruq0-5"})(["padding:4px;"]),woe=$.span.attrs({className:ve(qc,"mark-text")}).withConfig({componentId:"sc-1xuruq0-6"})(function(e){var t=e.theme.palette;return X(["position:absolute;top:20px;font-size:14px;transform:translateX(-10%);color:",";"],t[F.TextPrimary])}),mc=jt({RotationSliderList:poe,RotationSliderBigDot:goe,RotationSliderSmallDotWrapper:moe,RotationSliderSmallDot:voe,RotationSliderControl:yoe,RotationSliderMark:boe,RotationSliderMarkText:woe}),xoe=["min","max","angle","onChange","onMouseDown","onMouseUp","step","labelTooltipOptions","annotation","hideMarkText","showCurrentMarkText","value","railProps","trackProps","thumbProps","labelTooltipProps","markStyles","markTextStyles"];function KO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Dr(e){for(var t=1;ta?a:O *{color:",";}}",""],n?"none":"flex",t[F.BackgroundActive],t[F.AccentStateless],r&&X(["background-color:",";& > *{color:"," !important;}"],t[F.BackgroundActive],t[F.AccentStateless]))}),Boe=$.div.attrs({className:ve(Bi,"text")}).withConfig({componentId:"sc-1riasfx-8"})(function(e){var t=e.theme,n=t.palette,r=t.typography.font,i=e.font,a=e.isCollapsed;return X(["flex:1 1 auto;color:",";",";transition:color 100ms ease-out;display:",";user-select:none;"],n[F.TextPrimary],r[i||Oe.LabelLarge],a&&"none")}),Hoe=$.span.attrs({className:ve(Bi,"icon")}).withConfig({componentId:"sc-1riasfx-9"})(function(e){var t=e.theme.palette,n=e.isCollapsed;return X(["display:flex;flex-shrink:0;color:",";margin-right:",";transition:color 100ms ease-out;"],t[F.IconsPrimary],n?"0px":"12px")}),uI=$.div.attrs({className:ve(Bi,"item-button")}).withConfig({componentId:"sc-1riasfx-10"})(function(e){var t=e.theme.palette,n=e.isCollapsed,r=e.selected;return X(["display:flex;justify-content:",";align-items:center;border-radius:4px;box-sizing:border-box;text-align:left;padding:",";width:",";margin-bottom:12px;",";transition:background-color 150ms cubic-bezier(0.4,0,0.2,1) 0ms;cursor:pointer;&:hover{background-color:",";& > *{color:",";}}",""],n?"center":"flex-start",n?"12px 0px":"13px 16px",n&&"44px",n&&"margin: 12px",t[F.BackgroundActive],t[F.AccentStateless],r&&X(["background-color:",";& > *{color:",";}"],t[F.BackgroundActive],t[F.AccentStateless]))}),Goe=$(uI).attrs({className:ve(Bi,"item-button")}).withConfig({componentId:"sc-1riasfx-11"})(function(e){var t=e.theme.palette,n=e.isCollapsed;return X([""," &:hover{background-color:",";& > *{color:",";}svg{color:",";background-color:",";border-radius:50%;path:first-of-type{color:",";}}}"],!n&&X(["padding:13px 16px;"]),t[F.BackgroundActive],t[F.AccentStateless],t[F.BackgroundActive],t[F.AccentStateless],t[F.AccentStateless])}),Voe=$(fA).attrs({className:ve(Bi,"accordion")}).withConfig({componentId:"sc-1riasfx-12"})(function(e){var t=e.theme,n=t.palette,r=t.typography.font,i=e.selected;return X(["","{padding:13px 16px;transition:background-color 100ms ease-out;","{",";color:",";}&:hover{background-color:",";& > *{color:",";}}","}","{padding:0px 16px;}"],Hd.Header,Hd.Label,r[Oe.LabelLargeEmphasis],n[F.TextPrimary],n[F.BackgroundActive],n[F.AccentStateless],i&&X(["","{color:",";}"],Hd.Label,n[F.AccentStateless]),hA.AccordionDetails)}),Pa=jt({TemporaryDrawer:Aoe,PersistentDrawer:Ioe,Drawer:Foe,Header:Doe,Body:Noe,Footer:Roe,List:joe,Item:zoe,ItemButton:uI,Icon:Hoe,ItemText:Boe,DrawerAccordion:Voe,CollapsedButton:Goe}),K1=B.createContext({isCollapsed:!1,size:20}),Uoe=["children","font"],Woe=ct(function(e,t){var n=e.children,r=e.font,i=fe(e,Uoe),a=B.useContext(K1),o=a.isCollapsed;return b.createElement(Pa.ItemText,le({font:r,isCollapsed:o},i,{ref:t}),n)}),Xoe=["children","size"],Yoe=ct(function(e,t){var n=e.children,r=e.size,i=r===void 0?20:r,a=fe(e,Xoe),o=B.useContext(K1),c=o.isCollapsed,u=o.size;return b.createElement(Pa.Icon,le({},a,{isCollapsed:c,ref:t}),n&&typeof n=="function"?n({size:u||i}):n)}),h2={Auto:"auto",Temporary:"temporary",Persistent:"persistent"},Koe=["children","open","iconsSize","collapsed","top","hideBackdrop","disablePortal","collapseButtonLabel","persistentDrawerStyles","temproryDrawerStyles","variant","onClose","onCollapse","onCollapseClick"];function ZO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function xy(e){for(var t=1;t0}Ce.key==="Escape"&&pe&&U()};B.useEffect(function(){return document.addEventListener("keydown",J),function(){return document.removeEventListener("keydown",J)}},[]);var Q=function(Ce){return b.createElement(Pa.Drawer,le({open:r,top:u},I,{isCollapsed:Ce?z:!1,ref:t}),n,Ce&&b.createElement(Pa.CollapsedButton,{onClick:q,isCollapsed:z},b.createElement(Yoe,null,z?function(pe){return b.createElement(fie,le({},pe,{size:a}))}:function(pe){return b.createElement(die,le({},pe,{size:a}))}),b.createElement(Woe,null,g)))},ae=function(){return!f&&r?b.createElement(Toe,{onClick:x}):null},ie=function(){return w?b.createElement(Pa.TemporaryDrawer,{ref:W,style:xy({},S),open:r},ae(),Q(!1)):B3.createPortal(b.createElement(Pa.TemporaryDrawer,{ref:W,style:xy({},S),open:r},ae(),Q(!1)),G)},oe=function(){return b.createElement(Pa.PersistentDrawer,{style:xy({},C)},Q(!0))},ue=function(){switch(p){case h2.Auto:return D?ie():oe();case h2.Temporary:return ie();case h2.Persistent:return oe();default:return D?ie():oe()}};return b.createElement(K1.Provider,{value:{isCollapsed:D?!1:z,size:K}},ue())}),$oe=["children"],qoe=ct(function(e,t){var n=e.children,r=fe(e,$oe),i=B.useContext(K1),a=i.isCollapsed;return b.createElement(Pa.Header,le({},r,{isCollapsed:a,ref:t}),n)}),Qoe=["children"],Joe=ct(function(e,t){var n=e.children,r=fe(e,Qoe);return b.createElement(Pa.Body,le({},r,{ref:t}),n)}),ese=["children"],tse=ct(function(e,t){var n=e.children,r=fe(e,ese);return b.createElement(Pa.List,le({},r,{ref:t}),n)}),nse=["children","selected"],rse=ct(function(e,t){var n=e.children,r=e.selected,i=r===void 0?!1:r,a=fe(e,nse),o=B.useContext(K1),c=o.isCollapsed;return b.createElement(Pa.Item,le({selected:i,isCollapsed:c},a,{ref:t}),n)}),ise=$.div.withConfig({componentId:"sc-1rfxjvn-0"})(["display:flex;width:100%;justify-content:space-between;gap:10px;.SfxSlider-root{min-width:100px;}",""],function(e){var t=e.isPhoneScreen;return t&&"\n flex-direction: column;\n\n .SfxSlider-root {\n min-width: 230px;\n }\n "}),Fc=$.div.withConfig({componentId:"sc-1rfxjvn-1"})(["display:flex;flex-direction:column;"]),Dc=$(hn).withConfig({componentId:"sc-1rfxjvn-2"})(["",";"],function(e){var t=e.theme;return t.typography.font[Oe.LabelExtraSmallUp]}),Nc=$.div.withConfig({componentId:"sc-1rfxjvn-3"})(["display:flex;align-items:center;"]),Rc=$(F1).withConfig({componentId:"sc-1rfxjvn-4"})(["display:inline-block;width:40px;height:28px;padding:6px 2px;margin-left:10px;border:none;.SfxInput-Base{text-align:center;width:100%;min-width:100%;max-width:100%;}"]),$O=-1,Cy={brightness:0},qO=1,ase={width:150,padding:0,margin:0},ose=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Brighten,Cy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({brightness:$n(d,$O,qO)})};return b.createElement(Fc,{className:"FIE_brightness-option-wrapper"},b.createElement(Dc,{className:"FIE_brightness-option-label"},r("brightness")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_brightness-option",min:$O,step:.05,max:qO,width:"124px",value:(t=o.brightness)!==null&&t!==void 0?t:Cy.brightness,onChange:u,style:ase}),b.createElement(Rc,{value:(n=o.brightness)!==null&&n!==void 0?n:Cy.brightness,onChange:function(d){var f=d.target.value;return u(f)}})))},l3=function(e,t){return Math.min(e.width/t.width,e.height/t.height)||Fa},QO=[{titleKey:"custom",ratio:_T,icon:jne,hide:function(){var e=0g.width||k.height>g.height?l3(g,k):Fa}})),n()};return b.createElement(b.Fragment,null,b.createElement(sse,null,b.createElement(P9,{className:"FIE_crop-tool-label FIE_selected-crop-preset-label",isPhoneScreen:S},a(w||"cropTool")),b.createElement(lse,{className:"FIE_crop-presets-opener-button",color:"link-secondary",size:"lg"},t?b.createElement(cie,{size:10}):b.createElement(sie,{size:10}))),b.createElement($c,{className:"FIE_crop-presets-menu",anchorEl:t,enableOverlay:!0,onClose:n,open:!!t,position:"top",popperOptions:{modifiers:[{name:"offset",options:{offset:[0,4]}}]},maxHeight:"100%"},b.createElement(use,null,E.map(function(x){var O=x.titleKey,k=x.descriptionKey,I=x.ratio,L=x.width,D=x.height,M=x.groups,N=x.icon,z=x.disableManualResize,H=x.noEffect;return M?b.createElement(fI,{key:O,titleKey:O,groups:M,Icon:N,theme:C,onItemSelect:p,t:a,disableManualResize:z}):b.createElement(z9,{key:I,ratio:I!=null?I:_n(L/D),titleKey:O,t:a,description:a(k),Icon:N,isActive:(f||M7)===(I!=null?I:_n(L/D))&&!m,theme:C,width:L,height:D,onClick:p,disableManualResize:z,noEffect:H})}))))};pI.defaultProps={anchorEl:null};var gI=function(e){var t=e.selectTool,n=e.isSelected,r=Ye(),i=r.config,a=r.t,o=B.useState(),c=ke(o,2),u=c[0],d=c[1];return b.createElement(or,{className:"FIE_crop-tool",id:se.CROP,Icon:cne,onClick:function(f,w){t(f),d(w.currentTarget)},isSelected:n},i[se.CROP].noPresets?b.createElement(P9,{className:"FIE_crop-tool-label"},a("cropTool")):b.createElement(pI,{anchorEl:u,onClose:function(){d(null)}}))};gI.defaultProps={isSelected:!1};var pse={transform:"scaleX(-1)"},mI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t,i=Ye(),a=i.dispatch,o=i.adjustments.isFlippedX,c=Na(320),u=B.useCallback(function(){return b.createElement(Gne,{size:c?20:16,style:o?pse:void 0})},[o,c]),d=B.useMemo(function(){return{reverseLabelOfCurrXFlipDir:r(o?"unFlipX":"flipX"),reverseIconOfCurrXFlipDir:u}},[o,u]),f=d.reverseLabelOfCurrXFlipDir,w=d.reverseIconOfCurrXFlipDir,m=B.useCallback(function(){a({type:W9,payload:{direction:L7.X}})},[]),g=B.useCallback(function(y){t(y),m()},[]);return b.createElement(or,{className:"FIE_flip-x-tool-button",id:se.FLIP_X,label:f,Icon:w,onClick:g,isSelected:n})};mI.defaultProps={isSelected:!1};var gse={transform:"scaleY(-1)"},vI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t,i=Ye(),a=i.dispatch,o=i.adjustments.isFlippedY,c=Na(320),u=B.useCallback(function(){return b.createElement(Bne,{size:c?20:16,style:o?gse:void 0})},[o,c]),d=B.useMemo(function(){return{reverseLabelOfCurrYFlipDir:r(o?"unFlipY":"flipY"),reverseIconOfCurrYFlipDir:u}},[o]),f=d.reverseLabelOfCurrYFlipDir,w=d.reverseIconOfCurrYFlipDir,m=B.useCallback(function(){a({type:W9,payload:{direction:L7.Y}})},[]),g=B.useCallback(function(y){t(y),m()},[]);return b.createElement(or,{className:"FIE_flip-y-tool-button",id:se.FLIP_Y,label:f,Icon:w,onClick:g,isSelected:n})};vI.defaultProps={isSelected:!1};var yI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_rotate-tool-button",id:se.ROTATE,label:r("rotateTool"),Icon:KA,onClick:t,isSelected:n})};yI.defaultProps={isSelected:!1};var mse=$.div.withConfig({componentId:"sc-wbx58r-0"})(["display:flex;align-items:center;gap:16px;"]),vse=$(Coe).withConfig({componentId:"sc-wbx58r-1"})([".SfxRotationSlider-control{width:1px;height:10px;background-color:",";&:before{box-shadow:unset;}}.SfxRotationSlider-mark,.SfxRotationSlider-small-dot-wrapper{padding:0;.SfxRotationSlider-mark-text{top:10px;}.SfxRotationSlider-big-dot{width:4px;height:4px;}.SfxRotationSlider-small-dot{width:1px;height:1px;}}.SfxRotationSlider-list{gap:4px;}"],function(e){var t=e.theme.palette;return t[F.IconsSecondary]}),rE=$(yl).withConfig({componentId:"sc-wbx58r-2"})([""]),yse=function(){var e=Ye(),t=e.dispatch,n=e.adjustments.rotation,r=n===void 0?0:n,i=e.resize,a=i===void 0?{}:i,o=e.config,c=o[se.ROTATE],u=Na(),d=rA(function(f,w){var m=$n(w,-180,180);if(t({type:GI,payload:{rotation:m}}),a.width&&a.height){var g=vl(a.width,a.height,m);t({type:Gd,payload:{width:g.width,height:g.height}})}},20);return c.componentType==="buttons"?b.createElement(b.Fragment,null,b.createElement(or,{className:"FIE_rotate_button_left",id:se.IMAGE,label:"-".concat(c.angle,"°"),Icon:KA,onClick:function(f){var w=r-c.angle;d(f,w)}}),b.createElement(or,{className:"FIE_rotate_button_right",id:se.IMAGE,label:"+".concat(c.angle,"°"),Icon:_ne,onClick:function(f){var w=r+c.angle;d(f,w)}})):b.createElement(mse,null,b.createElement(rE,{size:"sm",color:"basic",onClick:function(f){return d(f,r-90)}},b.createElement(zO,{width:15})),b.createElement(vse,{className:"FIE_rotate-slider",showCurrentMarkText:!0,min:-180,max:180,step:u?c.angle/3:1,value:r,angle:c.angle||90,onChange:d}),b.createElement(rE,{size:"sm",color:"basic",onClick:function(f){return d(f,r+90)}},b.createElement(zO,{width:15,style:{transform:"scaleX(-1)"}})))},bI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_contrast-tool-button",id:se.CONTRAST,label:r("contrastTool"),Icon:Tre,onClick:t,isSelected:n})};bI.defaultProps={isSelected:!1};var iE=-100,Sy={contrast:0},aE=100,bse={width:150,padding:0,margin:0},wse=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Contrast,Sy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({contrast:$n(d,iE,aE)})};return b.createElement(Fc,{className:"FIE_contrast-option-wrapper"},b.createElement(Dc,{className:"FIE_contrast-option-label"},r("contrastTool")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_contrast-option",min:iE,max:aE,width:"124px",value:(t=o.contrast)!==null&&t!==void 0?t:Sy.contrast,onChange:u,style:bse}),b.createElement(Rc,{value:(n=o.contrast)!==null&&n!==void 0?n:Sy.contrast,onChange:function(d){var f=d.target.value;return u(f)}})))},wI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_hsv-tool-button",id:se.HSV,label:r("hsvTool"),Icon:Dre,onClick:t,isSelected:n})};wI.defaultProps={isSelected:!1};var vc={hue:0,saturation:0,value:0},oE={hue:259,saturation:10,value:2},_y={padding:0,margin:0},xse=Na(),Cse=function(e){var t,n,r,i,a,o,c=e.t,u=V1(Sn.Filters.HSV,vc),d=ke(u,2),f=d[0],w=d[1],m=function(g,y){w(A({},g,y>oE[g]?oE[g]:+y))};return b.createElement(ise,{isPhoneScreen:xse},b.createElement(Fc,{className:"FIE_hue-option-wrapper"},b.createElement(Dc,{className:"FIE_hue-option-label"},c("hue")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_hue-option",min:0,step:1,max:259,value:(t=f.hue)!==null&&t!==void 0?t:vc.hue,onChange:function(g){return m("hue",g)},style:_y}),b.createElement(Rc,{value:(n=f.hue)!==null&&n!==void 0?n:vc.hue,onChange:function(g){var y=g.target.value;return m("hue",y)}}))),b.createElement(Fc,{className:"FIE_saturation-option-wrapper"},b.createElement(Dc,{className:"FIE_saturation-option-label"},c("saturation")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_saturation-option",min:-2,step:.5,max:10,value:(r=f.saturation)!==null&&r!==void 0?r:vc.saturation,onChange:function(g){return m("saturation",g)},style:_y}),b.createElement(Rc,{value:(i=f.saturation)!==null&&i!==void 0?i:vc.saturation,onChange:function(g){var y=g.target.value;return m("saturation",y)}}))),b.createElement(Fc,{className:"FIE_value-option-wrapper"},b.createElement(Dc,{className:"FIE_value-option-label"},c("value")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_value-option",min:-2,step:.1,max:2,value:(a=f.value)!==null&&a!==void 0?a:vc.value,onChange:function(g){return m("value",g)},style:_y}),b.createElement(Rc,{value:(o=f.value)!==null&&o!==void 0?o:vc.value,onChange:function(g){var y=g.target.value;return m("value",y)}}))))},xI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_blur-tool-button",id:se.BLUR,label:r("blurTool"),Icon:zre,onClick:t,isSelected:n})};xI.defaultProps={isSelected:!1};var sE=0,Oy={blurRadius:0},lE=100,Sse={width:150,padding:0,margin:0},_se=function(e){var t,n,r=e.t,i=V1(Sn.Filters.Blur,Oy),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({blurRadius:$n(d,sE,lE)})};return b.createElement(Fc,{className:"FIE_blur-option-wrapper"},b.createElement(Dc,{className:"FIE_blur-option-label"},r("blur")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_blur-option",min:sE,max:lE,width:"124px",value:(t=o.blurRadius)!==null&&t!==void 0?t:Oy.blurRadius,onChange:u,style:Sse}),b.createElement(Rc,{value:(n=o.blurRadius)!==null&&n!==void 0?n:Oy.blurRadius,onChange:function(d){var f=d.target.value;return u(f)}})))},CI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_warmth-tool-button",id:se.WARMTH,label:r("warmthTool"),Icon:Lre,onClick:t,isSelected:n})};CI.defaultProps={isSelected:!1};var cE=0,Ey={warmth:0},uE=200,Ose={width:150,padding:0,margin:0},Ese=function(e){var t,n,r=e.t,i=V1(x9,Ey),a=ke(i,2),o=a[0],c=a[1],u=function(d){c({warmth:$n(d,cE,uE)})};return b.createElement(Fc,{className:"FIE_warmth-option-wrapper"},b.createElement(Dc,{className:"FIE_warmth-option-label"},r("warmthTool")),b.createElement(Nc,null,b.createElement(ar,{className:"FIE_warmth-option",min:cE,max:uE,width:"124px",value:(t=o.warmth)!==null&&t!==void 0?t:Ey.warmth,onChange:u,style:Ose}),b.createElement(Rc,{value:(n=o.warmth)!==null&&n!==void 0?n:Ey.warmth,onChange:function(d){var f=d.target.value;return u(f)}})))},Pse=$.div.withConfig({componentId:"sc-1nr0bka-0"})(["max-width:680px;min-width:150px;position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;"]),kse=$.ul.withConfig({componentId:"sc-1nr0bka-1"})(["padding:0;margin:0;white-space:nowrap;overflow:hidden;"]),Lse=$.li.withConfig({componentId:"sc-1nr0bka-2"})(["padding:4px;display:inline-block;list-style-type:none;user-select:none;"]),SI=X(["position:absolute;top:0;height:100%;width:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;svg{color:",";}"],function(e){var t=e.theme.palette;return t[F.IconsSecondary]}),Mse=$.div.withConfig({componentId:"sc-1nr0bka-3"})([""," left:0;justify-content:flex-start;background:linear-gradient( 90deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );"],SI),Tse=$.div.withConfig({componentId:"sc-1nr0bka-4"})([""," right:0;justify-content:flex-end;background:linear-gradient( 270deg,#ffffff 1.56%,rgba(255,255,255,0.89) 52.4%,rgba(255,255,255,0.532165) 76.04%,rgba(255,255,255,0) 100% );"],SI),Y3=function(e){var t=e.children,n=e.style,r=e.className,i=B.useRef(!1),a=B.useRef(),o=O9(),c=ke(o,1),u=c[0],d=B.useState(!1),f=ke(d,2),w=f[0],m=f[1],g=B.useState(!1),y=ke(g,2),C=y[0],P=y[1],S=B.Children.toArray(t),E=function(){if(a.current){var I=a.current,L=I.scrollWidth,D=I.offsetWidth,M=I.scrollLeft,N=Math.round(L-D),z=Math.round(N-M);m(0d,w=f?f2:p2*d,m=f?f2/d:p2;return b.createElement(Ase,{className:"FIE_filters-item",onClick:c,"aria-selected":i},b.createElement(Ise,{className:"FIE_filters-item-preview",width:f2,height:p2},b.createElement(P7,{onTap:c},b.createElement(I3,{image:a,filters:n?[n]:[],width:w,height:m,x:-(w-f2)/2,y:-(m-p2)/2,ref:o}))),b.createElement(Fse,{className:"FIE_filters-item-label"},t))};_I.defaultProps={filterFn:void 0};const Dse=B.memo(_I);var g2=Sn.Filters,Nse=[{label:"Original",filterFn:null},{label:"Invert",filterFn:g2.Invert},{label:"Black & White",filterFn:D7},{label:"Sepia",filterFn:g2.Sepia},{label:"Solarize",filterFn:g2.Solarize},{label:"Clarendon",filterFn:N7},{label:"Gingham",filterFn:R7},{label:"Moon",filterFn:j7},{label:"Lark",filterFn:z7},{label:"Reyes",filterFn:B7},{label:"Juno",filterFn:H7},{label:"Slumber",filterFn:G7},{label:"Crema",filterFn:V7},{label:"Ludwig",filterFn:U7},{label:"Aden",filterFn:W7},{label:"Perpetua",filterFn:X7},{label:"Amaro",filterFn:Y7},{label:"Mayfair",filterFn:K7},{label:"Rise",filterFn:Z7},{label:"Hudson",filterFn:$7},{label:"Valencia",filterFn:q7},{label:"X-Pro II",filterFn:Q7},{label:"Sierra",filterFn:J7},{label:"Willow",filterFn:e9},{label:"Lo-Fi",filterFn:t9},{label:"Inkwell",filterFn:g2.Grayscale},{label:"Hefe",filterFn:n9},{label:"Nashville",filterFn:r9},{label:"Stinson",filterFn:i9},{label:"Vesper",filterFn:a9},{label:"Earlybird",filterFn:o9},{label:"Brannan",filterFn:s9},{label:"Sutro",filterFn:l9},{label:"Toaster",filterFn:c9},{label:"Walden",filterFn:u9},{label:"1977",filterFn:d9},{label:"Kelvin",filterFn:h9},{label:"Maven",filterFn:f9},{label:"Ginza",filterFn:p9},{label:"Skyline",filterFn:g9},{label:"Dogpatch",filterFn:m9},{label:"Brooklyn",filterFn:v9},{label:"Helena",filterFn:y9},{label:"Ashby",filterFn:b9},{label:"Charmes",filterFn:w9}],Rse={maxWidth:"100%",width:"100%"},jse=function(){var e=Ye(),t=e.originalImage,n=qq(),r=ke(n,2),i=r[0],a=r[1];return b.createElement(Y3,{className:"FIE_filters",style:Rse},Nse.map(function(o){return b.createElement(Dse,{key:o.label,filterLabel:o.label,filterFn:o.filterFn,applyFilter:a,isActive:i===o.filterFn,image:t})}))},OI=function(e){var t=e.selectTool,n=e.isSelected,r=e.t;return b.createElement(or,{className:"FIE_text-tool-button",id:se.TEXT,label:r("textTool"),Icon:XA,onClick:t,isSelected:n})};OI.defaultProps={isSelected:!1};var zse=$.div.withConfig({componentId:"sc-qvjmv1-0"})(["display:flex;align-items:center;justify-content:center;padding:8px 16px;margin-top:4px;gap:8px;flex-wrap:wrap;"," svg{color:",";}"],function(e){var t=e.isPhoneScreen;return t&&"\n max-width: 315px;\n padding: 0;\n "},function(e){var t=e.theme.palette;return t[F.IconsPrimary]}),Bse=$.div.withConfig({componentId:"sc-qvjmv1-1"})(["display:flex;flex-wrap:wrap;margin-left:-4px;gap:4px;.FIE_annotation-option-triggerer{padding:6px;}"]),c3=$.div.withConfig({componentId:"sc-qvjmv1-2"})(["background:",";border-radius:4px;display:flex;flex-direction:column;padding:8px 12px;overflow:visible;"," "," *{font-family:'Roboto',sans-serif;}"],function(e){var t=e.theme;return t.palette["bg-secondary"]},function(e){var t=e.position;return t&&"\n display: grid;\n grid-template-columns: repeat(4, auto);\n padding: 0;\n margin-top: 8px;\n box-shadow: 0px 1px 2px ".concat(function(n){var r=n.theme;return r.palette["light-shadow"]},";\n ")},function(e){var t=e.disablePadding;return t&&"\n padding: 0;\n "}),kl=$.div.withConfig({componentId:"sc-qvjmv1-3"})(["display:flex;align-items:center;gap:12px;",""],function(e){var t=e.preventFlex;return t&&"\n display: block;\n\n label {\n margin-bottom: 8px;\n }\n "}),dE=$.div.withConfig({componentId:"sc-qvjmv1-4"})(["display:flex;align-items:center;justify-content:space-between;"]),m2=$.div.withConfig({componentId:"sc-qvjmv1-5"})(["&:not(:first-child){margin-left:12px;}"]),hl=$.div.withConfig({componentId:"sc-qvjmv1-6"})(function(e){var t=e.theme,n=e.addThinBorder,r=e.secondaryIconColor,i=e.active,a=e.watermarkTool;return"\n cursor: pointer;\n padding: ".concat(a?"6px":"8px 12px",";\n border-radius: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 6px;\n\n svg {\n vertical-align: middle;\n margin: 0 auto;\n }\n\n ").concat(n?"border: 0.5px solid ".concat(t.palette["borders-secondary"],";\n padding: 8px 8px;"):"",";\n color: ").concat(r?t.palette[F.IconsSecondary]:"",";\n\n ").concat(i&&"\n border-radius: 4px;\n border-color: ".concat(t.palette[F.AccentStateless],";\n background-color: ").concat(t.palette[F.BackgroundActive],";\n\n * {\n color: ").concat(t.palette[F.AccentStateless],";\n }\n "),"\n\n :hover {\n background: ").concat(t.palette["bg-primary-active"],";\n }\n ")}),EI=$(hn).withConfig({componentId:"sc-qvjmv1-7"})(["color:",";"],function(e){var t=e.theme.palette;return t[F.TextPrimary]}),Hse=0,Gse=1,Vse=function(e){var t=e.annotation,n=e.updateAnnotation,r=e.t,i=t.opacity,a=Math.round(100*i);return b.createElement(c3,{disablePadding:!0},b.createElement(hn,null,r("transparency")),b.createElement(kl,null,b.createElement(ar,{annotation:"%",onChange:function(o){n({opacity:$n(o/100,Hse,Gse)})},value:a,noMargin:!0}),b.createElement(EI,null,"".concat(a,"%"))))},Use=$(cI).withConfig({componentId:"sc-7tf41j-0"})(["max-width:350px;"]),Wse=$.div.withConfig({componentId:"sc-7tf41j-1"})([".SfxColorPicker-root{max-width:100%;padding:0;box-shadow:none;border:none;","}.SfxColorPicker-action{display:flex;gap:12px;.SfxColorPicker-select{width:100px;}.SfxInput-root{width:190px !important;}}.SfxColorPicker-icon{color:",";}.SfxColorPicker-range-picker,.SfxColorPicker-bar-wrapper{width:100%;}"],function(e){var t=e.hideModalTitle;return t&&"padding-top: 12px;"},function(e){var t=e.theme.palette;return t[F.IconsPrimary]}),Xse=$(N9).withConfig({componentId:"sc-7tf41j-2"})(["gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}"]),Py={ColorPickerModal:Use,ColorPickerWrap:Wse,ModalActions:Xse},Yse={zIndex:1301},PI=function(e){var t=e.hideModalTitle,n=e.defaultColor,r=n===void 0?"":n,i=e.onChange,a=e.open,o=e.pinnedColors,c=e.onClose,u=e.onApply,d=Ye(),f=d.t;return a?b.createElement(Py.ColorPickerModal,{onClose:c,open:a,fullWidth:!0,modalStyles:Yse},!t&&b.createElement(j9,{onClose:c,primary:f("colorPickerModalTitleLabel","Pick color"),icon:b.createElement(iie,{size:29}),iconShadow:!0,variant:"with-icon"}),b.createElement(R9,null,b.createElement(Py.ColorPickerWrap,{hideModalTitle:t},b.createElement(oae,{onChange:i,pinnedColors:o,defaultColor:r,showTransparentColor:!0}))),b.createElement(Py.ModalActions,null,b.createElement(Da,{color:"basic",onClick:c},f("cancel")),b.createElement(Da,{color:"primary",onClick:u},f("apply")))):null};PI.defaultProps={defaultColor:"",pinnedColors:[],onChange:function(){},open:!1,hideModalTitle:!1,onClose:function(){},onApply:function(){}};var Kse=$.div.attrs(function(e){var t=e.$color;return{style:{background:t==="rgba(0,0,0,0)"?"repeating-conic-gradient(#5d6d7e 0% 25%, transparent 0% 50%) 50% / 8px 8px":t}}}).withConfig({componentId:"sc-zmv0gj-0"})(["background:",";border-radius:4px;width:32px;height:32px;border:1px solid ",";cursor:pointer;box-sizing:border-box;"],function(e){var t=e.theme;return t.palette["icons-primary"]},function(e){var t=e.theme;return t.palette[F.BorderPrimaryStateless]}),ky="FIE_pinnedColors",K3=function(e){var t,n=e.onChange,r=e.color,i=e.colorFor,a=Ye(),o=a.selectionsIds,c=o===void 0?[]:o,u=a.config.annotationsCommon,d=u===void 0?{}:u,f=a.dispatch,w=a.latestColors,m=w===void 0?{}:w,g=m[i],y=B.useState(),C=ke(y,2),P=C[0],S=C[1],E=B.useState(function(){return g||r||d.fill}),p=ke(E,2),x=p[0],O=p[1],k=B.useState((t=window)!==null&&t!==void 0&&t.localStorage?JSON.parse(localStorage.getItem(ky)||"[]"):[]),I=ke(k,2),L=I[0],D=I[1],M=B.useRef(x),N=function(H){var W;if((W=window)!==null&&W!==void 0&&W.localStorage){var K=window.localStorage.getItem(ky);if(JSON.stringify(H)!==K){var G=H.slice(-9);window.localStorage.setItem(ky,JSON.stringify(G)),D(G)}}},z=function(H){S(P?null:H.currentTarget)};return B.useEffect(function(){var H=c.length===0&&g||r;O(H),n(H)},[r,c]),b.createElement(b.Fragment,null,b.createElement(Kse,{className:"FIE_color-picker-triggerer",onClick:z,$color:x,onChange:n}),b.createElement(PI,{hideModalTitle:!0,onChange:function(H,W,K){O(W),n(W),N(K),g!==W&&f({type:ZI,payload:{latestColors:A({},i,W)}})},defaultColor:x,pinnedColors:L,open:!!P,onClose:function(H){n(M.current||x),z(H)},onApply:z}))};K3.defaultProps={color:void 0};var Zse=0,$se=100,qse=function(e){var t=e.annotation,n=e.updateAnnotation,r=t.stroke,i=t.strokeWidth;return b.createElement(kl,null,b.createElement(ar,{annotation:"px",onChange:function(a){n({strokeWidth:$n(a,Zse,$se)})},value:i,noMargin:!0}),b.createElement(K3,{color:r,onChange:function(a){n({stroke:a})},colorFor:"stroke"}))},Qse=function(e){var t=e.annotation,n=e.updateAnnotation,r=e.t,i=t.shadowOffsetX,a=t.shadowOffsetY,o=t.shadowBlur,c=t.shadowColor,u=t.shadowOpacity,d=function(f,w){var m=2parseFloat(M))){var N=Math.min(10*c.width,10*c.height),z=vl(c.width,c.height,g),H=D==="height",W=H?"width":"height",K=A(A({},D,M&&$n(M,0,N)),W,P[W]),G=(I=n.ratioUnlocked)!==null&&I!==void 0?I:u.ratioUnlocked;if(!G){var q=z.width/z.height;K[W]=Math.round(H?K[D]*q:K[D]/q)}if(K[D]!==u[D]||K[W]!==u[W]){if(typeof t=="function")return void t(K);o({type:Gd,payload:K});var U=w.width&&w.height&&w||d,J=EE(EE({},u),K);o({type:gh,payload:{factor:J.width&&J.height?l3(U,J):Fa,isAbsoluteZoom:!0}})}}},E=typeof u.width>"u"&&typeof u.height>"u"||c.width===u.width&&c.height===u.height,p=u.manualChangeDisabled,x=typeof u.width<"u"&&!u.width,O=typeof u.height<"u"&&!u.height;return b.createElement(Rle,{className:"FIE_resize-tool-options",alignment:i},b.createElement(_E,{className:"FIE_resize-width-option",value:x?"":P.width,name:"width",onChange:p?void 0:S,inputMode:"numeric",title:C("resizeWidthTitle"),label:C("width"),inputProps:{type:"number"},size:"sm",iconEnd:"px",placeholder:"Width",disabled:p}),b.createElement(jle,{className:"FIE_resize-ratio-locker",title:C("toggleRatioLockTitle"),onClick:p?void 0:function(){return typeof t=="function"?void t({ratioUnlocked:!n.ratioUnlocked}):void o({type:Gd,payload:{ratioUnlocked:!u.ratioUnlocked}})},color:"basic",size:"sm",disabled:p},n.ratioUnlocked||u.ratioUnlocked?b.createElement(kne,{size:16,color:y.palette.success}):b.createElement(Ene,{size:16,color:y.palette.error})),b.createElement(_E,{className:"FIE_resize-height-option",value:O?"":P.height,name:"height",onChange:p?void 0:S,inputMode:"numeric",title:C("resizeHeightTitle"),label:C("height"),inputProps:{type:"number"},size:"sm",iconEnd:"px",placeholder:"Height",disabled:p}),!r&&b.createElement(zle,{className:"FIE_resize-reset-button",size:"sm",color:"basic",onClick:E||p?void 0:function(){o({type:Gd,payload:{width:void 0,height:void 0,ratioUnlocked:!1}});var k=w.width&&w.height&&w||d;o({type:gh,payload:{factor:l3(k,k)}})},disabled:E||p},b.createElement(WA,null)))};G9.defaultProps={onChange:void 0,currentSize:{},hideResetButton:!1,alignment:"center"};var Ble=$.div.withConfig({componentId:"sc-fvaj5j-0"})(["display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;overflow:hidden;",";"],function(e){var t=e.noWrap;return t?"flex-wrap: nowrap;":""}),PE=$.div.withConfig({componentId:"sc-fvaj5j-1"})(["margin-bottom:8px;"]),Hle=$.div.withConfig({componentId:"sc-fvaj5j-2"})(function(e){var t=e.theme;return"\n padding: 6px 4px;\n border: 1px solid ".concat(t.palette["borders-secondary"],";\n width: fit-content;\n height: 32px;\n border-radius: 2px;\n overflow: hidden;\n cursor: pointer;\n border-radius: 4px;\n\n :hover {\n background: ").concat(t.palette["bg-primary-active"],";\n }\n\n &[aria-selected='true'] {\n background: ").concat(t.palette["bg-primary-active"],";\n border-color: ").concat(t.palette["accent-primary-active"],";\n }\n\n img {\n max-width: 100%;\n max-height: 100%;\n }\n ")}),zI=function(e){var t=e.addImgWatermark,n=e.loadAndSetWatermarkImg,r=e.style,i=Ye(),a=i.config,o=i.annotations,c=i.dispatch,u=i.t,d=B.useMemo(function(){var y;return(y=(o[ml]||{}).image)===null||y===void 0?void 0:y.src},[o[ml]]),f=function(y){var C=y.currentTarget.children[0];if(C.complete){if(!C.naturalWidth)return void c({type:Cl,payload:{feedback:{message:u("mutualizedFailedToLoadImg"),duration:2e3}}});t(C)}},w=a[se.WATERMARK]||{},m=w.gallery,g=m===void 0?[]:m;return g.length===0?null:b.createElement(Y3,{className:"FIE_watermark-gallery",style:r},g.map(function(y){var C=(y==null?void 0:y.url)||y,P=(y==null?void 0:y.previewUrl)||C;return b.createElement(Hle,{className:"FIE_watermark-selected-item",onClick:function(S){return C===P?f(S):n(C)},key:C,"aria-selected":C===d},b.createElement("img",{src:P,alt:"Failed to load.",crossOrigin:"Anonymous",draggable:!1}))}))};zI.defaultProps={style:void 0};var Gle=function(e){var t=e.watermark,n=e.saveWatermark,r=e.t,i=B.useState(null),a=ke(i,2),o=a[0],c=a[1],u=t.padding||0;return b.createElement(b.Fragment,null,b.createElement(hl,{className:"FIE_watermark-padding-triggerer",title:r("padding"),onClick:function(d){c(d.currentTarget)},active:o},b.createElement(are,{size:20})),b.createElement($c,{className:"FIE_watermark-padding-popup",anchorEl:o,open:!!o,onClose:function(){c(null)},position:"top"},b.createElement(c3,null,b.createElement(hn,null,r("padding")),b.createElement(kl,null,b.createElement(ar,{annotation:"px",onChange:function(d){n({padding:$n(d,0,100)})},value:u,noMargin:!0}),b.createElement(EI,null,"".concat(u,"px"))))))};function kE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Do(e){for(var t,n=1;nS?E*k/K:S*k/W,q=Do(Do(Do({},i.annotationsCommon),i[se.IMAGE]),{},{scaleX:G,scaleY:G,padding:1,image:H,width:W,height:K,x:p+S/2-W*G/2,y:x+E/2-K*G/2,id:od,name:se.IMAGE,replaceCurrent:!0});a({type:jc,payload:q})},L=function(H){a({type:jc,payload:Do(Do({},typeof H=="function"?H(P):H),{},{id:od})})},D=function(H){a({type:Cl,payload:{feedback:{message:H,status:ah.WARNING}}})},M=function(H,W){if(H){g(!0);var K=new Image;K.onload=function(){I(K),W&&URL.revokeObjectURL(H),g(!1)},K.onerror=function(){D(o("mutualizedFailedToLoadImg")),W&&URL.revokeObjectURL(H),g(!1)},K.src=H}};B.useEffect(function(){P&&(a({type:U9}),a({type:ph,payload:{annotationId:"watermark"}}))},[P]),B.useEffect(function(){P&&(r.length===0||r[0].id!==od)&&a({type:ph,payload:{annotationId:"watermark"}})},[r]);var N=[(!i.useCloudimage||typeof C.onUploadWatermarkImgClick=="function")&&{key:"upload-watermark",label:o("uploadWatermark"),icon:QA,onClick:function(){if(typeof C.onUploadWatermarkImgClick=="function"){var H=C.onUploadWatermarkImgClick(M);return void(H instanceof Promise&&H.then(function(){var W=0t.factor,a={x:(e.x-t.x||0)/t.factor,y:(e.y-t.y||0)/t.factor},o={x:e.x-a.x*e.factor,y:e.y-a.y*e.factor};if(i&&t.factor===1||(o.x=Math.min(0,Math.max(o.x,n*(1-t.factor))),o.y=Math.min(0,Math.max(o.y,r*(1-t.factor)))),1>e.factor){var c=n-n*e.factor,u=r-r*e.factor;o.x+=c/2,o.y+=u/2}return ZE(ZE({},o),{},{factor:e.factor})},ice=["preparedDimensions"];function $E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function cd(e){for(var t,n=1;na.x+a.width&&(o.width=a.x+a.width-o.x),o.y+o.height>a.y+a.height&&(o.height=a.y+a.height-o.y),typeof r=="number"&&!Gce(o.width/o.height,r)){var c=o.height*r,u=o.width/r;_n(o.y+u)<=a.y+a.height?o.height=u:o.width=c}if((i.minWidth&&o.width<=i.minWidth||i.maxWidth&&o.width>=i.maxWidth)&&(o.width=$n(o.width,i.minWidth,i.maxWidth),o.x=e.x,o.y=e.y,typeof r=="number"&&(o.height=o.width/r)),(i.minHeight&&t.height<=i.minHeight||i.maxHeight&&t.height>=i.maxHeight)&&(o.height=$n(o.height,i.minHeight,i.maxHeight),o.x=e.x,o.y=e.y,typeof r=="number"&&(o.width=o.height*r)),typeof i.lockCropAreaAt=="string"){var d=Wce(i.lockCropAreaAt,a,o),f=d.x,w=d.y;o.x=f,o.y=w}return o};function FP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Wr(e){for(var t,n=1;n=g.width&&d.height>=g.height;g.width&&g.height&&(Ya.scaledBy?a.scaledBy:1,q=Wr(Wr({},a),{},{width:a.width/G,height:a.height/G});H=Iy(q,Wr(Wr({},q),{},{x:0,y:0}),Wr(Wr({},q),{},{abstractX:0,abstractY:0}),!(L||D)&&M(),O)}else H=d;var U=H,J=U.x,Q=J===void 0?0:J,ae=U.y,ie=ae===void 0?0:ae,oe=U.width,ue=U.height,Ce={x:Q,y:ie,ref:P,fill:"#FFFFFF",scaleX:1,scaleY:1,globalCompositeOperation:"destination-out",onDragEnd:k?void 0:K,onDragMove:k?void 0:function(pe){var R=pe.target;R.setAttrs(Uce(R.attrs,p.current))},onTransformEnd:k?void 0:K,draggable:!k};return b.createElement(b.Fragment,null,b.createElement(I3,{image:i,x:f?a.width:0,y:w?a.height:0,width:a.width,height:a.height,filters:[Sn.Filters.Blur,Sn.Filters.Brighten],blurRadius:10,brightness:-.3,scaleX:f?-1:1,scaleY:w?-1:1,ref:E}),D?b.createElement(vT,le({},Ce,{radiusX:oe/2,radiusY:ue/2,offset:{x:-oe/2,y:-ue/2}})):b.createElement(k7,le({},Ce,{width:d.noEffect?0:oe,height:d.noEffect?0:ue})),d.noEffect&&b.createElement(K9,{name:"Text",id:"no-preview-text-node",text:C("cropItemNoEffect"),x:a.width/2-C2.width/2,y:a.height/2-C2.height/2,fontSize:20,fill:"#ffffff",stroke:"#ff0000",strokeWidth:.2,shadowColor:"#ff0000",shadowBlur:10,annotationEvents:{},align:"center",width:C2.width,height:C2.height}),b.createElement(yT,{centeredScaling:!1,flipEnabled:!1,rotateEnabled:!1,nodes:P.current?[P.current]:[],anchorSize:14,anchorCornerRadius:7,enabledAnchors:W,ignoreStroke:!1,anchorStroke:n.palette["accent-primary"],anchorFill:n.palette["access-primary"],anchorStrokeWidth:2,borderStroke:n.palette["accent-primary"],borderStrokeWidth:2,borderDash:[4],keepRatio:!L||!D,ref:S,boundBoxFunc:function(pe,R){return Iy(pe,R,p.current,!(L||D)&&M(),O)}}))},Yce=function(){var e,t=Ye(),n=t.selectionsIds,r=n===void 0?[]:n,i=t.theme,a=t.designLayer,o=t.dispatch,c=t.config.useCloudimage,u=B.useMemo(function(){return a!=null&&a.findOne?r.map(function(w){return a.findOne("#".concat(w))}).filter(Boolean):[]},[r]),d=function(){u.length===1&&u[0].name()===se.TEXT&&o({type:Y9,payload:{textIdOfEditableContent:u[0].id()}})},f=c?["top-left","bottom-left","top-right","bottom-right"]:void 0;return b.createElement(yT,{id:CT,centeredScaling:!1,rotationSnaps:[0,45,90,135,180,225,270,315],nodes:u,rotateAnchorOffset:30,anchorSize:14,anchorCornerRadius:7,padding:u.length===1&&(e=u[0].attrs.padding)!==null&&e!==void 0?e:1,ignoreStroke:!1,anchorStroke:i.palette["accent-primary"],anchorFill:i.palette["access-primary"],anchorStrokeWidth:2,borderStroke:i.palette["accent-primary"],borderStrokeWidth:2,borderDash:[4],rotateEnabled:!c,onMouseOver:function(){o({type:R1,payload:{pointerCssIcon:Wo.MOVE}})},onMouseLeave:function(){o({type:R1,payload:{pointerCssIcon:Wo.DRAW}})},onDblClick:d,onDblTap:d,enabledAnchors:f,flipEnabled:!c,shouldOverdrawWholeArea:!0})},Kce=function(){var e=Ye(),t=e.toolId,n=e.shownImageDimensions;return b.createElement(P7,{id:wT,x:n.abstractX||0,y:n.abstractY||0},b.createElement(Yce,null),t===se.CROP&&b.createElement(Xce,null))},Zce=$.div.withConfig({componentId:"sc-1tst9ex-0"})(function(e){var t=e.theme,n=e.top,r=e.left;return"\n position: absolute;\n z-index: 1;\n background: ".concat(t.palette["bg-secondary"],";\n border-radius: 2px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0px 1px 2px ").concat(t.palette["light-shadow"],";\n top: ").concat((n||0)+8,"px;\n left: ").concat((r||0)+4,"px;\n transform: translateX(-50%);\n height: 32px;\n")}),$ce=function(){var e=Ye(),t=e.selectionsIds,n=t===void 0?[]:t,r=e.designLayer,i=e.annotations,a=e.dispatch,o=B.useState({left:0,top:0}),c=ke(o,2),u=c[0],d=c[1],f=B.useMemo(function(){var g;return r==null||(g=r.getStage())===null||g===void 0?void 0:g.findOne("#".concat(CT))},[r]),w=n.length,m=R3(function(){f&&d({left:(f.x()+f.width()/2)*f.scaleX(),top:(f.y()+f.height())*f.scaleY()})},0);return B.useEffect(function(){m()},[n,f,i]),w===0||!f?null:b.createElement(Zce,{className:"FIE_annotation-controls-overlay",left:u.left,top:u.top},n[0]!==ml&&b.createElement(yl,{color:"basic",size:"sm",onClick:function(){a({type:YI,payload:{annotationsIds:n}})}},b.createElement(Vre,null)),b.createElement(yl,{color:"basic",size:"sm",onClick:function(){a({type:XI,payload:{annotationsIds:n}})}},b.createElement(eI,null)))};function DP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function NP(e){for(var t,n=1;nE),O=ke(x,2),k=O[0],I=O[1],L=B.useMemo(function(){return{cursor:a===Wo.DEFAULT&&o===en.ANNOTATE?Wo.DRAW:a}},[o,a]),D=function(G){i({type:gh,payload:G})},M=B.useCallback(function(G){var q,U;G.evt.preventDefault(),(q=(U=G.currentTarget).container)===null||q===void 0||q.call(U).focus(),G.target instanceof Sn.Stage&&0E&&p&&(G.preventDefault(),I(!0),i({type:R1,payload:{pointerCssIcon:Wo.DRAG}}))},H=function(G){G.code==="Space"&&(G.preventDefault(),N())},W=function(){n.current&&n.current.container().focus()};B.useEffect(function(){i({type:R1,payload:{pointerCssIcon:Wo[k?"DRAG":"DEFAULT"]}})},[k]),B.useEffect(function(){I(o!==en.ANNOTATE&&o!==en.WATERMARK&&y.factor>E);var G;return n.current&&(G=n.current.container(),G.addEventListener("mouseenter",W),G.addEventListener("keydown",z),G.addEventListener("keyup",H)),function(){G&&(G.removeEventListener("mouseenter",W),G.removeEventListener("keydown",z),G.removeEventListener("keyup",H))}},[o,y.factor,E]);var K=f*(p&&y.factor||E);return b.createElement(nue,{className:"FIE_canvas-node",tabIndex:-1,ref:n,width:u,height:d,scaleX:K,scaleY:K,x:p&&y.x||null,y:p&&y.y||null,zoomFactor:p&&y.factor||E,onWheel:p?function(G){G.evt.preventDefault();var q=(y.factor||E)+G.evt.deltaY*-.006,U=G.currentTarget.getPointerPosition();D(zP(zP({},U),{},{factor:q}))}:void 0,onTap:M,onClick:M,onTouchMove:p?function(G){return Qce(G,D)}:void 0,onDragStart:function(G){var q;1<((q=G.evt.touches)===null||q===void 0?void 0:q.length)&&I(!1)},onTouchEnd:p?function(){Jce(N)}:void 0,dragBoundFunc:function(G){var q=Math.min(0,Math.max(G.x,u*(1-y.factor))),U=Math.min(0,Math.max(G.y,d*(1-y.factor)));return{x:q,y:U}},draggable:p&&k,onDragEnd:function(G){G.currentTarget.draggable()&&G.target.nodeType.toLowerCase()==="stage"&&p&&k&&D({factor:y.factor,x:G.target.x(),y:G.target.y(),preparedDimensions:!0})},style:L},t)};const iue=B.memo(rue);var aue=function(){var e=O9(),t=ke(e,1),n=t[0],r=Ye(),i=B.useRef(null),a=B.useCallback(function(o){var c=o.width,u=o.height;r.dispatch({type:VI,payload:{canvasWidth:c,canvasHeight:u}})},[]);return B.useEffect(function(){n(i.current,a)},[]),b.createElement(eue,{className:"FIE_canvas-container",ref:i},!r.textIdOfEditableContent&&b.createElement($ce,null),r.isShowOriginalImage&&b.createElement(tue,{className:"FIE_original-image-compare",src:r.originalImage.src}),b.createElement(iue,null,b.createElement($q,{overridingValue:r},b.createElement(Hce,null),b.createElement(Kce,null))))},oue=$.div.withConfig({componentId:"sc-etsyb6-0"})(["display:inline-block;height:",";width:",";border-radius:1px;background:",";"],function(e){return e.height},function(e){return e.width},function(e){var t=e.theme.palette;return t[F.BordersSecondary]}),Z9=function(e){var t=e.height,n=e.width;return b.createElement(oue,{height:t,width:n})};Z9.defaultProps={height:"24px",width:"1px"};var sue=$.div.withConfig({componentId:"sc-21g986-0"})(["padding:16px;box-sizing:border-box;position:relative;width:100%;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid ",";[data-phone='true'] &{padding:6px 6px 4px 6px;","}"],function(e){var t=e.theme.palette;return t[F.BordersSecondary]},function(e){var t=e.isPhoneScreen;return t&&"\n padding: 12px 12px 0px;\n gap: 12px;\n "}),lue=$.div.withConfig({componentId:"sc-21g986-1"})(["display:flex;align-items:center;order:1;"]),cue=$.div.withConfig({componentId:"sc-21g986-2"})(["display:flex;align-items:center;order:3;gap:4px;"]),$9=$(yl).withConfig({componentId:"sc-21g986-3"})(["margin:",";svg{color:",";}"],function(e){var t=e.margin;return t!=null?t:"0 4px"},function(e){var t=e.theme.palette,n=e.disabled;return n?t[F.IconsMuted]:t[F.IconsPrimary]}),uue=$.div.withConfig({componentId:"sc-21g986-4"})(["display:flex;align-items:center;gap:2px;"]),due=$(hn).withConfig({componentId:"sc-21g986-5"})(["flex-shrink:0;color:",";",";"],function(e){var t=e.theme.palette;return t[F.TextPlaceholder]},function(e){var t=e.theme.typography;return t.font[Oe.LabelMedium]}),S8=$(yl).withConfig({componentId:"sc-21g986-6"})(["padding:8px;svg{color:",";}"],function(e){var t=e.theme.palette,n=e.showBackButton;return n?t[F.IconsPrimary]:t[F.IconsMuted]}),hue=$.div.withConfig({componentId:"sc-21g986-7"})(["width:",";height:32px;display:block;width:100%;order:4;",";@media (min-width:761px){display:flex;align-items:center;justify-content:center;width:fit-content;order:2;}"],function(e){var t=e.showBackButton;return t?"318px":"384px"},function(e){var t=e.reverseDirection;return t?"flex-direction: row-reverse":""}),fue=$(hn).withConfig({componentId:"sc-21g986-8"})(["cursor:pointer;color:",";",";"],function(e){var t=e.theme.palette;return t[F.TextPrimary]},function(e){var t=e.theme.typography;return t.font[Oe.InputMd]}),pue=$.span.withConfig({componentId:"sc-21g986-9"})(["",";"],function(e){var t=e.theme.typography;return t.font[Oe.ButtonMdEmphasis]}),gue=$(U3).withConfig({componentId:"sc-21g986-10"})(["padding:8px;z-index:111;"]);$(Da).withConfig({componentId:"sc-21g986-11"})(["padding:4px 12px;"]);var mue=$(lI).withConfig({componentId:"sc-21g986-12"})([""]),vue=$(Poe).withConfig({componentId:"sc-21g986-13"})(["margin-top:16px;"]),yue=$.div.withConfig({componentId:"sc-21g986-14"})(["width:100%;margin-top:16px;"]),bue=$.div.withConfig({componentId:"sc-21g986-15"})(["margin-top:16px;width:100%;"]),wue=$(hn).withConfig({componentId:"sc-21g986-16"})(["margin-bottom:4px;"]),xue=$.div.withConfig({componentId:"sc-21g986-17"})(["display:flex;gap:6px;"]),Cue=$.div.withConfig({componentId:"sc-21g986-18"})(["display:flex;gap:12px;justify-content:",";"],function(e){var t=e.isPhoneScreen;return t?"space-between":"center"}),Sue=$(yl).withConfig({componentId:"sc-21g986-19"})(["@media (min-width:761px){display:none;}"]),_ue=$.div.withConfig({componentId:"sc-21g986-20"})(["display:flex;gap:12px;align-items:center;"]),Oue=$(cI).withConfig({componentId:"sc-kpjpf5-0"})(["width:",";max-width:unset;"],function(e){var t=e.width;return t||"300px"}),Eue=$(j9).withConfig({componentId:"sc-kpjpf5-1"})(function(e){var t=e.theme,n=e.isWarning;return X(["padding-bottom:0;.SfxModalTitle-Icon{background-color:",";}.SfxModalTitle-LabelPrimary{margin-bottom:24px;",";}.SfxModalTitle-LabelSecondary{",";text-align:center;}"],n&&t.palette[F.Orange_0_1_Overlay],t.typography.font[Oe.TitleH3],t.typography.font[Oe.TextLarge])}),Pue=$(N9).withConfig({componentId:"sc-kpjpf5-2"})(["gap:12px;padding:24px;.SfxButton-root{flex:1;margin:0;height:40px;}"]),q9=function(e){var t=e.title,n=e.hint,r=e.Icon,i=e.onDone,a=e.onCancel,o=e.doneLabel,c=e.cancelLabel,u=e.isOpened,d=e.doneButtonStyle,f=e.doneButtonColor,w=f===void 0?"basic":f,m=e.cancelButtonColor,g=m===void 0?"basic":m,y=e.children,C=e.areButtonsDisabled,P=e.zIndex,S=e.className,E=e.width,p=e.isWarning;return b.createElement(Oue,{className:S,open:u,onClose:a,style:{zIndex:P},onKeyUp:function(x){x.key==="Enter"&&i(x),x.key==="Escape"&&a()},width:E,role:"dialog",tabIndex:-1,"aria-modal":"true","aria-label":t},b.createElement(Eue,{icon:b.createElement(r,{size:25}),iconShadow:!0,isWarning:p,onClose:a,primary:t,secondary:n,variant:"with-icon"}),y&&b.createElement(R9,null,y),b.createElement(Pue,{align:"center"},b.createElement(Da,{color:g,onClick:a,size:"md",disabled:C},c),b.createElement(Da,{color:w,onClick:i,size:"md",warning:p,style:d,disabled:C},o)))};q9.defaultProps={hint:"",isOpened:!1,doneLabel:"Yes",cancelLabel:"No",doneButtonStyle:void 0,doneButtonColor:"basic",cancelButtonColor:"basic",children:void 0,areButtonsDisabled:!1,zIndex:void 0,className:void 0,width:"",isWarning:!1};var $3=function(e){var t=e.children,n=e.isReset,r=Ye(),i=r.t,a=r.theme,o=r.config,c=r.dispatch,u=r.isResetted,d=r.haveNotSavedChanges,f=r.config.onClose,w=B.useState(!1),m=ke(w,2),g=m[0],y=m[1];if(typeof f!="function"&&!n)return b.createElement("span",null);var C=function(){y(!1)},P=B.useCallback(function(){c({type:D3,payload:{config:o}}),C()},[o]),S=function(){n||(f(OT.CLOSE_BUTTON,d),P())};return b.createElement(b.Fragment,null,b.cloneElement(t,{onClick:u===void 0||u?S:function(){y(!0)}}),g&&b.createElement(q9,{title:i(n?"warning":"discardChanges"),hint:i(n?"changesLoseWarningHint":"discardChangesWarningHint"),isOpened:g,onCancel:C,onDone:n?P:S,Icon:function(){return b.createElement(ZA,{color:a.palette.warning,size:25})},doneLabel:i("confirm"),doneButtonColor:"warning-primary",cancelLabel:i("cancel"),width:"400px",isWarning:!0}))};$3.defaultProps={isReset:!1};var kue=function(){var e=Ye(),t=e.config.onClose;return typeof t=="function"?b.createElement(b.Fragment,null,b.createElement(Z9,null),b.createElement($3,null,b.createElement(gue,{className:"FIE_topbar-close-button",color:"basic",size:"md"},b.createElement(zA,null)))):null},Lue=function(e){return 0>=e||1 svg:not([color]){color:",'}:disabled,[aria-disabled="true"]{cursor:not-allowed;}&::-webkit-scrollbar{width:4px;height:4px;}&::-webkit-scrollbar-track{background:rgba(203,211,218,0.35);}&::-webkit-scrollbar-thumb{background:rgba(203,211,218,1);border-radius:10px;}}'],wm,wm,function(e){var t=e.theme;return t.palette["icons-primary"]}),gF=function(e){var t=e.source,n=e.useCloudimage,r=e.cloudimage;if(!t||typeof t!="string"&&!(t instanceof HTMLImageElement))throw new Error("`source` property is required either a string of image url or a HTMLImageElement for the image that will be edited.");if(n){var i,a;if(r!=null&&(i=r.imageSealing)!==null&&i!==void 0&&i.enable&&!(r!=null&&(a=r.imageSealing)!==null&&a!==void 0&&a.salt))throw new Error("`salt` property of imageSealing object is required in cloudimage mode as long as `imageSealing` is enabled.")}B.useEffect(function(){ede()},[]);var o=Z1(kT,e);return b.createElement(b.StrictMode,null,b.createElement(kB,{theme:o.theme},b.createElement(tde,null),b.createElement(nde,null),b.createElement(eA,{config:o},b.createElement(Jue,null))))};gF.defaultProps={useCloudimage:!1,cloudimage:{}};const rde=B.memo(gF);function YP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function KP(e){for(var t,n=1;narguments.length?t:n;throw new TypeError("Private element is not present on this object")}var dd=new WeakMap,_2=new WeakMap,O2=new WeakMap,E2=function(){function e(t){var n=1i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('viewer', '', 'js/index-BKIG0lGC.chunk.mjs'),window.OC.filePath('viewer', '', 'js/previewUtils-IBFOr72u.chunk.mjs'),window.OC.filePath('viewer', '', 'css/previewUtils-BffjDTy3.chunk.css')])))=>i.map(i=>d[i]); /*! third party licenses: js/vendor.LICENSE.txt */ -var E1=Object.defineProperty,k1=Object.defineProperties;var A1=Object.getOwnPropertyDescriptors;var wi=Object.getOwnPropertySymbols;var Wo=Object.prototype.hasOwnProperty,Qo=Object.prototype.propertyIsEnumerable;var Ko=e=>{throw TypeError(e)};var _n=(e,a,i)=>a in e?E1(e,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[a]=i,_e=(e,a)=>{for(var i in a||(a={}))Wo.call(a,i)&&_n(e,i,a[i]);if(wi)for(var i of wi(a))Qo.call(a,i)&&_n(e,i,a[i]);return e},Oe=(e,a)=>k1(e,A1(a));var dn=(e,a)=>{var i={};for(var n in e)Wo.call(e,n)&&a.indexOf(n)<0&&(i[n]=e[n]);if(e!=null&&wi)for(var n of wi(e))a.indexOf(n)<0&&Qo.call(e,n)&&(i[n]=e[n]);return i};var j=(e,a,i)=>_n(e,typeof a!="symbol"?a+"":a,i),Jo=(e,a,i)=>a.has(e)||Ko("Cannot "+i);var rt=(e,a,i)=>(Jo(e,a,"read from private field"),i?i.call(e):a.get(e)),Si=(e,a,i)=>a.has(e)?Ko("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(e):a.set(e,i),vi=(e,a,i,n)=>(Jo(e,a,"write to private field"),n?n.call(e,i):a.set(e,i),i);import{t as hi,n as ne,q as v1,N as R1,G as Ar,H as xa,I as wr,J as Ca,K as pt,L as C1,M as B1,E as O,O as O1,P as N1,d as Ei,Q as se,R as x1,V as Ta,S as Pa,T as M1,U as j1,W as x,c as Ea,X as et,Y as Y1,m as Sr,_ as vr,Z as q1,$ as Xo,a0 as L1,a1 as Z1,a2 as I1,a3 as H1,a4 as P1,a5 as G1,a6 as U1,a7 as oo,a8 as so,a9 as z1,aa as ro,ab as Rr,ac as nt,ad as lo,ae as V0,af as xn,v as fn,w as gn,ag as _o,ah as V1,ai as $1,aj as W1,ak as Cr,al as Q1,am as fo,an as K1,ao as J1,ap as X1,aq as e_,ar as a_,as as t_,o as go,at as i_,au as Br,av as n_,aw as Or,ax as o_,ay as s_,az as r_,aA as l_,aB as __,aE as d_,aF as Nr,aG as f_,aH as g_,aJ as h_,aK as u_,aL as F_,aM as c_,aN as m_,aO as p_,aP as b_,aQ as D_,aR as xr,aS as Mr,aT as T_,aU as y_,aV as E_,aW as k_,aX as A_,aY as G3,aZ as jr,a_ as w_,a$ as S_,b0 as v_,b1 as Yr,b2 as R_,b3 as C_,b4 as B_,b5 as O_,C as $i,b6 as N_,b7 as x_,b8 as M_,b9 as U3,ba as j_,bb as Y_,bc as q_,bd as zt,x as ho,u as $a,be as L_,bf as Z_,bg as I_,z as H_,g as P_,bh as G_,l as U_}from"./previewUtils-IBFOr72u.chunk.mjs";import{N as qr,C as uo}from"./NcActionButton-DA4kIzUY.chunk.mjs";import z_ from"./NcActionLink-DzjvsuKt.chunk.mjs";import{A as Lr,a as V_}from"./actionText-fFcUPi2g-DtHzpJqy.chunk.mjs";const w1="viewer",S1="3.0.0";function Zr(){try{return hi("core","capabilities")}catch(e){return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}const $_=v1({name:"NcDialog",components:{NcDialogButton:R1,NcModal:Ar},props:{name:{type:String,required:!0},message:{type:String,default:""},additionalTrapElements:{type:Array,validator:e=>Array.isArray(e)&&e.every(a=>typeof a=="string"||a instanceof HTMLElement),default:()=>[]},container:{type:String,required:!1,default:"body"},open:{type:Boolean,default:!0},size:{type:String,required:!1,default:"small",validator:e=>typeof e=="string"&&["small","normal","large","full"].includes(e)},buttons:{type:Array,required:!1,default:()=>[],validator:e=>Array.isArray(e)&&e.every(a=>typeof a=="object")},canClose:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!1},isForm:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},navigationClasses:{type:[String,Array,Object],required:!1,default:""},navigationAriaLabel:{type:String,required:!1,default:""},navigationAriaLabelledby:{type:String,required:!1,default:""},contentClasses:{type:[String,Array,Object],required:!1,default:""},dialogClasses:{type:[String,Array,Object],required:!1,default:""}},emits:["closing","update:open","submit"],setup(e,{emit:a,slots:i}){const n=xa(),{width:o}=wr(n,{width:900}),s=Ca(()=>o.value<876),l=Ca(()=>(i==null?void 0:i.navigation)!==void 0),_=pt(),r=Ca(()=>e.navigationAriaLabel||void 0),f=Ca(()=>{if(!e.navigationAriaLabel)return e.navigationAriaLabelledby||_}),d=xa(),g=Ca(()=>e.isForm&&!l.value?"form":"div"),h=Ca(()=>g.value==="form"?{submit(A){A.preventDefault(),a("submit",A)}}:{}),u=xa(!0),m=(A,v)=>{g.value==="form"&&!d.value.reportValidity()||(p(v),window.setTimeout(()=>b(),300))},p=A=>{u.value=!1,a("closing",A)},b=()=>{u.value=!0,a("update:open",!1)},k=Ca(()=>({canClose:e.canClose,container:e.container===void 0?"body":e.container,labelId:_,size:e.size,show:e.open&&u.value,outTransition:e.outTransition,closeOnClickOutside:e.closeOnClickOutside,additionalTrapElements:e.additionalTrapElements}));return{dialogElement:d,dialogListeners:h,dialogTagName:g,handleButtonClose:m,handleClosing:p,handleClosed:b,hasNavigation:l,navigationId:_,navigationAriaLabelAttr:r,navigationAriaLabelledbyAttr:f,isNavigationCollapsed:s,modalProps:k,wrapper:n}}});var W_=function(){var e=this,a=e._self._c;return e._self._setupProxy,e.open?a("NcModal",e._b({staticClass:"dialog__modal",attrs:{"enable-slideshow":!1,"enable-swipe":!1},on:{close:e.handleClosed,"update:show":function(i){return e.handleClosing()}}},"NcModal",e.modalProps,!1),[a("h2",{staticClass:"dialog__name",attrs:{id:e.navigationId},domProps:{textContent:e._s(e.name)}}),a(e.dialogTagName,e._g({ref:"dialogElement",tag:"component",staticClass:"dialog",class:e.dialogClasses},e.dialogListeners),[a("div",{ref:"wrapper",class:["dialog__wrapper",{"dialog__wrapper--collapsed":e.isNavigationCollapsed}]},[e.hasNavigation?a("nav",{staticClass:"dialog__navigation",class:e.navigationClasses,attrs:{"aria-label":e.navigationAriaLabelAttr,"aria-labelledby":e.navigationAriaLabelledbyAttr}},[e._t("navigation",null,{isCollapsed:e.isNavigationCollapsed})],2):e._e(),a("div",{staticClass:"dialog__content",class:e.contentClasses},[e._t("default",function(){return[a("p",{staticClass:"dialog__text"},[e._v(" "+e._s(e.message)+" ")])]})],2)]),a("div",{staticClass:"dialog__actions"},[e._t("actions",function(){return e._l(e.buttons,function(i,n){return a("NcDialogButton",e._b({key:n,on:{click:e.handleButtonClose}},"NcDialogButton",i,!1))})})],2)])],1):e._e()},Q_=[],K_=ne($_,W_,Q_,!1,null,"e79a4708");const W3=K_.exports,J_='';var X_=Object.defineProperty,es=Object.getOwnPropertySymbols,ed=Object.prototype.hasOwnProperty,ad=Object.prototype.propertyIsEnumerable,as=(e,a,i)=>a in e?X_(e,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[a]=i,td=(e,a)=>{for(var i in a||(a={}))ed.call(a,i)&&as(e,i,a[i]);if(es)for(var i of es(a))ad.call(a,i)&&as(e,i,a[i]);return e};function hn(e,a,i){window.OCP.Files.Router.goToRoute(null,{view:a.id,fileid:String(e.fileid)},{dir:i,openfile:"true"},!0)}const Ir=()=>{window.OCP.Files.Router.query.openfile!=="true"&&(window.OCA.Viewer.close(),window.removeEventListener("popstate",Ir))};async function id(e,a,i){const n=()=>{const o=td({},window.OCP.Files.Router.query);delete o.openfile,window.OCP.Files.Router.goToRoute(null,window.OCP.Files.Router.params,o)};return window.addEventListener("popstate",Ir),hn(e,a,i),window.OCA.Viewer.open({path:e.path,onPrev(o){hn(o,a,i)},onNext(o){hn(o,a,i)},onClose:n}),null}function nd(){C1(new B1({id:"view",displayName:()=>O("viewer","View"),iconSvgInline:()=>J_,default:O1.DEFAULT,enabled:e=>e.some(a=>{var i;return!(a.isDavRessource&&(i=a.root)!=null&&i.startsWith("/files"))})?!1:e.every(a=>!!(a.permissions&N1.READ)&&window.OCA.Viewer.mimetypes.includes(a.mime)),exec:id}))}function Ri(e,a,i){e.$set(e.$data._asyncComputed[a],"state",i),e.$set(e.$data._asyncComputed[a],"updating",i==="updating"),e.$set(e.$data._asyncComputed[a],"error",i==="error"),e.$set(e.$data._asyncComputed[a],"success",i==="success")}function od(e){return typeof e=="function"?e:e.get}function Mn(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function Fo(e){return Mn(e,"lazy")&&e.lazy}function sd(e,a){return e[co+a]}var co="async_computed$lazy_active$",ui="async_computed$lazy_data$";function rd(e,a,i){e[co+a]=!1,e[ui+a]=i}function ld(e){return{get:function(){return this[co+e]=!0,this[ui+e]},set:function(a){this[ui+e]=a}}}function _d(e,a,i){e[ui+a]=i}function dd(e,a){return e[ui+a]}var fd=function(e){return function(){var a=this;return e.watch.forEach(function(i){var n=i.split(".");if(n.length===1)a[i];else try{var o=a;n.forEach(function(s){o=o[s]})}catch(s){throw console.error("AsyncComputed: bad path: ",i),s}}),e.get.call(this)}},gd=function(e){return function(){return e.watch.call(this),e.get.call(this)}};function hd(e){if(typeof e.watch=="function")return gd(e);if(Array.isArray(e.watch))return e.watch.forEach(function(a){if(typeof a!="string")throw new Error("AsyncComputed: watch elemnts must be strings")}),fd(e);throw Error("AsyncComputed: watch should be function or an array")}var Hr=typeof Symbol=="function"?Symbol("did-not-update"):{},ud=function(e,a){return function(){return e.shouldUpdate.call(this)?a.call(this):Hr}},Fd=function(e){return Hr===e},Pr="_async_computed$",Gr={install:function(e,a){a=a||{},e.config.optionMergeStrategies.asyncComputed=e.config.optionMergeStrategies.computed,e.mixin({data:function(){return{_asyncComputed:{}}},computed:{$asyncComputed:function(){return this.$data._asyncComputed}},beforeCreate:function(){var i=this.$options.asyncComputed||{};if(Object.keys(i).length){for(var n in i){var o=pd(n,i[n]);this.$options.computed[Pr+n]=o}this.$options.data=md(this.$options,a)}},created:function(){for(var i in this.$options.asyncComputed||{}){var n=this.$options.asyncComputed[i],o=Ur.call(this,n,a);Fo(n)?_d(this,i,o):this[i]=o}for(var s in this.$options.asyncComputed||{})cd(this,s,a,e)}})}};function cd(e,a,i,n){var o=0,s=function(l){var _=++o;Fd(l)||((!l||!l.then)&&(l=Promise.resolve(l)),Ri(e,a,"updating"),l.then(function(r){_===o&&(Ri(e,a,"success"),e[a]=r)}).catch(function(r){if(_===o&&(Ri(e,a,"error"),n.set(e.$data._asyncComputed[a],"exception",r),i.errorHandler!==!1)){var f=i.errorHandler===void 0?console.error.bind(console,"Error evaluating async computed property:"):i.errorHandler;i.useRawError?f(r,e,r.stack):f(r.stack)}}))};n.set(e.$data._asyncComputed,a,{exception:null,update:function(){e._isDestroyed||s(od(e.$options.asyncComputed[a]).apply(e))}}),Ri(e,a,"updating"),e.$watch(Pr+a,s,{immediate:!0})}function md(e,a){var i=e.data,n=e.asyncComputed||{};return function(o){var s=(typeof i=="function"?i.call(this,o):i)||{};for(var l in n){var _=this.$options.asyncComputed[l],r=Ur.call(this,_,a);Fo(_)?(rd(s,l,r),this.$options.computed[l]=ld(l)):s[l]=r}return s}}function pd(e,a){if(typeof a=="function")return a;var i=a.get;if(Mn(a,"watch")&&(i=hd(a)),Mn(a,"shouldUpdate")&&(i=ud(a,i)),Fo(a)){var n=i;i=function(){return sd(this,e)?n.call(this):dd(this,e)}}return i}function Ur(e,a){var i=null;return"default"in e?i=e.default:"default"in a&&(i=a.default),typeof i=="function"?i.call(this):i}typeof window<"u"&&window.Vue&&window.Vue.use(Gr);const bd={name:"PlayCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Dd=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon play-circle-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Td=[],yd=Ei(bd,Dd,Td,!1,null,null);const Ed=yd.exports;se();function ot(e,a,i=!1){const n=x1().proxy;return i&&n.$props[e]===void 0&&n.$props.modelValue===void 0&&Ta.util.warn('Missing required prop: "modelValue" or old "'.concat(e,'"')),Ca({get(){return n.$props[e]!==void 0?n.$props[e]:n.$props.modelValue},set(o){n.$emit("update:modelValue",o),n.$emit("update:model-value",o),n.$emit(a,o)}})}class $0{constructor(a){j(this,"icaltype","binary");this.value=a}static fromString(a){return new $0(a)}decodeValue(){return this._b64_decode(this.value)}setEncodedValue(a){this.value=this._b64_encode(a)}_b64_encode(a){let i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n,o,s,l,_,r,f,d,g=0,h=0,u="",m=[];if(!a)return a;do n=a.charCodeAt(g++),o=a.charCodeAt(g++),s=a.charCodeAt(g++),d=n<<16|o<<8|s,l=d>>18&63,_=d>>12&63,r=d>>6&63,f=d&63,m[h++]=i.charAt(l)+i.charAt(_)+i.charAt(r)+i.charAt(f);while(g>16&255,o=d>>8&255,s=d&255,r==64?m[h++]=String.fromCharCode(n):f==64?m[h++]=String.fromCharCode(n,o):m[h++]=String.fromCharCode(n,o,s);while(gn)-(i12||(o=n[a],a==2&&(o+=$.isLeapYear(i))),o}static isLeapYear(a){return a<=1752?a%4==0:a%4==0&&a%100!=0||a%400==0}static fromDayOfYear(a,i){let n=i,o=a,s=new $;s.auto_normalize=!1;let l=$.isLeapYear(n)?1:0;if(o<1)return n--,l=$.isLeapYear(n)?1:0,o+=$.daysInYearPassedMonth[l][12],$.fromDayOfYear(o,n);if(o>$.daysInYearPassedMonth[l][12])return l=$.isLeapYear(n)?1:0,o-=$.daysInYearPassedMonth[l][12],n++,$.fromDayOfYear(o,n);s.year=n,s.isDate=!0;for(let _=11;_>=0;_--)if(o>$.daysInYearPassedMonth[l][_]){s.month=_+1,s.day=o-$.daysInYearPassedMonth[l][_];break}return s.auto_normalize=!0,s}static fromStringv2(a){return new $({year:parseInt(a.slice(0,4),10),month:parseInt(a.slice(5,7),10),day:parseInt(a.slice(8,10),10),isDate:!0})}static fromDateString(a){return new $({year:Ue(a.slice(0,4)),month:Ue(a.slice(5,7)),day:Ue(a.slice(8,10)),isDate:!0})}static fromDateTimeString(a,i){if(a.length<19)throw new Error('invalid date-time value: "'+a+'"');let n,o;a[19]&&a[19]==="Z"?n=pe.utcTimezone:i&&(o=i.getParameter("tzid"),i.parent&&(i.parent.name==="standard"||i.parent.name==="daylight"?n=pe.localTimezone:o&&(n=i.parent.getTimeZoneByID(o))));const s={year:Ue(a.slice(0,4)),month:Ue(a.slice(5,7)),day:Ue(a.slice(8,10)),hour:Ue(a.slice(11,13)),minute:Ue(a.slice(14,16)),second:Ue(a.slice(17,19))};return o&&!n&&(s.timezone=o),new $(s,n)}static fromString(a,i){return a.length>10?$.fromDateTimeString(a,i):$.fromDateString(a)}static fromJSDate(a,i){return new $().fromJSDate(a,i)}static now(){return $.fromJSDate(new Date,!1)}static weekOneStarts(a,i){let n=$.fromData({year:a,month:1,day:1,isDate:!0}),o=n.dayOfWeek(),s=i||$.DEFAULT_WEEK_START;return o>$.THURSDAY&&(n.day+=7),s>$.THURSDAY&&(n.day-=7),n.day-=o-s,n}static getDominicalLetter(a){let i="GFEDCBA",n=(a+(a/4|0)+(a/400|0)-(a/100|0)-1)%7;return $.isLeapYear(a)?i[(n+6)%7]+i[n]:i[n]}static get epochTime(){return rt(this,Nt)||vi(this,Nt,$.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),rt(this,Nt)}static _cmp_attr(a,i,n){return a[n]>i[n]?1:a[n]=0){_.day=1,s!=0&&s--,l=_.day;let r=_.dayOfWeek(),f=a-r;f<0&&(f+=7),l+=f,l-=a,o=a}else{_.day=n;let r=_.dayOfWeek();s++,o=r-a,o<0&&(o+=7),o=n-o}return o+=s*7,l+o}isNthWeekDay(a,i){let n=this.dayOfWeek();return i===0&&n===a||this.nthWeekDay(a,i)===this.day}weekNumber(a){let i=(this.year<<12)+(this.month<<8)+(this.day<<3)+a;if(i in $._wnCache)return $._wnCache[i];let n,o=this.clone();o.isDate=!0;let s=this.year;o.month==12&&o.day>25?(n=$.weekOneStarts(s+1,a),o.compare(n)<0?n=$.weekOneStarts(s,a):s++):(n=$.weekOneStarts(s,a),o.compare(n)<0&&(n=$.weekOneStarts(--s,a)));let l=o.subtractDate(n).toSeconds()/86400,_=qe(l/7)+1;return $._wnCache[i]=_,_}addDuration(a){let i=a.isNegative?-1:1,n=this.second,o=this.minute,s=this.hour,l=this.day;n+=i*a.seconds,o+=i*a.minutes,s+=i*a.hours,l+=i*a.days,l+=i*7*a.weeks,this.second=n,this.minute=o,this.hour=s,this.day=l,this._cachedUnixTime=null}subtractDate(a){let i=this.toUnixTime()+this.utcOffset(),n=a.toUnixTime()+a.utcOffset();return $e.fromSeconds(i-n)}subtractDateTz(a){let i=this.toUnixTime(),n=a.toUnixTime();return $e.fromSeconds(i-n)}compare(a){let i=this.toUnixTime(),n=a.toUnixTime();return i>n?1:n>i?-1:0}compareDateOnlyTz(a,i){let n=this.convertToZone(i),o=a.convertToZone(i),s=0;return(s=$._cmp_attr(n,o,"year"))!=0||(s=$._cmp_attr(n,o,"month"))!=0||(s=$._cmp_attr(n,o,"day"))!=0,s}convertToZone(a){let i=this.clone(),n=this.zone.tzid==a.tzid;return!this.isDate&&!n&&pe.convert_time(i,this.zone,a),i.zone=a,i}utcOffset(){return this.zone==pe.localTimezone||this.zone==pe.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let a=this.toString();return a.length>10?Le.icalendar.value["date-time"].toICAL(a):Le.icalendar.value.date.toICAL(a)}toString(){let a=this.year+"-"+aa(this.month)+"-"+aa(this.day);return this.isDate||(a+="T"+aa(this.hour)+":"+aa(this.minute)+":"+aa(this.second),this.zone===pe.utcTimezone&&(a+="Z")),a}toJSDate(){return this.zone==pe.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(this.toUnixTime()*1e3)}_normalize(){return this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this}adjust(a,i,n,o,s){let l,_,r=0,f=0,d,g,h,u,m,p=s||this._time;if(p.isDate||(d=p.second+o,p.second=d%60,l=qe(d/60),p.second<0&&(p.second+=60,l--),g=p.minute+n+l,p.minute=g%60,_=qe(g/60),p.minute<0&&(p.minute+=60,_--),h=p.hour+i+_,p.hour=h%24,r=qe(h/24),p.hour<0&&(p.hour+=24,r--)),p.month>12?f=qe((p.month-1)/12):p.month<1&&(f=qe(p.month/12)-1),p.year+=f,p.month-=12*f,u=p.day+a+r,u>0)for(;m=$.daysInMonth(p.month,p.year),!(u<=m);)p.month++,p.month>12&&(p.year++,p.month=1),u-=m;else for(;u<=0;)p.month==1?(p.year--,p.month=12):p.month--,u+=$.daysInMonth(p.month,p.year);return p.day=u,this._cachedUnixTime=null,this}fromUnixTime(a){this.zone=pe.utcTimezone;let i=new Date(a*1e3);this.year=i.getUTCFullYear(),this.month=i.getUTCMonth()+1,this.day=i.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=i.getUTCHours(),this.minute=i.getUTCMinutes(),this.second=i.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let a=this.utcOffset(),i=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-a);return this._cachedUnixTime=i/1e3,this._cachedUnixTime}toJSON(){let a=["year","month","day","hour","minute","second","isDate"],i=Object.create(null),n=0,o=a.length,s;for(;n1)throw new dt("invalid ical body. component began but did not end");return a=null,i.length==1?i[0]:i}ce.property=function(e,a){let i={component:[[],[]],designSet:a||Le.defaultSet};return ce._handleContentLine(e,i),i.component[1][0]},ce.component=function(e){return ce(e)};class dt extends Error{constructor(){super(...arguments);j(this,"name",this.constructor.name)}}ce.ParserError=dt,ce._handleContentLine=function(e,a){let i=e.indexOf(Ci),n=e.indexOf(un),o,s,l,_,r={};n!==-1&&i!==-1&&n>i&&(n=-1);let f;if(n!==-1){if(l=e.slice(0,Math.max(0,n)).toLowerCase(),f=ce._parseParameters(e.slice(Math.max(0,n)),0,a.designSet),f[2]==-1)throw new dt("Invalid parameters in '"+e+"'");if(r=f[0],o=f[1].length+f[2]+n,(s=e.slice(Math.max(0,o)).indexOf(Ci))!==-1)_=e.slice(Math.max(0,o+s+1));else throw new dt("Missing parameter value in '"+e+"'")}else if(i!==-1){if(l=e.slice(0,Math.max(0,i)).toLowerCase(),_=e.slice(Math.max(0,i+1)),l==="begin"){let k=[_.toLowerCase(),[],[]];a.stack.length===1?a.component.push(k):a.component[2].push(k),a.stack.push(a.component),a.component=k,a.designSet||(a.designSet=Le.getDesignSet(a.component[0]));return}else if(l==="end"){a.component=a.stack.pop();return}}else throw new dt('invalid line (no token ";" or ":") "'+e+'"');let d,g=!1,h=!1,u,m,p;a.designSet.propertyGroups&&l.indexOf(".")!==-1?(m=l.split("."),r.group=m[0],p=m[1]):p=l,p in a.designSet.property&&(u=a.designSet.property[p],"multiValue"in u&&(g=u.multiValue),"structuredValue"in u&&(h=u.structuredValue),_&&"detectType"in u&&(d=u.detectType(_))),d||("value"in r?d=r.value.toLowerCase():u?d=u.defaultType:d=Rd),delete r.value;let b;g&&h?(_=ce._parseMultiValue(_,h,d,[],g,a.designSet,h),b=[p,r,d,_]):g?(b=[p,r,d],ce._parseMultiValue(_,g,d,b,null,a.designSet,!1)):h?(_=ce._parseMultiValue(_,h,d,[],null,a.designSet,h),b=[p,r,d,_]):(_=ce._parseValue(_,d,a.designSet,!1),b=[p,r,d,_]),a.component[0]==="vcard"&&a.component[1].length===0&&!(l==="version"&&_==="4.0")&&(a.designSet=Le.getDesignSet("vcard3")),a.component[1].push(b)},ce._parseValue=function(e,a,i,n){return a in i.value&&"fromICAL"in i.value[a]?i.value[a].fromICAL(e,n):e},ce._parseParameters=function(e,a,i){let n=a,o=0,s=vd,l={},_,r,f,d=-1,g,h,u;for(;o!==!1&&(o=e.indexOf(s,o+1))!==-1;){if(_=e.slice(n+1,o),_.length==0)throw new dt("Empty parameter name in '"+e+"'");if(r=_.toLowerCase(),u=!1,h=!1,r in i.param&&i.param[r].valueType?g=i.param[r].valueType:g=Cd,r in i.param&&(h=i.param[r].multiValue,i.param[r].multiValueSeparateDQuote&&(u=ce._rfc6868Escape('"'+h+'"'))),e[o+1]==='"'){if(d=o+2,o=e.indexOf('"',d),h&&o!=-1){let b=!0;for(;b;)e[o+1]==h&&e[o+2]=='"'?o=e.indexOf('"',o+3):b=!1}if(o===-1)throw new dt('invalid line (no matching double quote) "'+e+'"');f=e.slice(d,o),n=e.indexOf(un,o);let p=e.indexOf(Ci,o);(n===-1||p!==-1&&n>p)&&(o=!1)}else{d=o+1;let p=e.indexOf(un,d),b=e.indexOf(Ci,d);b!==-1&&p>b?(p=b,o=!1):p===-1?(b===-1?p=e.length:p=b,o=!1):(n=p,o=p),f=e.slice(d,p)}const m=f.length;if(f=ce._rfc6868Escape(f),d+=m-f.length,h){let p=u||h;f=ce._parseMultiValue(f,p,g,[],null,i)}else f=ce._parseValue(f,g,i);h&&r in l?Array.isArray(l[r])?l[r].push(f):l[r]=[l[r],f]:l[r]=f}return[l,f,d]},ce._rfc6868Escape=function(e){return e.replace(/\^['n^]/g,function(a){return Bd[a]})},ce._parseMultiValue=function(e,a,i,n,o,s,l){let _=0,r=0,f;if(a.length===0)return e;for(;(_=zr(e,a,r))!==-1;)f=e.slice(r,_),o?f=ce._parseMultiValue(f,o,i,[],null,s,l):f=ce._parseValue(f,i,s,l),n.push(f),r=_+a.length;return f=e.slice(r),o?f=ce._parseMultiValue(f,o,i,[],null,s,l):f=ce._parseValue(f,i,s,l),n.push(f),n.length==1?n[0]:n},ce._eachLine=function(e,a){let i=e.length,n=e.search(Sd),o=n,s,l,_;do o=e.indexOf("\n",n)+1,o>1&&e[o-2]==="\r"?_=2:_=1,o===0&&(o=i,_=0),l=e[n],l===" "||l===" "?s+=e.slice(n+1,o-_):(s&&a(null,s),s=e.slice(n,o-_)),n=o;while(o!==i);s=s.trim(),s.length&&a(null,s)};const Od=["tzid","location","tznames","latitude","longitude"];var ge,xt,Mt;let pe=(ge=class{constructor(a){j(this,"tzid","");j(this,"location","");j(this,"tznames","");j(this,"latitude",0);j(this,"longitude",0);j(this,"component",null);j(this,"expandedUntilYear",0);j(this,"icalclass","icaltimezone");this.wrappedJSObject=this,this.fromData(a)}static _compare_change_fn(a,i){return a.yeari.year?1:a.monthi.month?1:a.dayi.day?1:a.houri.hour?1:a.minutei.minute?1:a.secondi.second?1:0}static convert_time(a,i,n){if(a.isDate||i.tzid==n.tzid||i==ge.localTimezone||n==ge.localTimezone)return a.zone=n,a;let o=i.utcOffset(a);return a.adjust(0,0,0,-o),o=n.utcOffset(a),a.adjust(0,0,0,o),null}static fromData(a){return new ge().fromData(a)}static get utcTimezone(){return rt(this,xt)||vi(this,xt,ge.fromData({tzid:"UTC"})),rt(this,xt)}static get localTimezone(){return rt(this,Mt)||vi(this,Mt,ge.fromData({tzid:"floating"})),rt(this,Mt)}static adjust_change(a,i,n,o,s){return X.prototype.adjust.call(a,i,n,o,s,a)}fromData(a){if(this.expandedUntilYear=0,this.changes=[],a instanceof oa)this.component=a;else{if(a&&"component"in a)if(typeof a.component=="string"){let i=ce(a.component);this.component=new oa(i)}else a.component instanceof oa?this.component=a.component:this.component=null;for(let i of Od)a&&i in a&&(this[i]=a[i])}return this.component instanceof oa&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this}utcOffset(a){if(this==ge.utcTimezone||this==ge.localTimezone||(this._ensureCoverage(a.year),!this.changes.length))return 0;let i={year:a.year,month:a.month,day:a.day,hour:a.hour,minute:a.minute,second:a.second},n=this._findNearbyChange(i),o=-1,s=1;for(;;){let _=bt(this.changes[n],!0);if(_.utcOffset<_.prevUtcOffset?ge.adjust_change(_,0,0,0,_.utcOffset):ge.adjust_change(_,0,0,0,_.prevUtcOffset),ge._compare_change_fn(i,_)>=0?o=n:s=-1,s==-1&&o!=-1)break;if(n+=s,n<0)return 0;if(n>=this.changes.length)break}let l=this.changes[o];if(l.utcOffset-l.prevUtcOffset<0&&o>0){let _=bt(l,!0);if(ge.adjust_change(_,0,0,0,_.prevUtcOffset),ge._compare_change_fn(i,_)<0){let r=this.changes[o-1],f=!1;l.is_daylight!=f&&r.is_daylight==f&&(l=r)}}return l.utcOffset}_findNearbyChange(a){let i=ut(this.changes,a,ge._compare_change_fn);return i>=this.changes.length?this.changes.length-1:i}_ensureCoverage(a){if(ge._minimumExpansionYear==-1){let n=X.now();ge._minimumExpansionYear=n.year}let i=a;if(ii||!g));)s.year=g.year,s.month=g.month,s.day=g.day,s.hour=g.hour,s.minute=g.minute,s.second=g.second,s.isDate=g.isDate,ge.adjust_change(s,0,0,0,-s.prevUtcOffset),n.push(s)}}return n}toString(){return this.tznames?this.tznames:this.tzid}},xt=new WeakMap,Mt=new WeakMap,Si(ge,xt,null),Si(ge,Mt,null),j(ge,"_minimumExpansionYear",-1),j(ge,"EXTRA_COVERAGE",5),ge),We=null;const s0={get count(){return We===null?0:Object.keys(We).length},reset:function(){We=Object.create(null);let e=pe.utcTimezone;We.Z=e,We.UTC=e,We.GMT=e},_hard_reset:function(){We=null},has:function(e){return We===null?!1:!!We[e]},get:function(e){return We===null&&this.reset(),We[e]},register:function(e,a){if(We===null&&this.reset(),typeof e=="string"&&a instanceof pe&&([e,a]=[a,e]),a||(e instanceof pe?a=e.tzid:e.name==="vtimezone"&&(e=new pe(e),a=e.tzid)),!a)throw new TypeError("Neither a timezone nor a name was passed");if(e instanceof pe)We[a]=e;else throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component")},remove:function(e){return We===null?null:delete We[e]}};function Nd(e){let a,i,n,o,s;if(!e||e.name!=="vcalendar")return e;for(a=e.getAllSubcomponents(),i=[],n={},s=0;s"u"))return e instanceof a?e:new a(e)}function zr(e,a,i){for(;(i=e.indexOf(a,i))!==-1;)if(i>0&&e[i-1]==="\\")i+=1;else return i;return-1}function ut(e,a,i){if(!e.length)return 0;let n=0,o=e.length-1,s,l;for(;n<=o;)if(s=n+Math.floor((o-n)/2),l=i(a,e[s]),l<0)o=s-1;else if(l>0)n=s+1;else break;return l<0?s:l>0?s+1:s}function bt(e,a){if(!e||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if("clone"in e)return e.clone();if(Array.isArray(e)){let i=[];for(let n=0;n65535?2:1:(a+=Me.newLineChar+" "+i.slice(0,Math.max(0,n)),i=i.slice(Math.max(0,n)),n=o=0)}return a.slice(Me.newLineChar.length+1)}function aa(e){switch(typeof e!="string"&&(typeof e=="number"&&(e=parseInt(e)),e=String(e)),e.length){case 0:return"00";case 1:return"0"+e;default:return e}}function qe(e){return e<0?Math.ceil(e):Math.floor(e)}function yt(e,a){for(let i in e){let n=Object.getOwnPropertyDescriptor(e,i);n&&!Object.getOwnPropertyDescriptor(a,i)&&Object.defineProperty(a,i,n)}return a}var xd=Object.freeze({__proto__:null,updateTimezones:Nd,isStrictlyNaN:Fi,strictParseInt:Ue,formatClassType:Ba,unescapedIndexOf:zr,binsearchInsert:ut,clone:bt,foldline:Vr,pad2:aa,trunc:qe,extend:yt});class ha{constructor(a){j(this,"hours",0);j(this,"minutes",0);j(this,"factor",1);j(this,"icaltype","utc-offset");this.fromData(a)}static fromString(a){let i={};return i.factor=a[0]==="+"?1:-1,i.hours=Ue(a.slice(1,3)),i.minutes=Ue(a.slice(4,6)),new ha(i)}static fromSeconds(a){let i=new ha;return i.fromSeconds(a),i}clone(){return ha.fromSeconds(this.toSeconds())}fromData(a){if(a)for(let[i,n]of Object.entries(a))this[i]=n;this._normalize()}fromSeconds(a){let i=Math.abs(a);return this.factor=a<0?-1:1,this.hours=qe(i/3600),i-=this.hours*3600,this.minutes=qe(i/60),this}toSeconds(){return this.factor*(60*this.minutes+3600*this.hours)}compare(a){let i=this.toSeconds(),n=a.toSeconds();return(i>n)-(n>i)}_normalize(){let a=this.toSeconds(),i=this.factor;for(;a<-43200;)a+=97200;for(;a>50400;)a-=97200;this.fromSeconds(a),a==0&&(this.factor=i)}toICALString(){return Le.icalendar.value["utc-offset"].toICAL(this.toString())}toString(){return(this.factor==1?"+":"-")+aa(this.hours)+":"+aa(this.minutes)}}class Va extends X{constructor(i,n,o){super(i,n);j(this,"icalclass","vcardtime");j(this,"icaltype","date-and-or-time");this.icaltype=o||"date-and-or-time"}static fromDateAndOrTimeString(i,n){function o(b,k,A){return b?Ue(b.slice(k,k+A)):null}let s=i.split("T"),l=s[0],_=s[1],r=_?Le.vcard.value.time._splitZone(_):[],f=r[0],d=r[1],g=l?l.length:0,h=d?d.length:0,u=l&&l[0]=="-"&&l[1]=="-",m=d&&d[0]=="-",p={year:u?null:o(l,0,4),month:u&&(g==4||g==7)?o(l,2,2):g==7||g==10?o(l,5,2):null,day:g==5?o(l,3,2):g==7&&u?o(l,5,2):g==10?o(l,8,2):null,hour:m?null:o(d,0,2),minute:m&&h==3?o(d,1,2):h>4?m?o(d,1,2):o(d,3,2):null,second:h==4?o(d,2,2):h==6?o(d,4,2):h==8?o(d,6,2):null};return f=="Z"?f=pe.utcTimezone:f&&f[3]==":"?f=ha.fromString(f):f=null,new Va(p,f,n)}clone(){return new Va(this._time,this.zone,this.icaltype)}_normalize(){return this}utcOffset(){return this.zone instanceof ha?this.zone.toSeconds():X.prototype.utcOffset.apply(this,arguments)}toICALString(){return Le.vcard.value[this.icaltype].toICAL(this.toString())}toString(){let i=this.year,n=this.month,o=this.day,s=this.hour,l=this.minute,_=this.second,r=i!==null,f=n!==null,d=o!==null,g=s!==null,h=l!==null,u=_!==null,m=(r?aa(i)+(f||d?"-":""):f||d?"--":"")+(f?aa(n):"")+(d?"-"+aa(o):""),p=(g?aa(s):"-")+(g&&h?":":"")+(h?aa(l):"")+(!g&&!h?"-":"")+(h&&u?":":"")+(u?aa(_):""),b;switch(this.zone===pe.utcTimezone?b="Z":this.zone instanceof ha?b=this.zone.toString():this.zone===pe.localTimezone?b="":this.zone instanceof pe?b=ha.fromSeconds(this.zone.utcOffset(this)).toString():b="",this.icaltype){case"time":return p+b;case"date-and-or-time":case"date-time":return m+(p=="--"?"":"T"+p+b);case"date":return m}return null}}const ea=class ea{constructor(a){j(this,"completed",!1);j(this,"rule",null);j(this,"dtstart",null);j(this,"last",null);j(this,"occurrence_number",0);j(this,"by_indices",null);j(this,"initialized",!1);j(this,"by_data",null);j(this,"days",null);j(this,"days_index",0);this.fromData(a)}fromData(a){if(this.rule=Ba(a.rule,Ve),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=Ba(a.dtstart,X),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");if(a.by_data?this.by_data=a.by_data:this.by_data=bt(this.rule.parts,!0),a.occurrence_number&&(this.occurrence_number=a.occurrence_number),this.days=a.days||[],a.last&&(this.last=Ba(a.last,X)),this.by_indices=a.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=a.initialized||!1,!this.initialized)try{this.init()}catch(i){if(i instanceof ts)this.completed=!0;else throw i}}init(){this.initialized=!0,this.last=this.dtstart.clone();let a=this.by_data;if("BYDAY"in a&&this.sort_byday_rules(a.BYDAY),"BYYEARDAY"in a&&("BYMONTH"in a||"BYWEEKNO"in a||"BYMONTHDAY"in a||"BYDAY"in a))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in a&&"BYMONTHDAY"in a)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if(this.rule.freq=="MONTHLY"&&("BYYEARDAY"in a||"BYWEEKNO"in a))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if(this.rule.freq=="WEEKLY"&&("BYYEARDAY"in a||"BYMONTHDAY"in a))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if(this.rule.freq!="YEARLY"&&"BYYEARDAY"in a)throw new Error("BYYEARDAY may only appear in YEARLY rules");if(this.last.second=this.setup_defaults("BYSECOND","SECONDLY",this.dtstart.second),this.last.minute=this.setup_defaults("BYMINUTE","MINUTELY",this.dtstart.minute),this.last.hour=this.setup_defaults("BYHOUR","HOURLY",this.dtstart.hour),this.last.day=this.setup_defaults("BYMONTHDAY","DAILY",this.dtstart.day),this.last.month=this.setup_defaults("BYMONTH","MONTHLY",this.dtstart.month),this.rule.freq=="WEEKLY")if("BYDAY"in a){let[,i]=this.ruleDayOfWeek(a.BYDAY[0],this.rule.wkst),n=i-this.last.dayOfWeek(this.rule.wkst);(this.last.dayOfWeek(this.rule.wkst)=0||n<0)&&(this.last.day+=n)}else{let i=Ve.numericDayToIcalDay(this.dtstart.dayOfWeek());a.BYDAY=[i]}if(this.rule.freq=="YEARLY"){const i=this.rule.until?this.rule.until.year:2e4;for(;this.last.year<=i&&(this.expand_year_days(this.last.year),!(this.days.length>0));)this.increment_year(this.rule.interval);if(this.days.length==0)throw new ts;this._nextByYearDay()}if(this.rule.freq=="MONTHLY"){if(this.has_by_data("BYDAY")){let i=null,n=this.last.clone(),o=X.daysInMonth(this.last.month,this.last.year);for(let s of this.by_data.BYDAY){this.last=n.clone();let[l,_]=this.ruleDayOfWeek(s),r=this.last.nthWeekDay(_,l);if(l>=6||l<=-6)throw new Error("Malformed values in BYDAY part");if(r>o||r<=0){if(i&&i.month==n.month)continue;for(;r>o||r<=0;)this.increment_month(),o=X.daysInMonth(this.last.month,this.last.year),r=this.last.nthWeekDay(_,l)}this.last.day=r,(!i||this.last.compare(i)<0)&&(i=this.last.clone())}if(this.last=i.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>o||this.last.day==0)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")){this.last.day=1;let i=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY).filter(n=>n>=this.last.day);if(i.length)this.last.day=i[0],this.by_data.BYMONTHDAY=i;else if(!this.next_month()&&!this.next_month()&&!this.next_month())throw new Error("No possible occurrences")}}}next(a=!1){let i=this.last?this.last.clone():null;if((this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)&&(this.completed=!0),this.completed)return null;if(this.occurrence_number==0&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;let n;do switch(n=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":n=this.next_month();break;case"YEARLY":this.next_year();break;default:return null}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!n);if(this.last.compare(i)==0){if(a)throw new Error("Same occurrence found twice, protecting you from death by recursion");this.next(!0)}return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)}next_second(){return this.next_generic("BYSECOND","SECONDLY","second","minute")}increment_second(a){return this.increment_generic(a,"second",60,"minute")}next_minute(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")}increment_minute(a){return this.increment_generic(a,"minute",60,"hour")}next_hour(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")}increment_hour(a){this.increment_generic(a,"hour",24,"monthday")}next_day(){let a=this.rule.freq=="DAILY";return this.next_hour()==0||(a?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0}next_week(){let a=0;if(this.next_weekday_by_week()==0)return a;if(this.has_by_data("BYWEEKNO")){this.by_indices.BYWEEKNO++,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,a=1),this.last.month=1,this.last.day=1;let i=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*i,a&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return a}normalizeByMonthDayRules(a,i,n){let o=X.daysInMonth(i,a),s=[],l=0,_=n.length,r;for(;l<_;l++){if(r=parseInt(n[l],10),isNaN(r))throw new Error("Invalid BYMONTHDAY value");if(!(Math.abs(r)>o)){if(r<0)r=o+(r+1);else if(r===0)continue;s.indexOf(r)===-1&&s.push(r)}}return s.sort(function(f,d){return f-d})}_byDayAndMonthDay(a){let i,n=this.by_data.BYDAY,o,s=0,l,_=n.length,r=0,f,d=this,g=this.last.day;function h(){for(f=X.daysInMonth(d.last.month,d.last.year),i=d.normalizeByMonthDayRules(d.last.year,d.last.month,d.by_data.BYMONTHDAY),l=i.length;i[s]<=g&&!(a&&i[s]==g)&&sf){u();continue}let p=i[s++];if(p>=o)g=p;else{u();continue}for(let b=0;b<_;b++){let k=this.ruleDayOfWeek(n[b]),A=k[0],v=k[1];if(this.last.day=g,this.last.isNthWeekDay(v,A)){r=1;break}}if(!r&&s===l){u();continue}}if(m<=0)throw new Error("Malformed values in BYDAY combined with BYMONTHDAY parts");return r}next_month(){let a=1;if(this.next_hour()==0)return a;if(this.has_by_data("BYDAY")&&this.has_by_data("BYMONTHDAY"))a=this._byDayAndMonthDay();else if(this.has_by_data("BYDAY")){let i=X.daysInMonth(this.last.month,this.last.year),n=0,o=0;if(this.has_by_data("BYSETPOS")){let l=this.last.day;for(let _=1;_<=i;_++)this.last.day=_,this.is_day_in_byday(this.last)&&(o++,_<=l&&n++);this.last.day=l}a=0;let s;for(s=this.last.day+1;s<=i;s++)if(this.last.day=s,this.is_day_in_byday(this.last)&&(!this.has_by_data("BYSETPOS")||this.check_set_position(++n)||this.check_set_position(n-o-1))){a=1;break}s>i&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?(!this.has_by_data("BYSETPOS")||this.check_set_position(1))&&(a=1):a=0)}else if(this.has_by_data("BYMONTHDAY")){if(this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month(),this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length))return 0;let i=X.daysInMonth(this.last.month,this.last.year),n=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];n<0&&(n=i+n+1),n>i?(this.last.day=1,a=this.is_day_in_byday(this.last)):this.last.day=n}else{this.increment_month();let i=X.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>i?a=0:this.last.day=this.by_data.BYMONTHDAY[0]}return a}next_weekday_by_week(){let a=0;if(this.next_hour()==0)return a;if(!this.has_by_data("BYDAY"))return 1;for(;;){let i=new X;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,a=1);let n=this.by_data.BYDAY[this.by_indices.BYDAY],o=this.ruleDayOfWeek(n)[1];o-=this.rule.wkst,o<0&&(o+=7),i.year=this.last.year,i.month=this.last.month,i.day=this.last.day;let s=i.startDoyWeek(this.rule.wkst);if(o+s<1&&!a)continue;let l=X.fromDayOfYear(s+o,this.last.year);return this.last.year=l.year,this.last.month=l.month,this.last.day=l.day,a}}next_year(){if(this.next_hour()==0)return 0;if(++this.days_index==this.days.length){this.days_index=0;do this.increment_year(this.rule.interval),this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY)),this.expand_year_days(this.last.year);while(this.days.length==0)}return this._nextByYearDay(),1}_nextByYearDay(){let a=this.days[this.days_index],i=this.last.year;a<1&&(a+=1,i+=1);let n=X.fromDayOfYear(a,i);this.last.day=n.day,this.last.month=n.month}ruleDayOfWeek(a,i){let n=a.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);if(n){let o=parseInt(n[1]||0,10);return a=Ve.icalDayToNumericDay(n[2],i),[o,a]}else return[0,0]}next_generic(a,i,n,o,s){let l=a in this.by_data,_=this.rule.freq==i,r=0;if(s&&this[s]()==0)return r;if(l){this.by_indices[a]++;let f=this.by_data[a];this.by_indices[a]==f.length&&(this.by_indices[a]=0,r=1),this.last[n]=f[this.by_indices[a]]}else _&&this["increment_"+n](this.rule.interval);return l&&r&&_&&this["increment_"+o](1),r}increment_monthday(a){for(let i=0;in&&(this.last.day-=n,this.increment_month())}}increment_month(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{this.rule.freq=="MONTHLY"?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;let a=qe(this.last.month/12);this.last.month%=12,this.last.month++,a!=0&&this.increment_year(a)}this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY))}increment_year(a){this.last.day=1,this.last.year+=a}increment_generic(a,i,n,o){this.last[i]+=a;let s=qe(this.last[i]/n);this.last[i]%=n,s!=0&&this["increment_"+o](s)}has_by_data(a){return a in this.rule.parts}expand_year_days(a){let i=new X;this.days=[];let n={},o=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(let _ of o)_ in this.rule.parts&&(n[_]=this.rule.parts[_]);if("BYMONTH"in n&&"BYWEEKNO"in n){let _=1,r={};i.year=a,i.isDate=!0;for(let f=0;f0?(b=k+(m-1)*7,b<=r&&this.days.push(d+b)):(b=A+(m+1)*7,b>0&&this.days.push(d+b))}}this.days.sort(function(_,r){return _-r})}else if(s==2&&"BYDAY"in n&&"BYMONTHDAY"in n){let _=this.expand_by_day(a);for(let r of _){let f=X.fromDayOfYear(r,a);this.by_data.BYMONTHDAY.indexOf(f.day)>=0&&this.days.push(r)}}else if(s==3&&"BYDAY"in n&&"BYMONTHDAY"in n&&"BYMONTH"in n){let _=this.expand_by_day(a);for(let r of _){let f=X.fromDayOfYear(r,a);this.by_data.BYMONTH.indexOf(f.month)>=0&&this.by_data.BYMONTHDAY.indexOf(f.day)>=0&&this.days.push(r)}}else if(s==2&&"BYDAY"in n&&"BYWEEKNO"in n){let _=this.expand_by_day(a);for(let r of _){let f=X.fromDayOfYear(r,a).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(f)&&this.days.push(r)}}else s==3&&"BYDAY"in n&&"BYWEEKNO"in n&&"BYMONTHDAY"in n||(s==1&&"BYYEARDAY"in n?this.days=this.days.concat(this.by_data.BYYEARDAY):this.days=[]);let l=X.isLeapYear(a)?366:365;return this.days.sort((_,r)=>(_<0&&(_+=l+1),r<0&&(r+=l+1),_-r)),0}expand_by_day(a){let i=[],n=this.last.clone();n.year=a,n.month=1,n.day=1,n.isDate=!0;let o=n.dayOfWeek();n.month=12,n.day=31,n.isDate=!0;let s=n.dayOfWeek(),l=n.dayOfYear();for(let _ of this.by_data.BYDAY){let r=this.ruleDayOfWeek(_),f=r[0],d=r[1];if(f==0){let g=(d+7-o)%7+1;for(let h=g;h<=l;h+=7)i.push(h)}else if(f>0){let g;d>=o?g=d-o+1:g=d-o+8,i.push(g+(f-1)*7)}else{let g;f=-f,d<=s?g=l-s+d:g=l-s+d-7,i.push(g-(f-1)*7)}}return i}is_day_in_byday(a){if(this.by_data.BYDAY)for(let i of this.by_data.BYDAY){let n=this.ruleDayOfWeek(i),o=n[0],s=n[1],l=a.dayOfWeek();if(o==0&&s==l||a.nthWeekDay(s,o)==a.day)return 1}return 0}check_set_position(a){return this.has_by_data("BYSETPOS")?this.by_data.BYSETPOS.indexOf(a)!==-1:!1}sort_byday_rules(a){for(let i=0;is){let l=a[i];a[i]=a[n],a[n]=l}}}check_contract_restriction(a,i){let n=ea._indexMap[a],o=ea._expandMap[this.rule.freq][n],s=!1;if(a in this.by_data&&o==ea.CONTRACT){let l=this.by_data[a];for(let _ of l)if(_==i){s=!0;break}}else s=!0;return s}check_contracting_rules(){let a=this.last.dayOfWeek(),i=this.last.weekNumber(this.rule.wkst),n=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",Ve.numericDayToIcalDay(a))&&this.check_contract_restriction("BYWEEKNO",i)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",n)}setup_defaults(a,i,n){let o=ea._indexMap[a];return ea._expandMap[this.rule.freq][o]!=ea.CONTRACT&&(a in this.by_data||(this.by_data[a]=[n]),this.rule.freq!=i)?this.by_data[a][0]:n}toJSON(){let a=Object.create(null);return a.initialized=this.initialized,a.rule=this.rule.toJSON(),a.dtstart=this.dtstart.toJSON(),a.by_data=this.by_data,a.days=this.days,a.last=this.last.toJSON(),a.by_indices=this.by_indices,a.occurrence_number=this.occurrence_number,a}};j(ea,"_indexMap",{BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8}),j(ea,"_expandMap",{SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]}),j(ea,"UNKNOWN",0),j(ea,"CONTRACT",1),j(ea,"EXPAND",2),j(ea,"ILLEGAL",3);let ci=ea;class ts extends Error{constructor(){super("Recurrence rule has no valid occurrences")}}const Md=/^(SU|MO|TU|WE|TH|FR|SA)$/,jd=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,$r={SU:X.SUNDAY,MO:X.MONDAY,TU:X.TUESDAY,WE:X.WEDNESDAY,TH:X.THURSDAY,FR:X.FRIDAY,SA:X.SATURDAY},Yd=Object.fromEntries(Object.entries($r).map(e=>e.reverse())),is=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];class Ve{constructor(a){j(this,"parts",null);j(this,"interval",1);j(this,"wkst",X.MONDAY);j(this,"until",null);j(this,"count",null);j(this,"freq",null);j(this,"icalclass","icalrecur");j(this,"icaltype","recur");this.wrappedJSObject=this,this.parts={},a&&typeof a=="object"&&this.fromData(a)}static fromString(a){let i=this._stringToData(a,!1);return new Ve(i)}static fromData(a){return new Ve(a)}static _stringToData(a,i){let n=Object.create(null),o=a.split(";"),s=o.length;for(let l=0;l7&&(o-=7),Yd[o]}iterator(a){return new ci({rule:this,dtstart:a})}clone(){return new Ve(this.toJSON())}isFinite(){return!!(this.count||this.until)}isByCount(){return!!(this.count&&!this.until)}addComponent(a,i){let n=a.toUpperCase();n in this.parts?this.parts[n].push(i):this.parts[n]=[i]}setComponent(a,i){this.parts[a.toUpperCase()]=i.slice()}getComponent(a){let i=a.toUpperCase();return i in this.parts?this.parts[i].slice():[]}getNextOccurrence(a,i){let n=this.iterator(a),o;do o=n.next();while(o&&o.compare(i)<=0);return o&&i.zone&&(o.zone=i.zone),o}fromData(a){for(let i in a){let n=i.toUpperCase();n in cn?Array.isArray(a[i])?this.parts[n]=a[i]:this.parts[n]=[a[i]]:this[i]=a[i]}this.interval&&typeof this.interval!="number"&&Fn.INTERVAL(this.interval,this),this.wkst&&typeof this.wkst!="number"&&(this.wkst=Ve.icalDayToNumericDay(this.wkst)),this.until&&!(this.until instanceof X)&&(this.until=X.fromString(this.until))}toJSON(){let a=Object.create(null);a.freq=this.freq,this.count&&(a.count=this.count),this.interval>1&&(a.interval=this.interval);for(let[i,n]of Object.entries(this.parts))Array.isArray(n)&&n.length==1?a[i.toLowerCase()]=n[0]:a[i.toLowerCase()]=bt(n);return this.until&&(a.until=this.until.toString()),"wkst"in this&&this.wkst!==X.DEFAULT_WEEK_START&&(a.wkst=Ve.numericDayToIcalDay(this.wkst)),a}toString(){let a="FREQ="+this.freq;this.count&&(a+=";COUNT="+this.count),this.interval>1&&(a+=";INTERVAL="+this.interval);for(let[i,n]of Object.entries(this.parts))a+=";"+i+"="+n;return this.until&&(a+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==X.DEFAULT_WEEK_START&&(a+=";WKST="+Ve.numericDayToIcalDay(this.wkst)),a}}function ja(e,a,i,n){let o=n;if(n[0]==="+"&&(o=n.slice(1)),o=Ue(o),a!==void 0&&n '+a);if(i!==void 0&&n>i)throw new Error(e+': invalid value "'+n+'" must be < '+a);return o}const Fn={FREQ:function(e,a,i){if(is.indexOf(e)!==-1)a.freq=e;else throw new Error('invalid frequency "'+e+'" expected: "'+is.join(", ")+'"')},COUNT:function(e,a,i){a.count=Ue(e)},INTERVAL:function(e,a,i){a.interval=Ue(e),a.interval<1&&(a.interval=1)},UNTIL:function(e,a,i){e.length>10?a.until=Le.icalendar.value["date-time"].fromICAL(e):a.until=Le.icalendar.value.date.fromICAL(e),i||(a.until=X.fromString(a.until))},WKST:function(e,a,i){if(Md.test(e))a.wkst=Ve.icalDayToNumericDay(e);else throw new Error('invalid WKST value "'+e+'"')}},cn={BYSECOND:ja.bind(void 0,"BYSECOND",0,60),BYMINUTE:ja.bind(void 0,"BYMINUTE",0,59),BYHOUR:ja.bind(void 0,"BYHOUR",0,23),BYDAY:function(e){if(jd.test(e))return e;throw new Error('invalid BYDAY value "'+e+'"')},BYMONTHDAY:ja.bind(void 0,"BYMONTHDAY",-31,31),BYYEARDAY:ja.bind(void 0,"BYYEARDAY",-366,366),BYWEEKNO:ja.bind(void 0,"BYWEEKNO",-53,53),BYMONTH:ja.bind(void 0,"BYMONTH",1,12),BYSETPOS:ja.bind(void 0,"BYSETPOS",-366,366)};class Ga{constructor(a){j(this,"start",null);j(this,"end",null);j(this,"duration",null);j(this,"icalclass","icalperiod");j(this,"icaltype","period");if(this.wrappedJSObject=this,a&&"start"in a){if(a.start&&!(a.start instanceof X))throw new TypeError(".start must be an instance of ICAL.Time");this.start=a.start}if(a&&a.end&&a.duration)throw new Error("cannot accept both end and duration");if(a&&"end"in a){if(a.end&&!(a.end instanceof X))throw new TypeError(".end must be an instance of ICAL.Time");this.end=a.end}if(a&&"duration"in a){if(a.duration&&!(a.duration instanceof $e))throw new TypeError(".duration must be an instance of ICAL.Duration");this.duration=a.duration}}static fromString(a,i){let n=a.split("/");if(n.length!==2)throw new Error('Invalid string value: "'+a+'" must contain a "/" char.');let o={start:X.fromDateTimeString(n[0],i)},s=n[1];return $e.isValueString(s)?o.duration=$e.fromString(s):o.end=X.fromDateTimeString(s,i),new Ga(o)}static fromData(a){return new Ga(a)}static fromJSON(a,i,n){function o(s,l){return n?X.fromString(s,l):X.fromDateTimeString(s,l)}return $e.isValueString(a[1])?Ga.fromData({start:o(a[0],i),duration:$e.fromString(a[1])}):Ga.fromData({start:o(a[0],i),end:o(a[1],i)})}clone(){return Ga.fromData({start:this.start?this.start.clone():null,end:this.end?this.end.clone():null,duration:this.duration?this.duration.clone():null})}getDuration(){return this.duration?this.duration:this.end.subtractDate(this.start)}getEnd(){if(this.end)return this.end;{let a=this.start.clone();return a.addDuration(this.duration),a}}toString(){return this.start+"/"+(this.end||this.duration)}toJSON(){return[this.start.toString(),(this.end||this.duration).toString()]}toICALString(){return this.start.toICALString()+"/"+(this.end||this.duration).toICALString()}}const qd=/\\\\|\\;|\\,|\\[Nn]/g,Ld=/\\|;|,|\n/g,ns=/\\\\|\\,|\\[Nn]/g,os=/\\|,|\n/g;function jn(e,a){return{matches:/.*/,fromICAL:function(i,n){return Id(i,e,n)},toICAL:function(i,n){let o=a;return n&&(o=new RegExp(o.source+"|"+n,o.flags)),i.replace(o,function(s){switch(s){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case"\n":return"\\n";default:return s}})}}}const ue={defaultType:"text"},mi={defaultType:"text",multiValue:","},r0={defaultType:"text",structuredValue:";"},Bi={defaultType:"integer"},Oi={defaultType:"date-time",allowedTypes:["date-time","date"]},Ni={defaultType:"date-time"},Xe={defaultType:"uri"},ss={defaultType:"utc-offset"},rs={defaultType:"recur"},ls={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};function Zd(e){switch(e){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return"\n";default:return e}}function Id(e,a,i){return e.indexOf("\\")===-1?e:(i&&(a=new RegExp(a.source+"|\\\\"+i,a.flags)),e.replace(a,Zd))}let mo={categories:mi,url:Xe,version:ue,uid:ue},po={boolean:{values:["TRUE","FALSE"],fromICAL:function(e){switch(e){case"TRUE":return!0;case"FALSE":return!1;default:return!1}},toICAL:function(e){return e?"TRUE":"FALSE"}},float:{matches:/^[+-]?\d+\.\d+$/,fromICAL:function(e){let a=parseFloat(e);return Fi(a)?0:a},toICAL:function(e){return String(e)}},integer:{fromICAL:function(e){let a=parseInt(e);return Fi(a)?0:a},toICAL:function(e){return String(e)}},"utc-offset":{toICAL:function(e){return e.length<7?e.slice(0,3)+e.slice(4,6):e.slice(0,3)+e.slice(4,6)+e.slice(7,9)},fromICAL:function(e){return e.length<6?e.slice(0,3)+":"+e.slice(3,5):e.slice(0,3)+":"+e.slice(3,5)+":"+e.slice(5,7)},decorate:function(e){return ha.fromString(e)},undecorate:function(e){return e.toString()}}},Hd={cutype:{values:["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"],allowXName:!0,allowIanaToken:!0},"delegated-from":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},"delegated-to":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},encoding:{values:["8BIT","BASE64"]},fbtype:{values:["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"],allowXName:!0,allowIanaToken:!0},member:{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},partstat:{values:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"],allowXName:!0,allowIanaToken:!0},range:{values:["THISANDFUTURE"]},related:{values:["START","END"]},reltype:{values:["PARENT","CHILD","SIBLING"],allowXName:!0,allowIanaToken:!0},role:{values:["REQ-PARTICIPANT","CHAIR","OPT-PARTICIPANT","NON-PARTICIPANT"],allowXName:!0,allowIanaToken:!0},rsvp:{values:["TRUE","FALSE"]},"sent-by":{valueType:"cal-address"},tzid:{matches:/^\//},value:{values:["binary","boolean","cal-address","date","date-time","duration","float","integer","period","recur","text","time","uri","utc-offset"],allowXName:!0,allowIanaToken:!0}};const ze=yt(po,{text:jn(qd,Ld),uri:{},binary:{decorate:function(e){return $0.fromString(e)},undecorate:function(e){return e.toString()}},"cal-address":{},date:{decorate:function(e,a){return X.fromDateString(e,a)},undecorate:function(e){return e.toString()},fromICAL:function(e){return e.slice(0,4)+"-"+e.slice(4,6)+"-"+e.slice(6,8)},toICAL:function(e){let a=e.length;return a==10?e.slice(0,4)+e.slice(5,7)+e.slice(8,10):a>=19?ze["date-time"].toICAL(e):e}},"date-time":{fromICAL:function(e){{let a=e.slice(0,4)+"-"+e.slice(4,6)+"-"+e.slice(6,8)+"T"+e.slice(9,11)+":"+e.slice(11,13)+":"+e.slice(13,15);return e[15]&&e[15]==="Z"&&(a+="Z"),a}},toICAL:function(e){if(e.length>=19){let a=e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19);return e[19]&&e[19]==="Z"&&(a+="Z"),a}else return e},decorate:function(e,a){return X.fromDateTimeString(e,a)},undecorate:function(e){return e.toString()}},duration:{decorate:function(e){return $e.fromString(e)},undecorate:function(e){return e.toString()}},period:{fromICAL:function(e){let a=e.split("/");return a[0]=ze["date-time"].fromICAL(a[0]),$e.isValueString(a[1])||(a[1]=ze["date-time"].fromICAL(a[1])),a},toICAL:function(e){return e=e.slice(),e[0]=ze["date-time"].toICAL(e[0]),$e.isValueString(e[1])||(e[1]=ze["date-time"].toICAL(e[1])),e.join("/")},decorate:function(e,a){return Ga.fromJSON(e,a,!1)},undecorate:function(e){return e.toJSON()}},recur:{fromICAL:function(e){return Ve._stringToData(e,!0)},toICAL:function(e){let a="";for(let[i,n]of Object.entries(e))i=="until"?n.length>10?n=ze["date-time"].toICAL(n):n=ze.date.toICAL(n):i=="wkst"?typeof n=="number"&&(n=Ve.numericDayToIcalDay(n)):Array.isArray(n)&&(n=n.join(",")),a+=i.toUpperCase()+"="+n+";";return a.slice(0,Math.max(0,a.length-1))},decorate:function(e){return Ve.fromData(e)},undecorate:function(e){return e.toJSON()}},time:{fromICAL:function(e){if(e.length<6)return e;let a=e.slice(0,2)+":"+e.slice(2,4)+":"+e.slice(4,6);return e[6]==="Z"&&(a+="Z"),a},toICAL:function(e){if(e.length<8)return e;let a=e.slice(0,2)+e.slice(3,5)+e.slice(6,8);return e[8]==="Z"&&(a+="Z"),a}}});let Pd=yt(mo,{action:ue,attach:{defaultType:"uri"},attendee:{defaultType:"cal-address"},calscale:ue,class:ue,comment:ue,completed:Ni,contact:ue,created:Ni,description:ue,dtend:Oi,dtstamp:Ni,dtstart:Oi,due:Oi,duration:{defaultType:"duration"},exdate:{defaultType:"date-time",allowedTypes:["date-time","date"],multiValue:","},exrule:rs,freebusy:{defaultType:"period",multiValue:","},geo:{defaultType:"float",structuredValue:";"},"last-modified":Ni,location:ue,method:ue,organizer:{defaultType:"cal-address"},"percent-complete":Bi,priority:Bi,prodid:ue,"related-to":ue,repeat:Bi,rdate:{defaultType:"date-time",allowedTypes:["date-time","date","period"],multiValue:",",detectType:function(e){return e.indexOf("/")!==-1?"period":e.indexOf("T")===-1?"date":"date-time"}},"recurrence-id":Oi,resources:mi,"request-status":r0,rrule:rs,sequence:Bi,status:ue,summary:ue,transp:ue,trigger:{defaultType:"duration",allowedTypes:["duration","date-time"]},tzoffsetfrom:ss,tzoffsetto:ss,tzurl:Xe,tzid:ue,tzname:ue});const _a=yt(po,{text:jn(ns,os),uri:jn(ns,os),date:{decorate:function(e){return Va.fromDateAndOrTimeString(e,"date")},undecorate:function(e){return e.toString()},fromICAL:function(e){return e.length==8?ze.date.fromICAL(e):e[0]=="-"&&e.length==6?e.slice(0,4)+"-"+e.slice(4):e},toICAL:function(e){return e.length==10?ze.date.toICAL(e):e[0]=="-"&&e.length==7?e.slice(0,4)+e.slice(5):e}},time:{decorate:function(e){return Va.fromDateAndOrTimeString("T"+e,"time")},undecorate:function(e){return e.toString()},fromICAL:function(e){let a=_a.time._splitZone(e,!0),i=a[0],n=a[1];return n.length==6?n=n.slice(0,2)+":"+n.slice(2,4)+":"+n.slice(4,6):n.length==4&&n[0]!="-"?n=n.slice(0,2)+":"+n.slice(2,4):n.length==5&&(n=n.slice(0,3)+":"+n.slice(3,5)),i.length==5&&(i[0]=="-"||i[0]=="+")&&(i=i.slice(0,3)+":"+i.slice(3)),n+i},toICAL:function(e){let a=_a.time._splitZone(e),i=a[0],n=a[1];return n.length==8?n=n.slice(0,2)+n.slice(3,5)+n.slice(6,8):n.length==5&&n[0]!="-"?n=n.slice(0,2)+n.slice(3,5):n.length==6&&(n=n.slice(0,3)+n.slice(4,6)),i.length==6&&(i[0]=="-"||i[0]=="+")&&(i=i.slice(0,3)+i.slice(4)),n+i},_splitZone:function(e,a){let i=e.length-1,n=e.length-(a?5:6),o=e[n],s,l;return e[i]=="Z"?(s=e[i],l=e.slice(0,Math.max(0,i))):e.length>6&&(o=="-"||o=="+")?(s=e.slice(n),l=e.slice(0,Math.max(0,n))):(s="",l=e),[s,l]}},"date-time":{decorate:function(e){return Va.fromDateAndOrTimeString(e,"date-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){return _a["date-and-or-time"].fromICAL(e)},toICAL:function(e){return _a["date-and-or-time"].toICAL(e)}},"date-and-or-time":{decorate:function(e){return Va.fromDateAndOrTimeString(e,"date-and-or-time")},undecorate:function(e){return e.toString()},fromICAL:function(e){let a=e.split("T");return(a[0]?_a.date.fromICAL(a[0]):"")+(a[1]?"T"+_a.time.fromICAL(a[1]):"")},toICAL:function(e){let a=e.split("T");return _a.date.toICAL(a[0])+(a[1]?"T"+_a.time.toICAL(a[1]):"")}},timestamp:ze["date-time"],"language-tag":{matches:/^[a-zA-Z0-9-]+$/},"phone-number":{fromICAL:function(e){return Array.from(e).filter(function(a){return a==="\\"?void 0:a}).join("")},toICAL:function(e){return Array.from(e).map(function(a){return a===","||a===";"?"\\"+a:a}).join("")}}});let Gd={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","time","date-time","date-and-or-time","timestamp","boolean","integer","float","utc-offset","language-tag"],allowXName:!0,allowIanaToken:!0}},Ud=yt(mo,{adr:{defaultType:"text",structuredValue:";",multiValue:","},anniversary:ls,bday:ls,caladruri:Xe,caluri:Xe,clientpidmap:r0,email:ue,fburl:Xe,fn:ue,gender:r0,geo:Xe,impp:Xe,key:Xe,kind:ue,lang:{defaultType:"language-tag"},logo:Xe,member:Xe,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:mi,note:ue,org:{defaultType:"text",structuredValue:";"},photo:Xe,related:Xe,rev:{defaultType:"timestamp"},role:ue,sound:Xe,source:Xe,tel:{defaultType:"uri",allowedTypes:["uri","text"]},title:ue,tz:{defaultType:"text",allowedTypes:["text","utc-offset","uri"]},xml:ue}),zd=yt(po,{binary:ze.binary,date:_a.date,"date-time":_a["date-time"],"phone-number":_a["phone-number"],uri:ze.uri,text:ze.text,time:ze.time,vcard:ze.text,"utc-offset":{toICAL:function(e){return e.slice(0,7)},fromICAL:function(e){return e.slice(0,7)},decorate:function(e){return ha.fromString(e)},undecorate:function(e){return e.toString()}}}),Vd={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","date-time","phone-number","time","boolean","integer","float","utc-offset","vcard","binary"],allowXName:!0,allowIanaToken:!0}},$d=yt(mo,{fn:ue,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:mi,photo:{defaultType:"binary",allowedTypes:["binary","uri"]},bday:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return e.indexOf("T")===-1?"date":"date-time"}},adr:{defaultType:"text",structuredValue:";",multiValue:","},label:ue,tel:{defaultType:"phone-number"},email:ue,mailer:ue,tz:{defaultType:"utc-offset",allowedTypes:["utc-offset","text"]},geo:{defaultType:"float",structuredValue:";"},title:ue,role:ue,logo:{defaultType:"binary",allowedTypes:["binary","uri"]},agent:{defaultType:"vcard",allowedTypes:["vcard","text","uri"]},org:r0,note:mi,prodid:ue,rev:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(e){return e.indexOf("T")===-1?"date":"date-time"}},"sort-string":ue,sound:{defaultType:"binary",allowedTypes:["binary","uri"]},class:ue,key:{defaultType:"binary",allowedTypes:["binary","text"]}}),Aa={value:ze,param:Hd,property:Pd,propertyGroups:!1},_s={value:_a,param:Gd,property:Ud,propertyGroups:!0},ds={value:zd,param:Vd,property:$d,propertyGroups:!0};const Wi={strict:!0,defaultSet:Aa,defaultType:"unknown",components:{vcard:_s,vcard3:ds,vevent:Aa,vtodo:Aa,vjournal:Aa,valarm:Aa,vtimezone:Aa,daylight:Aa,standard:Aa},icalendar:Aa,vcard:_s,vcard3:ds,getDesignSet:function(e){return e&&e in Wi.components?Wi.components[e]:Wi.defaultSet}};var Le=Wi;const Qi="\r\n",fs="unknown",Wd={'"':"^'","\n":"^n","^":"^^"};function ve(e){typeof e[0]=="string"&&(e=[e]);let a=0,i=e.length,n="";for(;a0&&!(e[1][0][0]==="version"&&e[1][0][3]==="4.0")&&(_="vcard3"),a=a||Le.getDesignSet(_);s0&&typeof a[0]=="object"&&"icaltype"in a[0]&&this.resetType(a[0].icaltype),this.isDecorated)for(;n=0;l--)(!n||s[l][qa]===n)&&this._removeObjectByIndex(a,o,l)}addSubcomponent(a){this._components||(this._components=[],this._hydratedComponentCount=0),a.parent&&a.parent.removeSubcomponent(a);let i=this.jCal[La].push(a.jCal);return this._components[i-1]=a,this._hydratedComponentCount++,a.parent=this,a}removeSubcomponent(a){let i=this._removeObject(La,"_components",a);return i&&this._hydratedComponentCount--,i}removeAllSubcomponents(a){let i=this._removeAllObjects(La,"_components",a);return this._hydratedComponentCount=0,i}addProperty(a){if(!(a instanceof Ft))throw new TypeError("must be instance of ICAL.Property");this._properties||(this._properties=[],this._hydratedPropertyCount=0),a.parent&&a.parent.removeProperty(a);let i=this.jCal[wa].push(a.jCal);return this._properties[i-1]=a,this._hydratedPropertyCount++,a.parent=this,a}addPropertyWithValue(a,i){let n=new Ft(a);return n.setValue(i),this.addProperty(n),n}updatePropertyWithValue(a,i){let n=this.getFirstProperty(a);return n?n.setValue(i):n=this.addPropertyWithValue(a,i),n}removeProperty(a){let i=this._removeObject(wa,"_properties",a);return i&&this._hydratedPropertyCount--,i}removeAllProperties(a){let i=this._removeAllObjects(wa,"_properties",a);return this._hydratedPropertyCount=0,i}toJSON(){return this.jCal}toString(){return ve.component(this.jCal,this._designSet)}getTimeZoneByID(a){if(this.parent)return this.parent.getTimeZoneByID(a);if(!this._timezoneCache)return null;if(this._timezoneCache.has(a))return this._timezoneCache.get(a);const i=this.getAllSubcomponents("vtimezone");for(const n of i)if(n.getFirstProperty("tzid").getFirstValue()===a){const o=new pe({component:n,tzid:a});return this._timezoneCache.set(a,o),o}return null}}class Wr{constructor(a){j(this,"complete",!1);j(this,"ruleIterators",null);j(this,"ruleDates",null);j(this,"exDates",null);j(this,"ruleDateInc",0);j(this,"exDateInc",0);j(this,"exDate",null);j(this,"ruleDate",null);j(this,"dtstart",null);j(this,"last",null);this.ruleDates=[],this.exDates=[],this.fromData(a)}fromData(a){let i=Ba(a.dtstart,X);if(i)this.dtstart=i;else throw new Error(".dtstart (ICAL.Time) must be given");if(a.component)this._init(a.component);else{if(this.last=Ba(a.last,X)||i.clone(),!a.ruleIterators)throw new Error(".ruleIterators or .component must be given");this.ruleIterators=a.ruleIterators.map(function(n){return Ba(n,ci)}),this.ruleDateInc=a.ruleDateInc,this.exDateInc=a.exDateInc,a.ruleDates&&(this.ruleDates=a.ruleDates.map(n=>Ba(n,X)),this.ruleDate=this.ruleDates[this.ruleDateInc]),a.exDates&&(this.exDates=a.exDates.map(n=>Ba(n,X)),this.exDate=this.exDates[this.exDateInc]),typeof a.complete<"u"&&(this.complete=a.complete)}}next(){let a,i,n,o=500,s=0;for(;;){if(s++>o)throw new Error("max tries have occurred, rule may be impossible to fulfill.");if(i=this.ruleDate,a=this._nextRecurrenceIter(this.last),!i&&!a){this.complete=!0;break}if((!i||a&&i.compare(a.last)>0)&&(i=a.last.clone(),a.next()),this.ruleDate===i&&this._nextRuleDay(),this.last=i,this.exDate&&(n=this.exDate.compare(this.last),n<0&&this._nextExDay(),n===0)){this._nextExDay();continue}return this.last}}toJSON(){function a(n){return n.toJSON()}let i=Object.create(null);return i.ruleIterators=this.ruleIterators.map(a),this.ruleDates&&(i.ruleDates=this.ruleDates.map(a)),this.exDates&&(i.exDates=this.exDates.map(a)),i.ruleDateInc=this.ruleDateInc,i.exDateInc=this.exDateInc,i.last=this.last.toJSON(),i.dtstart=this.dtstart.toJSON(),i.complete=this.complete,i}_extractDates(a,i){let n=[],o=a.getAllProperties(i);for(let s=0,l=o.length;sf.compare(d));n.splice(r,0,_)}return n}_init(a){if(this.ruleIterators=[],this.last=this.dtstart.clone(),!a.hasProperty("rdate")&&!a.hasProperty("rrule")&&!a.hasProperty("recurrence-id")){this.ruleDate=this.last.clone(),this.complete=!0;return}if(a.hasProperty("rdate")&&(this.ruleDates=this._extractDates(a,"rdate"),this.ruleDates[0]&&this.ruleDates[0].compare(this.dtstart)<0?(this.ruleDateInc=0,this.last=this.ruleDates[0].clone()):this.ruleDateInc=ut(this.ruleDates,this.last,(i,n)=>i.compare(n)),this.ruleDate=this.ruleDates[this.ruleDateInc]),a.hasProperty("rrule")){let i=a.getAllProperties("rrule"),n=0,o=i.length,s,l;for(;ni.compare(n)),this.exDate=this.exDates[this.exDateInc])}_nextExDay(){this.exDate=this.exDates[++this.exDateInc]}_nextRuleDay(){this.ruleDate=this.ruleDates[++this.ruleDateInc]}_nextRecurrenceIter(){let a=this.ruleIterators;if(a.length===0)return null;let i=a.length,n,o,s=0,l;for(;s0)&&(l=n)}return l}}const gi=class gi{constructor(a,i){j(this,"exceptions",null);j(this,"strictExceptions",!1);a instanceof oa||(i=a,a=null),a?this.component=a:this.component=new oa("vevent"),this._rangeExceptionCache=Object.create(null),this.exceptions=Object.create(null),this.rangeExceptions=[],i&&i.strictExceptions&&(this.strictExceptions=i.strictExceptions),i&&i.exceptions?i.exceptions.forEach(this.relateException,this):this.component.parent&&!this.isRecurrenceException()&&this.component.parent.getAllSubcomponents("vevent").forEach(function(n){n.hasProperty("recurrence-id")&&this.relateException(n)},this)}relateException(a){if(this.isRecurrenceException())throw new Error("cannot relate exception to exceptions");if(a instanceof oa&&(a=new gi(a)),this.strictExceptions&&a.uid!==this.uid)throw new Error("attempted to relate unrelated exception");let i=a.recurrenceId.toString();if(this.exceptions[i]=a,a.modifiesFuture()){let n=[a.recurrenceId.toUnixTime(),i],o=ut(this.rangeExceptions,n,hs);this.rangeExceptions.splice(o,0,n)}}modifiesFuture(){return this.component.hasProperty("recurrence-id")?this.component.getFirstProperty("recurrence-id").getParameter("range")===gi.THISANDFUTURE:!1}findRangeException(a){if(!this.rangeExceptions.length)return null;let i=a.toUnixTime(),n=ut(this.rangeExceptions,[i],hs);if(n-=1,n<0)return null;let o=this.rangeExceptions[n];return ia[0]?1:a[0]>e[0]?-1:0}class Qd{constructor(a){j(this,"parseEvent",!0);j(this,"parseTimezone",!0);j(this,"oncomplete",function(){});j(this,"onerror",function(a){});j(this,"ontimezone",function(a){});j(this,"onevent",function(a){});typeof a>"u"&&(a={});for(let[i,n]of Object.entries(a))this[i]=n}process(a){typeof a=="string"&&(a=ce(a)),a instanceof oa||(a=new oa(a));let i=a.getAllSubcomponents(),n=0,o=i.length,s;for(;n=20)return console.error("TimezoneManager.getTimezoneForIdRec() exceeds recursion limits"),null;if(this._aliases.has(a)){const n=this._aliases.get(a);return this._getTimezoneForIdRec(n,i+1)}return null}hasTimezoneForId(a){return this._timezones.has(a)||this._aliases.has(a)}isAlias(a){return!this._timezones.has(a)&&this._aliases.has(a)}listAllTimezones(a=!1){const i=Array.from(this._timezones.keys());return a?i.concat(Array.from(this._aliases.keys())):i}registerTimezone(a){this._timezones.set(a.timezoneId,a),Me.TimezoneService.register(a.timezoneId,a.toICALTimezone()),this._pendingAliases=this._pendingAliases.filter(([i,n])=>n!==a.timezoneId?!0:(Me.TimezoneService.register(i,a.toICALTimezone()),!1))}registerDefaultTimezones(){console.debug("@nextcloud/calendar-js app is using version ".concat(lt.version," of the timezone database"));for(const a in lt.zones)if(Object.prototype.hasOwnProperty.call(lt.zones,[a])){const i=["BEGIN:VTIMEZONE","TZID:"+a,...lt.zones[a].ics,"END:VTIMEZONE"].join("\r\n");this.registerTimezoneFromICS(a,i)}for(const a in lt.aliases)Object.prototype.hasOwnProperty.call(lt.aliases,[a])&&this.registerAlias(a,lt.aliases[a].aliasTo)}registerTimezoneFromICS(a,i){const n=new Oa(a,i);this.registerTimezone(n)}registerAlias(a,i){this._aliases.set(a,i);const n=this.getTimezoneForId(i);if(!n){this._pendingAliases.push([a,i]);return}Me.TimezoneService.register(a,n.toICALTimezone())}unregisterTimezones(a){this._timezones.delete(a),Me.TimezoneService.remove(a)}unregisterAlias(a){this._aliases.delete(a),this._pendingAliases=this._pendingAliases.filter(([i])=>i!==a),Me.TimezoneService.remove(a)}clearAllTimezones(){this._aliases=new Map,this._pendingAliases=[],this._timezones=new Map,Me.TimezoneService.reset(),Ct.registerTimezone(Oa.utc),Ct.registerTimezone(Oa.floating),Ct.registerAlias("GMT",Oa.utc.timezoneId),Ct.registerAlias("Z",Oa.utc.timezoneId)}}const Ct=new ef;Ct.clearAllTimezones();function af(){return Ct}var Qr={exports:{}};(function(e,a){(function(i,n){e.exports=n()})(typeof self<"u"?self:Pa,function(){return(()=>{var i={646:l=>{l.exports=function(_){if(Array.isArray(_)){for(var r=0,f=new Array(_.length);r<_.length;r++)f[r]=_[r];return f}}},713:l=>{l.exports=function(_,r,f){return r in _?Object.defineProperty(_,r,{value:f,enumerable:!0,configurable:!0,writable:!0}):_[r]=f,_}},860:l=>{l.exports=function(_){if(Symbol.iterator in Object(_)||Object.prototype.toString.call(_)==="[object Arguments]")return Array.from(_)}},206:l=>{l.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(l,_,r)=>{var f=r(646),d=r(860),g=r(206);l.exports=function(h){return f(h)||d(h)||g()}},8:l=>{function _(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?l.exports=_=function(f){return typeof f}:l.exports=_=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},_(r)}l.exports=_}},n={};function o(l){var _=n[l];if(_!==void 0)return _.exports;var r=n[l]={exports:{}};return i[l](r,r.exports,o),r.exports}o.n=l=>{var _=l&&l.__esModule?()=>l.default:()=>l;return o.d(_,{a:_}),_},o.d=(l,_)=>{for(var r in _)o.o(_,r)&&!o.o(l,r)&&Object.defineProperty(l,r,{enumerable:!0,get:_[r]})},o.o=(l,_)=>Object.prototype.hasOwnProperty.call(l,_),o.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var s={};return(()=>{o.r(s),o.d(s,{VueSelect:()=>U,default:()=>H,mixins:()=>z});var l=o(319),_=o.n(l),r=o(8),f=o.n(r),d=o(713),g=o.n(d);const h={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(c){var S=this;this.autoscroll&&c&&this.$nextTick(function(){return S.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var c,S=((c=this.$refs.dropdownMenu)===null||c===void 0?void 0:c.children[this.typeAheadPointer])||!1;if(S){var R=this.getDropdownViewport(),B=S.getBoundingClientRect(),V=B.top,L=B.bottom,ie=B.height;if(VR.bottom)return this.$refs.dropdownMenu.scrollTop=S.offsetTop-(R.height-ie)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},u={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var c=0;c=0;c--)if(this.selectable(this.filteredOptions[c])){this.typeAheadPointer=c;break}},typeAheadDown:function(){for(var c=this.typeAheadPointer+1;c0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=c!=null?c:!this.mutableLoading}}};function p(c,S,R,B,V,L,ie,te){var Ee,oe=typeof c=="function"?c.options:c;return S&&(oe.render=S,oe.staticRenderFns=R,oe._compiled=!0),{exports:c,options:oe}}const b={Deselect:p({},function(){var c=this.$createElement,S=this._self._c||c;return S("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[S("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:p({},function(){var c=this.$createElement,S=this._self._c||c;return S("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[S("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},k={inserted:function(c,S,R){var B=R.context;if(B.appendToBody){document.body.appendChild(c);var V=B.$refs.toggle.getBoundingClientRect(),L=V.height,ie=V.top,te=V.left,Ee=V.width,oe=window.scrollX||window.pageXOffset,he=window.scrollY||window.pageYOffset;c.unbindPosition=B.calculatePosition(c,B,{width:Ee+"px",left:oe+te+"px",top:he+ie+L+"px"})}},unbind:function(c,S,R){R.context.appendToBody&&(c.unbindPosition&&typeof c.unbindPosition=="function"&&c.unbindPosition(),c.parentNode&&c.parentNode.removeChild(c))}},A=function(c){var S={};return Object.keys(c).sort().forEach(function(R){S[R]=c[R]}),JSON.stringify(S)};var v=0;const M=function(){return++v};function Y(c,S){var R=Object.keys(c);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(c);S&&(B=B.filter(function(V){return Object.getOwnPropertyDescriptor(c,V).enumerable})),R.push.apply(R,B)}return R}function N(c){for(var S=1;S-1}},filter:{type:Function,default:function(c,S){var R=this;return c.filter(function(B){var V=R.getOptionLabel(B);return typeof V=="number"&&(V=V.toString()),R.filterBy(B,V,S)})}},createOption:{type:Function,default:function(c){return f()(this.optionList[0])==="object"?g()({},this.label,c):c}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(c){return["function","boolean"].includes(f()(c))}},clearSearchOnBlur:{type:Function,default:function(c){var S=c.clearSearchOnSelect,R=c.multiple;return S&&!R}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(c,S){return c}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(c,S,R){var B=R.width,V=R.top,L=R.left;c.style.top=V,c.style.left=L,c.style.width=B}},dropdownShouldOpen:{type:Function,default:function(c){var S=c.noDrop,R=c.open,B=c.mutableLoading;return!S&&R&&!B}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return M()}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return this.value===void 0||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var c=this.value;return this.isTrackingValues&&(c=this.$data._value),c!=null&&c!==""?[].concat(c):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var c=this,S={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:N({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs-".concat(this.uid,"__listbox"),"aria-owns":"vs-".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs-".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return c.isComposing=!0},compositionend:function(){return c.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(R){return c.search=R.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:S,listFooter:S,header:N({},S,{deselect:this.deselect}),footer:N({},S,{deselect:this.deselect})}},childComponents:function(){return N({},b,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var c=this,S=function(L){return c.limit!==null?L.slice(0,c.limit):L},R=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return S(R);var B=this.search.length?this.filter(R,this.search,this):R;if(this.taggable&&this.search.length){var V=this.createOption(this.search);this.optionExists(V)||B.unshift(V)}return S(B)},isValueEmpty:function(){return this.selectedValue.length===0},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(c,S){var R=this;!this.taggable&&(typeof R.resetOnOptionsChange=="function"?R.resetOnOptionsChange(c,S,R.selectedValue):R.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(c){this.isTrackingValues&&this.setInternalValueFromOptions(c)}},multiple:function(){this.clearSelection()},open:function(c){this.$emit(c?"open":"close")},search:function(c){c.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(c){var S=this;Array.isArray(c)?this.$data._value=c.map(function(R){return S.findOptionFromReducedValue(R)}):this.$data._value=this.findOptionFromReducedValue(c)},select:function(c){this.$emit("option:selecting",c),this.isOptionSelected(c)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(c):(this.taggable&&!this.optionExists(c)&&this.$emit("option:created",c),this.multiple&&(c=this.selectedValue.concat(c)),this.updateValue(c),this.$emit("option:selected",c)),this.onAfterSelect(c)},deselect:function(c){var S=this;this.$emit("option:deselecting",c),this.updateValue(this.selectedValue.filter(function(R){return!S.optionComparator(R,c)})),this.$emit("option:deselected",c)},keyboardDeselect:function(c,S){var R,B;this.deselect(c);var V=(R=this.$refs.deselectButtons)===null||R===void 0?void 0:R[S+1],L=(B=this.$refs.deselectButtons)===null||B===void 0?void 0:B[S-1],ie=V!=null?V:L;ie?ie.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(c){var S=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick(function(){return S.$refs.search.focus()})},updateValue:function(c){var S=this;this.value===void 0&&(this.$data._value=c),c!==null&&(c=Array.isArray(c)?c.map(function(R){return S.reduce(R)}):this.reduce(c)),this.$emit("input",c)},toggleDropdown:function(c){var S=c.target!==this.searchEl;S&&c.preventDefault();var R=[].concat(_()(this.$refs.deselectButtons||[]),_()([this.$refs.clearButton]));this.searchEl===void 0||R.filter(Boolean).some(function(B){return B.contains(c.target)||B===c.target})?c.preventDefault():this.open&&S?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(c){var S=this;return this.selectedValue.some(function(R){return S.optionComparator(R,c)})},isOptionDeselectable:function(c){return this.isOptionSelected(c)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(c){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&c===this.typeAheadPointer},optionComparator:function(c,S){return this.getOptionKey(c)===this.getOptionKey(S)},findOptionFromReducedValue:function(c){var S=this,R=[].concat(_()(this.options),_()(this.pushedTags)).filter(function(B){return JSON.stringify(S.reduce(B))===JSON.stringify(c)});return R.length===1?R[0]:R.find(function(B){return S.optionComparator(B,S.$data._value)})||c},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var c=null;this.multiple&&(c=_()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(c)}},optionExists:function(c){var S=this;return this.optionList.some(function(R){return S.optionComparator(R,c)})},optionAriaSelected:function(c){return this.selectable(c)?String(this.isOptionSelected(c)):null},normalizeOptionForSlot:function(c){return f()(c)==="object"?c:g()({},this.label,c)},pushTag:function(c){this.pushedTags.push(c)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var c=this.clearSearchOnSelect,S=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:c,multiple:S})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,this.search.length!==0||this.options.length!==0||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(c,S){this.isKeyboardNavigation=!1,this.selectable(c)&&(this.typeAheadPointer=S)},onSearchKeyDown:function(c){var S=this,R=function(L){if(L.preventDefault(),S.open)return!S.isComposing&&S.typeAheadSelect();S.open=!0},B={8:function(L){return S.maybeDeleteValue()},9:function(L){return S.onTab()},27:function(L){return S.onEscape()},38:function(L){if(L.preventDefault(),S.isKeyboardNavigation=!0,S.open)return S.typeAheadUp();S.open=!0},40:function(L){if(L.preventDefault(),S.isKeyboardNavigation=!0,S.open)return S.typeAheadDown();S.open=!0}};this.selectOnKeyCodes.forEach(function(L){return B[L]=R});var V=this.mapKeydown(B,this);if(typeof V[c.keyCode]=="function")return V[c.keyCode](c)},onSearchKeyPress:function(c){this.open||c.keyCode!==32||(c.preventDefault(),this.open=!0)}}},function(){var c=this,S=c.$createElement,R=c._self._c||S;return R("div",{staticClass:"v-select",class:c.stateClasses,attrs:{id:"v-select-"+c.uid,dir:c.dir}},[c._t("header",null,null,c.scope.header),c._v(" "),R("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[R("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:c.toggleDropdown}},[c._l(c.selectedValue,function(B,V){return c._t("selected-option-container",[R("span",{key:c.getOptionKey(B),staticClass:"vs__selected"},[c._t("selected-option",[c._v("\n "+c._s(c.getOptionLabel(B))+"\n ")],null,c.normalizeOptionForSlot(B)),c._v(" "),c.multiple?R("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:c.disabled,type:"button",title:c.ariaLabelDeselectOption(c.getOptionLabel(B)),"aria-label":c.ariaLabelDeselectOption(c.getOptionLabel(B))},on:{mousedown:function(L){return L.stopPropagation(),c.deselect(B)},keydown:function(L){return!L.type.indexOf("key")&&c._k(L.keyCode,"enter",13,L.key,"Enter")?null:c.keyboardDeselect(B,V)}}},[R(c.childComponents.Deselect,{tag:"component"})],1):c._e()],2)],{option:c.normalizeOptionForSlot(B),deselect:c.deselect,multiple:c.multiple,disabled:c.disabled})}),c._v(" "),c._t("search",[R("input",c._g(c._b({staticClass:"vs__search"},"input",c.scope.search.attributes,!1),c.scope.search.events))],null,c.scope.search)],2),c._v(" "),R("div",{ref:"actions",staticClass:"vs__actions"},[R("button",{directives:[{name:"show",rawName:"v-show",value:c.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:c.disabled,type:"button",title:c.ariaLabelClearSelected,"aria-label":c.ariaLabelClearSelected},on:{click:c.clearSelection}},[R(c.childComponents.Deselect,{tag:"component"})],1),c._v(" "),c.noDrop?c._e():R("button",{ref:"openIndicatorButton",staticClass:"vs__open-indicator-button",attrs:{type:"button",tabindex:"-1","aria-labelledby":"vs-"+c.uid+"__listbox","aria-controls":"vs-"+c.uid+"__listbox","aria-expanded":c.dropdownOpen.toString()},on:{mousedown:c.toggleDropdown}},[c._t("open-indicator",[R(c.childComponents.OpenIndicator,c._b({tag:"component"},"component",c.scope.openIndicator.attributes,!1))],null,c.scope.openIndicator)],2),c._v(" "),c._t("spinner",[R("div",{directives:[{name:"show",rawName:"v-show",value:c.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[c._v("Loading...")])],null,c.scope.spinner)],2)]),c._v(" "),R("transition",{attrs:{name:c.transition}},[c.dropdownOpen?R("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs-"+c.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs-"+c.uid+"__listbox",role:"listbox","aria-label":c.ariaLabelListbox,"aria-multiselectable":c.multiple,tabindex:"-1"},on:{mousedown:function(B){return B.preventDefault(),c.onMousedown(B)},mouseup:c.onMouseUp}},[c._t("list-header",null,null,c.scope.listHeader),c._v(" "),c._l(c.filteredOptions,function(B,V){return R("li",{key:c.getOptionKey(B),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":c.isOptionDeselectable(B)&&V===c.typeAheadPointer,"vs__dropdown-option--selected":c.isOptionSelected(B),"vs__dropdown-option--highlight":V===c.typeAheadPointer,"vs__dropdown-option--kb-focus":c.hasKeyboardFocusBorder(V),"vs__dropdown-option--disabled":!c.selectable(B)},attrs:{id:"vs-"+c.uid+"__option-"+V,role:"option","aria-selected":c.optionAriaSelected(B)},on:{mousemove:function(L){return c.onMouseMove(B,V)},click:function(L){L.preventDefault(),L.stopPropagation(),c.selectable(B)&&c.select(B)}}},[c._t("option",[c._v("\n "+c._s(c.getOptionLabel(B))+"\n ")],null,c.normalizeOptionForSlot(B))],2)}),c._v(" "),c.filteredOptions.length===0?R("li",{staticClass:"vs__no-options"},[c._t("no-options",[c._v("\n Sorry, no matching options.\n ")],null,c.scope.noOptions)],2):c._e(),c._v(" "),c._t("list-footer",null,null,c.scope.listFooter)],2):R("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs-"+c.uid+"__listbox",role:"listbox","aria-label":c.ariaLabelListbox}})]),c._v(" "),c._t("footer",null,null,c.scope.footer)],2)},[]).exports,z={ajax:m,pointer:u,pointerScroll:h},H=U})(),s})()})})(Qr);var _t=Qr.exports;const _0=Math.min,ct=Math.max,d0=Math.round,ji=Math.floor,Da=e=>({x:e,y:e}),tf={left:"right",right:"left",bottom:"top",top:"bottom"},nf={start:"end",end:"start"};function us(e,a,i){return ct(e,_0(a,i))}function jt(e,a){return typeof e=="function"?e(a):e}function at(e){return e.split("-")[0]}function W0(e){return e.split("-")[1]}function bo(e){return e==="x"?"y":"x"}function Kr(e){return e==="y"?"height":"width"}function Dt(e){return["top","bottom"].includes(at(e))?"y":"x"}function Jr(e){return bo(Dt(e))}function of(e,a,i){i===void 0&&(i=!1);const n=W0(e),o=Jr(e),s=Kr(o);let l=o==="x"?n===(i?"end":"start")?"right":"left":n==="start"?"bottom":"top";return a.reference[s]>a.floating[s]&&(l=f0(l)),[l,f0(l)]}function sf(e){const a=f0(e);return[Yn(e),a,Yn(a)]}function Yn(e){return e.replace(/start|end/g,a=>nf[a])}function rf(e,a,i){const n=["left","right"],o=["right","left"],s=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return i?a?o:n:a?n:o;case"left":case"right":return a?s:l;default:return[]}}function lf(e,a,i,n){const o=W0(e);let s=rf(at(e),i==="start",n);return o&&(s=s.map(l=>l+"-"+o),a&&(s=s.concat(s.map(Yn)))),s}function f0(e){return e.replace(/left|right|bottom|top/g,a=>tf[a])}function _f(e){return _e({top:0,right:0,bottom:0,left:0},e)}function df(e){return typeof e!="number"?_f(e):{top:e,right:e,bottom:e,left:e}}function g0(e){const{x:a,y:i,width:n,height:o}=e;return{width:n,height:o,top:i,left:a,right:a+n,bottom:i+o,x:a,y:i}}function Fs(e,a,i){let{reference:n,floating:o}=e;const s=Dt(a),l=Jr(a),_=Kr(l),r=at(a),f=s==="y",d=n.x+n.width/2-o.width/2,g=n.y+n.height/2-o.height/2,h=n[_]/2-o[_]/2;let u;switch(r){case"top":u={x:d,y:n.y-o.height};break;case"bottom":u={x:d,y:n.y+n.height};break;case"right":u={x:n.x+n.width,y:g};break;case"left":u={x:n.x-o.width,y:g};break;default:u={x:n.x,y:n.y}}switch(W0(a)){case"start":u[l]-=h*(i&&f?-1:1);break;case"end":u[l]+=h*(i&&f?-1:1);break}return u}const ff=async(e,a,i)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:l}=i,_=s.filter(Boolean),r=await(l.isRTL==null?void 0:l.isRTL(a));let f=await l.getElementRects({reference:e,floating:a,strategy:o}),{x:d,y:g}=Fs(f,n,r),h=n,u={},m=0;for(let p=0;p<_.length;p++){const{name:b,fn:k}=_[p],{x:A,y:v,data:M,reset:Y}=await k({x:d,y:g,initialPlacement:n,placement:h,strategy:o,middlewareData:u,rects:f,platform:l,elements:{reference:e,floating:a}});d=A!=null?A:d,g=v!=null?v:g,u=Oe(_e({},u),{[b]:_e(_e({},u[b]),M)}),Y&&m<=50&&(m++,typeof Y=="object"&&(Y.placement&&(h=Y.placement),Y.rects&&(f=Y.rects===!0?await l.getElementRects({reference:e,floating:a,strategy:o}):Y.rects),{x:d,y:g}=Fs(f,h,r)),p=-1)}return{x:d,y:g,placement:h,strategy:o,middlewareData:u}};async function Xr(e,a){var i;a===void 0&&(a={});const{x:n,y:o,platform:s,rects:l,elements:_,strategy:r}=e,{boundary:f="clippingAncestors",rootBoundary:d="viewport",elementContext:g="floating",altBoundary:h=!1,padding:u=0}=jt(a,e),m=df(u),p=_[h?g==="floating"?"reference":"floating":g],b=g0(await s.getClippingRect({element:(i=await(s.isElement==null?void 0:s.isElement(p)))==null||i?p:p.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(_.floating)),boundary:f,rootBoundary:d,strategy:r})),k=g==="floating"?{x:n,y:o,width:l.floating.width,height:l.floating.height}:l.reference,A=await(s.getOffsetParent==null?void 0:s.getOffsetParent(_.floating)),v=await(s.isElement==null?void 0:s.isElement(A))?await(s.getScale==null?void 0:s.getScale(A))||{x:1,y:1}:{x:1,y:1},M=g0(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:_,rect:k,offsetParent:A,strategy:r}):k);return{top:(b.top-M.top+m.top)/v.y,bottom:(M.bottom-b.bottom+m.bottom)/v.y,left:(b.left-M.left+m.left)/v.x,right:(M.right-b.right+m.right)/v.x}}const gf=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var i,n;const{placement:o,middlewareData:s,rects:l,initialPlacement:_,platform:r,elements:f}=a,V=jt(e,a),{mainAxis:d=!0,crossAxis:g=!0,fallbackPlacements:h,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:p=!0}=V,b=dn(V,["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment"]);if((i=s.arrow)!=null&&i.alignmentOffset)return{};const k=at(o),A=Dt(_),v=at(_)===_,M=await(r.isRTL==null?void 0:r.isRTL(f.floating)),Y=h||(v||!p?[f0(_)]:sf(_)),N=m!=="none";!h&&N&&Y.push(...lf(_,p,m,M));const U=[_,...Y],z=await Xr(a,b),H=[];let c=((n=s.flip)==null?void 0:n.overflows)||[];if(d&&H.push(z[k]),g){const L=of(o,l,M);H.push(z[L[0]],z[L[1]])}if(c=[...c,{placement:o,overflows:H}],!H.every(L=>L<=0)){var S,R;const L=(((S=s.flip)==null?void 0:S.index)||0)+1,ie=U[L];if(ie)return{data:{index:L,overflows:c},reset:{placement:ie}};let te=(R=c.filter(Ee=>Ee.overflows[0]<=0).sort((Ee,oe)=>Ee.overflows[1]-oe.overflows[1])[0])==null?void 0:R.placement;if(!te)switch(u){case"bestFit":{var B;const Ee=(B=c.filter(oe=>{if(N){const he=Dt(oe.placement);return he===A||he==="y"}return!0}).map(oe=>[oe.placement,oe.overflows.filter(he=>he>0).reduce((he,ke)=>he+ke,0)]).sort((oe,he)=>oe[1]-he[1])[0])==null?void 0:B[0];Ee&&(te=Ee);break}case"initialPlacement":te=_;break}if(o!==te)return{reset:{placement:te}}}return{}}}};async function hf(e,a){const{placement:i,platform:n,elements:o}=e,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),l=at(i),_=W0(i),r=Dt(i)==="y",f=["left","top"].includes(l)?-1:1,d=s&&r?-1:1,g=jt(a,e);let{mainAxis:h,crossAxis:u,alignmentAxis:m}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return _&&typeof m=="number"&&(u=_==="end"?m*-1:m),r?{x:u*d,y:h*f}:{x:h*f,y:u*d}}const uf=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var i,n;const{x:o,y:s,placement:l,middlewareData:_}=a,r=await hf(a,e);return l===((i=_.offset)==null?void 0:i.placement)&&(n=_.arrow)!=null&&n.alignmentOffset?{}:{x:o+r.x,y:s+r.y,data:Oe(_e({},r),{placement:l})}}}},Ff=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){const{x:i,y:n,placement:o}=a,b=jt(e,a),{mainAxis:s=!0,crossAxis:l=!1,limiter:_={fn:k=>{let{x:A,y:v}=k;return{x:A,y:v}}}}=b,r=dn(b,["mainAxis","crossAxis","limiter"]),f={x:i,y:n},d=await Xr(a,r),g=Dt(at(o)),h=bo(g);let u=f[h],m=f[g];if(s){const k=h==="y"?"top":"left",A=h==="y"?"bottom":"right",v=u+d[k],M=u-d[A];u=us(v,u,M)}if(l){const k=g==="y"?"top":"left",A=g==="y"?"bottom":"right",v=m+d[k],M=m-d[A];m=us(v,m,M)}const p=_.fn(Oe(_e({},a),{[h]:u,[g]:m}));return Oe(_e({},p),{data:{x:p.x-i,y:p.y-n,enabled:{[h]:s,[g]:l}}})}}},cf=function(e){return e===void 0&&(e={}),{options:e,fn(a){const{x:i,y:n,placement:o,rects:s,middlewareData:l}=a,{offset:_=0,mainAxis:r=!0,crossAxis:f=!0}=jt(e,a),d={x:i,y:n},g=Dt(o),h=bo(g);let u=d[h],m=d[g];const p=jt(_,a),b=typeof p=="number"?{mainAxis:p,crossAxis:0}:_e({mainAxis:0,crossAxis:0},p);if(r){const v=h==="y"?"height":"width",M=s.reference[h]-s.floating[v]+b.mainAxis,Y=s.reference[h]+s.reference[v]-b.mainAxis;uY&&(u=Y)}if(f){var k,A;const v=h==="y"?"width":"height",M=["top","left"].includes(at(o)),Y=s.reference[g]-s.floating[v]+(M&&((k=l.offset)==null?void 0:k[g])||0)+(M?0:b.crossAxis),N=s.reference[g]+s.reference[v]+(M?0:((A=l.offset)==null?void 0:A[g])||0)-(M?b.crossAxis:0);mN&&(m=N)}return{[h]:u,[g]:m}}}};function Q0(){return typeof window<"u"}function Ut(e){return el(e)?(e.nodeName||"").toLowerCase():"#document"}function sa(e){var a;return(e==null||(a=e.ownerDocument)==null?void 0:a.defaultView)||window}function ka(e){var a;return(a=(el(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function el(e){return Q0()?e instanceof Node||e instanceof sa(e).Node:!1}function ua(e){return Q0()?e instanceof Element||e instanceof sa(e).Element:!1}function ya(e){return Q0()?e instanceof HTMLElement||e instanceof sa(e).HTMLElement:!1}function cs(e){return!Q0()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof sa(e).ShadowRoot}function ki(e){const{overflow:a,overflowX:i,overflowY:n,display:o}=Fa(e);return/auto|scroll|overlay|hidden|clip/.test(a+n+i)&&!["inline","contents"].includes(o)}function mf(e){return["table","td","th"].includes(Ut(e))}function K0(e){return[":popover-open",":modal"].some(a=>{try{return e.matches(a)}catch(i){return!1}})}function Do(e){const a=To(),i=ua(e)?Fa(e):e;return["transform","translate","scale","rotate","perspective"].some(n=>i[n]?i[n]!=="none":!1)||(i.containerType?i.containerType!=="normal":!1)||!a&&(i.backdropFilter?i.backdropFilter!=="none":!1)||!a&&(i.filter?i.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(n=>(i.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(i.contain||"").includes(n))}function pf(e){let a=tt(e);for(;ya(a)&&!Yt(a);){if(Do(a))return a;if(K0(a))return null;a=tt(a)}return null}function To(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Yt(e){return["html","body","#document"].includes(Ut(e))}function Fa(e){return sa(e).getComputedStyle(e)}function J0(e){return ua(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function tt(e){if(Ut(e)==="html")return e;const a=e.assignedSlot||e.parentNode||cs(e)&&e.host||ka(e);return cs(a)?a.host:a}function al(e){const a=tt(e);return Yt(a)?e.ownerDocument?e.ownerDocument.body:e.body:ya(a)&&ki(a)?a:al(a)}function pi(e,a,i){var n;a===void 0&&(a=[]),i===void 0&&(i=!0);const o=al(e),s=o===((n=e.ownerDocument)==null?void 0:n.body),l=sa(o);if(s){const _=qn(l);return a.concat(l,l.visualViewport||[],ki(o)?o:[],_&&i?pi(_):[])}return a.concat(o,pi(o,[],i))}function qn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function tl(e){const a=Fa(e);let i=parseFloat(a.width)||0,n=parseFloat(a.height)||0;const o=ya(e),s=o?e.offsetWidth:i,l=o?e.offsetHeight:n,_=d0(i)!==s||d0(n)!==l;return _&&(i=s,n=l),{width:i,height:n,$:_}}function yo(e){return ua(e)?e:e.contextElement}function Ot(e){const a=yo(e);if(!ya(a))return Da(1);const i=a.getBoundingClientRect(),{width:n,height:o,$:s}=tl(a);let l=(s?d0(i.width):i.width)/n,_=(s?d0(i.height):i.height)/o;return(!l||!Number.isFinite(l))&&(l=1),(!_||!Number.isFinite(_))&&(_=1),{x:l,y:_}}const bf=Da(0);function il(e){const a=sa(e);return!To()||!a.visualViewport?bf:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Df(e,a,i){return a===void 0&&(a=!1),!i||a&&i!==sa(e)?!1:a}function Tt(e,a,i,n){a===void 0&&(a=!1),i===void 0&&(i=!1);const o=e.getBoundingClientRect(),s=yo(e);let l=Da(1);a&&(n?ua(n)&&(l=Ot(n)):l=Ot(e));const _=Df(s,i,n)?il(s):Da(0);let r=(o.left+_.x)/l.x,f=(o.top+_.y)/l.y,d=o.width/l.x,g=o.height/l.y;if(s){const h=sa(s),u=n&&ua(n)?sa(n):n;let m=h,p=qn(m);for(;p&&n&&u!==m;){const b=Ot(p),k=p.getBoundingClientRect(),A=Fa(p),v=k.left+(p.clientLeft+parseFloat(A.paddingLeft))*b.x,M=k.top+(p.clientTop+parseFloat(A.paddingTop))*b.y;r*=b.x,f*=b.y,d*=b.x,g*=b.y,r+=v,f+=M,m=sa(p),p=qn(m)}}return g0({width:d,height:g,x:r,y:f})}function Eo(e,a){const i=J0(e).scrollLeft;return a?a.left+i:Tt(ka(e)).left+i}function nl(e,a,i){i===void 0&&(i=!1);const n=e.getBoundingClientRect(),o=n.left+a.scrollLeft-(i?0:Eo(e,n)),s=n.top+a.scrollTop;return{x:o,y:s}}function Tf(e){let{elements:a,rect:i,offsetParent:n,strategy:o}=e;const s=o==="fixed",l=ka(n),_=a?K0(a.floating):!1;if(n===l||_&&s)return i;let r={scrollLeft:0,scrollTop:0},f=Da(1);const d=Da(0),g=ya(n);if((g||!g&&!s)&&((Ut(n)!=="body"||ki(l))&&(r=J0(n)),ya(n))){const u=Tt(n);f=Ot(n),d.x=u.x+n.clientLeft,d.y=u.y+n.clientTop}const h=l&&!g&&!s?nl(l,r,!0):Da(0);return{width:i.width*f.x,height:i.height*f.y,x:i.x*f.x-r.scrollLeft*f.x+d.x+h.x,y:i.y*f.y-r.scrollTop*f.y+d.y+h.y}}function yf(e){return Array.from(e.getClientRects())}function Ef(e){const a=ka(e),i=J0(e),n=e.ownerDocument.body,o=ct(a.scrollWidth,a.clientWidth,n.scrollWidth,n.clientWidth),s=ct(a.scrollHeight,a.clientHeight,n.scrollHeight,n.clientHeight);let l=-i.scrollLeft+Eo(e);const _=-i.scrollTop;return Fa(n).direction==="rtl"&&(l+=ct(a.clientWidth,n.clientWidth)-o),{width:o,height:s,x:l,y:_}}function kf(e,a){const i=sa(e),n=ka(e),o=i.visualViewport;let s=n.clientWidth,l=n.clientHeight,_=0,r=0;if(o){s=o.width,l=o.height;const f=To();(!f||f&&a==="fixed")&&(_=o.offsetLeft,r=o.offsetTop)}return{width:s,height:l,x:_,y:r}}function Af(e,a){const i=Tt(e,!0,a==="fixed"),n=i.top+e.clientTop,o=i.left+e.clientLeft,s=ya(e)?Ot(e):Da(1),l=e.clientWidth*s.x,_=e.clientHeight*s.y,r=o*s.x,f=n*s.y;return{width:l,height:_,x:r,y:f}}function ms(e,a,i){let n;if(a==="viewport")n=kf(e,i);else if(a==="document")n=Ef(ka(e));else if(ua(a))n=Af(a,i);else{const o=il(e);n={x:a.x-o.x,y:a.y-o.y,width:a.width,height:a.height}}return g0(n)}function ol(e,a){const i=tt(e);return i===a||!ua(i)||Yt(i)?!1:Fa(i).position==="fixed"||ol(i,a)}function wf(e,a){const i=a.get(e);if(i)return i;let n=pi(e,[],!1).filter(_=>ua(_)&&Ut(_)!=="body"),o=null;const s=Fa(e).position==="fixed";let l=s?tt(e):e;for(;ua(l)&&!Yt(l);){const _=Fa(l),r=Do(l);!r&&_.position==="fixed"&&(o=null),(s?!r&&!o:!r&&_.position==="static"&&o&&["absolute","fixed"].includes(o.position)||ki(l)&&!r&&ol(e,l))?n=n.filter(f=>f!==l):o=_,l=tt(l)}return a.set(e,n),n}function Sf(e){let{element:a,boundary:i,rootBoundary:n,strategy:o}=e;const s=[...i==="clippingAncestors"?K0(a)?[]:wf(a,this._c):[].concat(i),n],l=s[0],_=s.reduce((r,f)=>{const d=ms(a,f,o);return r.top=ct(d.top,r.top),r.right=_0(d.right,r.right),r.bottom=_0(d.bottom,r.bottom),r.left=ct(d.left,r.left),r},ms(a,l,o));return{width:_.right-_.left,height:_.bottom-_.top,x:_.left,y:_.top}}function vf(e){const{width:a,height:i}=tl(e);return{width:a,height:i}}function Rf(e,a,i){const n=ya(a),o=ka(a),s=i==="fixed",l=Tt(e,!0,s,a);let _={scrollLeft:0,scrollTop:0};const r=Da(0);if(n||!n&&!s)if((Ut(a)!=="body"||ki(o))&&(_=J0(a)),n){const h=Tt(a,!0,s,a);r.x=h.x+a.clientLeft,r.y=h.y+a.clientTop}else o&&(r.x=Eo(o));const f=o&&!n&&!s?nl(o,_):Da(0),d=l.left+_.scrollLeft-r.x-f.x,g=l.top+_.scrollTop-r.y-f.y;return{x:d,y:g,width:l.width,height:l.height}}function mn(e){return Fa(e).position==="static"}function ps(e,a){if(!ya(e)||Fa(e).position==="fixed")return null;if(a)return a(e);let i=e.offsetParent;return ka(e)===i&&(i=i.ownerDocument.body),i}function sl(e,a){const i=sa(e);if(K0(e))return i;if(!ya(e)){let o=tt(e);for(;o&&!Yt(o);){if(ua(o)&&!mn(o))return o;o=tt(o)}return i}let n=ps(e,a);for(;n&&mf(n)&&mn(n);)n=ps(n,a);return n&&Yt(n)&&mn(n)&&!Do(n)?i:n||pf(e)||i}const Cf=async function(e){const a=this.getOffsetParent||sl,i=this.getDimensions,n=await i(e.floating);return{reference:Rf(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Bf(e){return Fa(e).direction==="rtl"}const Of={convertOffsetParentRelativeRectToViewportRelativeRect:Tf,getDocumentElement:ka,getClippingRect:Sf,getOffsetParent:sl,getElementRects:Cf,getClientRects:yf,getDimensions:vf,getScale:Ot,isElement:ua,isRTL:Bf};function rl(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function Nf(e,a){let i=null,n;const o=ka(e);function s(){var _;clearTimeout(n),(_=i)==null||_.disconnect(),i=null}function l(_,r){_===void 0&&(_=!1),r===void 0&&(r=1),s();const f=e.getBoundingClientRect(),{left:d,top:g,width:h,height:u}=f;if(_||a(),!h||!u)return;const m=ji(g),p=ji(o.clientWidth-(d+h)),b=ji(o.clientHeight-(g+u)),k=ji(d),A={rootMargin:-m+"px "+-p+"px "+-b+"px "+-k+"px",threshold:ct(0,_0(1,r))||1};let v=!0;function M(Y){const N=Y[0].intersectionRatio;if(N!==r){if(!v)return l();N?l(!1,N):n=setTimeout(()=>{l(!1,1e-7)},1e3)}N===1&&!rl(f,e.getBoundingClientRect())&&l(),v=!1}try{i=new IntersectionObserver(M,Oe(_e({},A),{root:o.ownerDocument}))}catch(Y){i=new IntersectionObserver(M,A)}i.observe(e)}return l(!0),s}function xf(e,a,i,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:_=typeof IntersectionObserver=="function",animationFrame:r=!1}=n,f=yo(e),d=o||s?[...f?pi(f):[],...pi(a)]:[];d.forEach(k=>{o&&k.addEventListener("scroll",i,{passive:!0}),s&&k.addEventListener("resize",i)});const g=f&&_?Nf(f,i):null;let h=-1,u=null;l&&(u=new ResizeObserver(k=>{let[A]=k;A&&A.target===f&&u&&(u.unobserve(a),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var v;(v=u)==null||v.observe(a)})),i()}),f&&!r&&u.observe(f),u.observe(a));let m,p=r?Tt(e):null;r&&b();function b(){const k=Tt(e);p&&!rl(p,k)&&i(),p=k,m=requestAnimationFrame(b)}return i(),()=>{var k;d.forEach(A=>{o&&A.removeEventListener("scroll",i),s&&A.removeEventListener("resize",i)}),g==null||g(),(k=u)==null||k.disconnect(),u=null,r&&cancelAnimationFrame(m)}}const Mf=uf,jf=Ff,Yf=gf,qf=cf,Lf=(e,a,i)=>{const n=new Map,o=_e({platform:Of},i),s=Oe(_e({},o.platform),{_c:n});return ff(e,a,Oe(_e({},o),{platform:s}))},Zf={name:"ChevronDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var If=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon chevron-down-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Hf=[],Pf=ne(Zf,If,Hf,!1,null,null);const ll=Pf.exports,_l=(e,a)=>{const i=[];let n=0,o=e.toLowerCase().indexOf(a.toLowerCase(),n),s=0;for(;o>-1&&s[]}},computed:{ranges(){let e=[];return!this.search&&this.highlight.length===0||(this.highlight.length>0?e=this.highlight:e=_l(this.text,this.search),e.forEach((a,i)=>{a.end(i.start0&&a.push({start:i.start<0?0:i.start,end:i.end>this.text.length?this.text.length:i.end}),a),[]),e.sort((a,i)=>a.start-i.start),e=e.reduce((a,i)=>{if(!a.length)a.push(i);else{const n=a.length-1;a[n].end>=i.start?a[n]={start:a[n].start,end:Math.max(a[n].end,i.end)}:a.push(i)}return a},[])),e},chunks(){if(this.ranges.length===0)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];const e=[];let a=0,i=0;for(;a=this.ranges.length&&aa.highlight?e("strong",{},a.text):a.text)):e("span",{},this.text)}},Uf=null,zf=null;var Vf=ne(Gf,Uf,zf,!1,null,null);const X0=Vf.exports,$f={name:"NcEllipsisedOption",components:{NcHighlight:X0},props:{name:{type:String,default:""},search:{type:String,default:""}},computed:{needsTruncate(){return this.name&&this.name.length>=10},split(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2(){return this.needsTruncate?this.name.slice(this.split):""},highlight1(){return this.search?_l(this.name,this.search):[]},highlight2(){return this.highlight1.map(e=>({start:e.start-this.split,end:e.end-this.split}))}}};var Wf=function(){var e=this,a=e._self._c;return a("span",{staticClass:"name-parts",attrs:{dir:"auto",title:e.name}},[a("NcHighlight",{staticClass:"name-parts__first",attrs:{text:e.part1,search:e.search,highlight:e.highlight1}}),e.part2?a("NcHighlight",{staticClass:"name-parts__last",attrs:{text:e.part2,search:e.search,highlight:e.highlight2}}):e._e()],1)},Qf=[],Kf=ne($f,Wf,Qf,!1,null,"f6384352");const Jf=Kf.exports,Xf={name:"NcActionRouter",mixins:[Lr],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{to:{type:[String,Object],default:"",required:!0},exact:{type:Boolean,default:!1}}};var eg=function(){var e=this,a=e._self._c;return a("li",{staticClass:"action",attrs:{role:e.isInSemanticMenu&&"presentation"}},[a("RouterLink",{staticClass:"action-router focusable",attrs:{to:e.to,"aria-label":e.ariaLabel,exact:e.exact,title:e.title,rel:"nofollow noreferrer noopener",role:e.isInSemanticMenu&&"menuitem"},nativeOn:{click:function(i){return e.onClick.apply(null,arguments)}}},[e._t("icon",function(){return[a("span",{staticClass:"action-router__icon",class:[e.isIconUrl?"action-router__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?"url(".concat(e.icon,")"):null},attrs:{"aria-hidden":"true"}})]}),e.name?a("span",{staticClass:"action-router__longtext-wrapper"},[a("strong",{staticClass:"action-router__name"},[e._v(" "+e._s(e.name)+" ")]),a("br"),a("span",{staticClass:"action-router__longtext",domProps:{textContent:e._s(e.text)}})]):e.isLongText?a("span",{staticClass:"action-router__longtext",domProps:{textContent:e._s(e.text)}}):a("span",{staticClass:"action-router__text"},[e._v(e._s(e.text))]),e._e()],2)],1)},ag=[],tg=ne(Xf,eg,ag,!1,null,"579c6b4d");const ig=tg.exports,ng={name:"NcActionText",mixins:[Lr],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}}};var og=function(){var e=this,a=e._self._c;return a("li",{staticClass:"action",attrs:{role:e.isInSemanticMenu&&"presentation"}},[a("span",{staticClass:"action-text",on:{click:e.onClick}},[e._t("icon",function(){return[e.icon!==""?a("span",{staticClass:"action-text__icon",class:[e.isIconUrl?"action-text__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?"url(".concat(e.icon,")"):null},attrs:{"aria-hidden":"true"}}):e._e()]}),e.name?a("span",{staticClass:"action-text__longtext-wrapper"},[a("strong",{staticClass:"action-text__name"},[e._v(" "+e._s(e.name)+" ")]),a("br"),a("span",{staticClass:"action-text__longtext",domProps:{textContent:e._s(e.text)}})]):e.isLongText?a("span",{staticClass:"action-text__longtext",domProps:{textContent:e._s(e.text)}}):a("span",{staticClass:"action-text__text"},[e._v(e._s(e.text))]),e._e()],2)])},sg=[],rg=ne(ng,og,sg,!1,null,"824615f4");const lg=rg.exports,_g='\n\n \n\n',bs='\n\n \n \n\n',dg='\n\n \n \n \n\n',Ds='\n\n \n \n\n';se(M1);const dl=e=>{switch(e){case"away":return x("away");case"busy":return x("busy");case"dnd":return x("do not disturb");case"online":return x("online");case"invisible":return x("invisible");case"offline":return x("offline");default:return e}};se(j1);const fg={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:e=>["online","away","busy","dnd","invisible","offline"].includes(e)},ariaHidden:{type:String,default:null,validator:e=>["true","false"].includes(e)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){var e;return(e=this.status)!=null?e:this.fetchedUserStatus},activeSvg(){var e;return(e={online:_g,away:bs,busy:bs,dnd:dg,invisible:Ds,offline:Ds}[this.activeStatus])!=null?e:null},ariaLabel(){return this.ariaHidden==="true"?null:x("User status: {status}",{status:dl(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(e,a){var i,n,o,s;if(!e||!((n=(i=Zr())==null?void 0:i.user_status)!=null&&n.enabled)){this.fetchedUserStatus=null;return}try{const{data:l}=await Ea.get(et("/apps/user_status/api/v1/statuses/{user}",{user:e}));this.fetchedUserStatus=(s=(o=l.ocs)==null?void 0:o.data)==null?void 0:s.status}catch(l){this.fetchedUserStatus=null}}}}};var gg=function(){var e=this,a=e._self._c;return e.activeStatus?a("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(e.status)},attrs:{role:"img","aria-hidden":e.ariaHidden,"aria-label":e.ariaLabel},domProps:{innerHTML:e._s(e.activeSvg)}}):e._e()},hg=[],ug=ne(fg,gg,hg,!1,null,"0555d8d0");const fl=ug.exports;se(Y1);class Ce{constructor(a,i,n,o){this.r=a,this.g=i,this.b=n,o&&(this.name=o)}get color(){const a=i=>"00".concat(i.toString(16)).slice(-2);return"#".concat(a(this.r)).concat(a(this.g)).concat(a(this.b))}}function Fg(e,a){const i=new Array(3);return i[0]=(a[1].r-a[0].r)/e,i[1]=(a[1].g-a[0].g)/e,i[2]=(a[1].b-a[0].b)/e,i}function pn(e,a,i){const n=[];n.push(a);const o=Fg(e,[a,i]);for(let s=1;s>>32-n},rotr:function(i,n){return i<<32-n|i>>>n},endian:function(i){if(i.constructor==Number)return a.rotl(i,8)&16711935|a.rotl(i,24)&4278255360;for(var n=0;n0;i--)n.push(Math.floor(Math.random()*256));return n},bytesToWords:function(i){for(var n=[],o=0,s=0;o>>5]|=i[o]<<24-s%32;return n},wordsToBytes:function(i){for(var n=[],o=0;o>>5]>>>24-o%32&255);return n},bytesToHex:function(i){for(var n=[],o=0;o>>4).toString(16)),n.push((i[o]&15).toString(16));return n.join("")},hexToBytes:function(i){for(var n=[],o=0;o>>6*(3-l)&63)):n.push("=");return n.join("")},base64ToBytes:function(i){i=i.replace(/[^A-Z0-9+\/]/ig,"");for(var n=[],o=0,s=0;o>>6-s*2);return n}};hl.exports=a})();var pg=hl.exports,Ln={utf8:{stringToBytes:function(e){return Ln.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(Ln.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var a=[],i=0;i>>24)&16711935|(_[u]<<24|_[u]>>>8)&4278255360;_[r>>>5]|=128<>>9<<4)+14]=r;for(var m=o._ff,p=o._gg,b=o._hh,k=o._ii,u=0;u<_.length;u+=16){var A=f,v=d,M=g,Y=h;f=m(f,d,g,h,_[u+0],7,-680876936),h=m(h,f,d,g,_[u+1],12,-389564586),g=m(g,h,f,d,_[u+2],17,606105819),d=m(d,g,h,f,_[u+3],22,-1044525330),f=m(f,d,g,h,_[u+4],7,-176418897),h=m(h,f,d,g,_[u+5],12,1200080426),g=m(g,h,f,d,_[u+6],17,-1473231341),d=m(d,g,h,f,_[u+7],22,-45705983),f=m(f,d,g,h,_[u+8],7,1770035416),h=m(h,f,d,g,_[u+9],12,-1958414417),g=m(g,h,f,d,_[u+10],17,-42063),d=m(d,g,h,f,_[u+11],22,-1990404162),f=m(f,d,g,h,_[u+12],7,1804603682),h=m(h,f,d,g,_[u+13],12,-40341101),g=m(g,h,f,d,_[u+14],17,-1502002290),d=m(d,g,h,f,_[u+15],22,1236535329),f=p(f,d,g,h,_[u+1],5,-165796510),h=p(h,f,d,g,_[u+6],9,-1069501632),g=p(g,h,f,d,_[u+11],14,643717713),d=p(d,g,h,f,_[u+0],20,-373897302),f=p(f,d,g,h,_[u+5],5,-701558691),h=p(h,f,d,g,_[u+10],9,38016083),g=p(g,h,f,d,_[u+15],14,-660478335),d=p(d,g,h,f,_[u+4],20,-405537848),f=p(f,d,g,h,_[u+9],5,568446438),h=p(h,f,d,g,_[u+14],9,-1019803690),g=p(g,h,f,d,_[u+3],14,-187363961),d=p(d,g,h,f,_[u+8],20,1163531501),f=p(f,d,g,h,_[u+13],5,-1444681467),h=p(h,f,d,g,_[u+2],9,-51403784),g=p(g,h,f,d,_[u+7],14,1735328473),d=p(d,g,h,f,_[u+12],20,-1926607734),f=b(f,d,g,h,_[u+5],4,-378558),h=b(h,f,d,g,_[u+8],11,-2022574463),g=b(g,h,f,d,_[u+11],16,1839030562),d=b(d,g,h,f,_[u+14],23,-35309556),f=b(f,d,g,h,_[u+1],4,-1530992060),h=b(h,f,d,g,_[u+4],11,1272893353),g=b(g,h,f,d,_[u+7],16,-155497632),d=b(d,g,h,f,_[u+10],23,-1094730640),f=b(f,d,g,h,_[u+13],4,681279174),h=b(h,f,d,g,_[u+0],11,-358537222),g=b(g,h,f,d,_[u+3],16,-722521979),d=b(d,g,h,f,_[u+6],23,76029189),f=b(f,d,g,h,_[u+9],4,-640364487),h=b(h,f,d,g,_[u+12],11,-421815835),g=b(g,h,f,d,_[u+15],16,530742520),d=b(d,g,h,f,_[u+2],23,-995338651),f=k(f,d,g,h,_[u+0],6,-198630844),h=k(h,f,d,g,_[u+7],10,1126891415),g=k(g,h,f,d,_[u+14],15,-1416354905),d=k(d,g,h,f,_[u+5],21,-57434055),f=k(f,d,g,h,_[u+12],6,1700485571),h=k(h,f,d,g,_[u+3],10,-1894986606),g=k(g,h,f,d,_[u+10],15,-1051523),d=k(d,g,h,f,_[u+1],21,-2054922799),f=k(f,d,g,h,_[u+8],6,1873313359),h=k(h,f,d,g,_[u+15],10,-30611744),g=k(g,h,f,d,_[u+6],15,-1560198380),d=k(d,g,h,f,_[u+13],21,1309151649),f=k(f,d,g,h,_[u+4],6,-145523070),h=k(h,f,d,g,_[u+11],10,-1120210379),g=k(g,h,f,d,_[u+2],15,718787259),d=k(d,g,h,f,_[u+9],21,-343485551),f=f+A>>>0,d=d+v>>>0,g=g+M>>>0,h=h+Y>>>0}return e.endian([f,d,g,h])};o._ff=function(s,l,_,r,f,d,g){var h=s+(l&_|~l&r)+(f>>>0)+g;return(h<>>32-d)+l},o._gg=function(s,l,_,r,f,d,g){var h=s+(l&r|_&~r)+(f>>>0)+g;return(h<>>32-d)+l},o._hh=function(s,l,_,r,f,d,g){var h=s+(l^_^r)+(f>>>0)+g;return(h<>>32-d)+l},o._ii=function(s,l,_,r,f,d,g){var h=s+(_^(l|~r))+(f>>>0)+g;return(h<>>32-d)+l},o._blocksize=16,o._digestsize=16,gl.exports=function(s,l){if(s==null)throw new Error("Illegal argument "+s);var _=e.wordsToBytes(o(s,l));return l&&l.asBytes?_:l&&l.asString?n.bytesToString(_):e.bytesToHex(_)}})();var Tg=gl.exports;const yg=Sr(Tg),ys=function(e){let a=e.toLowerCase();a.match(/^([0-9a-f]{4}-?){8}$/)===null&&(a=yg(a)),a=a.replace(/[^0-9a-f]/g,"");const i=6,n=mg(i);function o(s,l){let _=0;const r=[];for(let f=0;f{const n=window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark")==="invert(100%)";return vr("/avatar"+(i?"/guest":"")+"/{user}/{size}"+(n?"/dark":""),{user:e,size:a})},Fl=q1().detectUser().setApp("@nextcloud/vue").build();function Eg(e){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(a=>a.enabled(e)):[]}const Ao=(e,a)=>{const i=(d,g)=>d.startsWith(g)?d.slice(g.length):d,n=(d,...g)=>g.reduce((h,u)=>i(h,u),d);if(!e)return null;const o=/^https?:\/\//.test(a),s=/^[a-z][a-z0-9+.-]*:.+/.test(a);if(!o&&s||o&&!a.startsWith(Xo())||!o&&!a.startsWith("/"))return null;const l=o?n(a,Xo(),"/index.php"):a,_=n(e.history.base,L1(),"/index.php"),r=n(l,_)||"/",f=e.resolve(r).route;return f.matched.length?f.fullPath:null},kg="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Ag="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",qt=(e,a)=>{for(const i in a)e[i]=a[i];return e},Zn="numeric",In="ascii",Hn="alpha",Xt="asciinumeric",Wt="alphanumeric",Pn="domain",cl="emoji",wg="scheme",Sg="slashscheme",bn="whitespace";function vg(e,a){return e in a||(a[e]=[]),a[e]}function gt(e,a,i){a[Zn]&&(a[Xt]=!0,a[Wt]=!0),a[In]&&(a[Xt]=!0,a[Hn]=!0),a[Xt]&&(a[Wt]=!0),a[Hn]&&(a[Wt]=!0),a[Wt]&&(a[Pn]=!0),a[cl]&&(a[Pn]=!0);for(const n in a){const o=vg(n,i);o.indexOf(e)<0&&o.push(e)}}function Rg(e,a){const i={};for(const n in a)a[n].indexOf(e)>=0&&(i[n]=!0);return i}function na(e=null){this.j={},this.jr=[],this.jd=null,this.t=e}na.groups={},na.prototype={accepts(){return!!this.t},go(e){const a=this,i=a.j[e];if(i)return i;for(let n=0;ne.ta(a,i,n,o),Re=(e,a,i,n,o)=>e.tr(a,i,n,o),Es=(e,a,i,n,o)=>e.ts(a,i,n,o),q=(e,a,i,n,o)=>e.tt(a,i,n,o),Ra="WORD",Gn="UWORD",ml="ASCIINUMERICAL",pl="ALPHANUMERICAL",bi="LOCALHOST",Un="TLD",zn="UTLD",Ki="SCHEME",St="SLASH_SCHEME",wo="NUM",Vn="WS",So="NL",ei="OPENBRACE",ai="CLOSEBRACE",h0="OPENBRACKET",u0="CLOSEBRACKET",F0="OPENPAREN",c0="CLOSEPAREN",m0="OPENANGLEBRACKET",p0="CLOSEANGLEBRACKET",b0="FULLWIDTHLEFTPAREN",D0="FULLWIDTHRIGHTPAREN",T0="LEFTCORNERBRACKET",y0="RIGHTCORNERBRACKET",E0="LEFTWHITECORNERBRACKET",k0="RIGHTWHITECORNERBRACKET",A0="FULLWIDTHLESSTHAN",w0="FULLWIDTHGREATERTHAN",S0="AMPERSAND",vo="APOSTROPHE",v0="ASTERISK",Ha="AT",R0="BACKSLASH",C0="BACKTICK",B0="CARET",Ua="COLON",Ro="COMMA",O0="DOLLAR",ma="DOT",N0="EQUALS",Co="EXCLAMATION",la="HYPHEN",ti="PERCENT",x0="PIPE",M0="PLUS",j0="POUND",ii="QUERY",Bo="QUOTE",bl="FULLWIDTHMIDDLEDOT",Oo="SEMI",pa="SLASH",ni="TILDE",Y0="UNDERSCORE",Dl="EMOJI",q0="SYM";var Tl=Object.freeze({__proto__:null,WORD:Ra,UWORD:Gn,ASCIINUMERICAL:ml,ALPHANUMERICAL:pl,LOCALHOST:bi,TLD:Un,UTLD:zn,SCHEME:Ki,SLASH_SCHEME:St,NUM:wo,WS:Vn,NL:So,OPENBRACE:ei,CLOSEBRACE:ai,OPENBRACKET:h0,CLOSEBRACKET:u0,OPENPAREN:F0,CLOSEPAREN:c0,OPENANGLEBRACKET:m0,CLOSEANGLEBRACKET:p0,FULLWIDTHLEFTPAREN:b0,FULLWIDTHRIGHTPAREN:D0,LEFTCORNERBRACKET:T0,RIGHTCORNERBRACKET:y0,LEFTWHITECORNERBRACKET:E0,RIGHTWHITECORNERBRACKET:k0,FULLWIDTHLESSTHAN:A0,FULLWIDTHGREATERTHAN:w0,AMPERSAND:S0,APOSTROPHE:vo,ASTERISK:v0,AT:Ha,BACKSLASH:R0,BACKTICK:C0,CARET:B0,COLON:Ua,COMMA:Ro,DOLLAR:O0,DOT:ma,EQUALS:N0,EXCLAMATION:Co,HYPHEN:la,PERCENT:ti,PIPE:x0,PLUS:M0,POUND:j0,QUERY:ii,QUOTE:Bo,FULLWIDTHMIDDLEDOT:bl,SEMI:Oo,SLASH:pa,TILDE:ni,UNDERSCORE:Y0,EMOJI:Dl,SYM:q0});const Sa=/[a-z]/,Vt=new RegExp("\\p{L}","u"),Dn=new RegExp("\\p{Emoji}","u"),va=/\d/,Tn=/\s/,ks="\r",yn="\n",Cg="️",Bg="‍",En="";let Yi=null,qi=null;function Og(e=[]){const a={};na.groups=a;const i=new na;Yi==null&&(Yi=As(kg)),qi==null&&(qi=As(Ag)),q(i,"'",vo),q(i,"{",ei),q(i,"}",ai),q(i,"[",h0),q(i,"]",u0),q(i,"(",F0),q(i,")",c0),q(i,"<",m0),q(i,">",p0),q(i,"(",b0),q(i,")",D0),q(i,"「",T0),q(i,"」",y0),q(i,"『",E0),q(i,"』",k0),q(i,"<",A0),q(i,">",w0),q(i,"&",S0),q(i,"*",v0),q(i,"@",Ha),q(i,"`",C0),q(i,"^",B0),q(i,":",Ua),q(i,",",Ro),q(i,"$",O0),q(i,".",ma),q(i,"=",N0),q(i,"!",Co),q(i,"-",la),q(i,"%",ti),q(i,"|",x0),q(i,"+",M0),q(i,"#",j0),q(i,"?",ii),q(i,'"',Bo),q(i,"/",pa),q(i,";",Oo),q(i,"~",ni),q(i,"_",Y0),q(i,"\\",R0),q(i,"・",bl);const n=Re(i,va,wo,{[Zn]:!0});Re(n,va,n);const o=Re(n,Sa,ml,{[Xt]:!0}),s=Re(n,Vt,pl,{[Wt]:!0}),l=Re(i,Sa,Ra,{[In]:!0});Re(l,va,o),Re(l,Sa,l),Re(o,va,o),Re(o,Sa,o);const _=Re(i,Vt,Gn,{[Hn]:!0});Re(_,Sa),Re(_,va,s),Re(_,Vt,_),Re(s,va,s),Re(s,Sa),Re(s,Vt,s);const r=q(i,yn,So,{[bn]:!0}),f=q(i,ks,Vn,{[bn]:!0}),d=Re(i,Tn,Vn,{[bn]:!0});q(i,En,d),q(f,yn,r),q(f,En,d),Re(f,Tn,d),q(d,ks),q(d,yn),Re(d,Tn,d),q(d,En,d);const g=Re(i,Dn,Dl,{[cl]:!0});q(g,"#"),Re(g,Dn,g),q(g,Cg,g);const h=q(g,Bg);q(h,"#"),Re(h,Dn,g);const u=[[Sa,l],[va,o]],m=[[Sa,null],[Vt,_],[va,s]];for(let p=0;pp[0]>b[0]?1:-1);for(let p=0;p=0?k[Pn]=!0:Sa.test(b)?va.test(b)?k[Xt]=!0:k[In]=!0:k[Zn]=!0,Es(i,b,b,k)}return Es(i,"localhost",bi,{ascii:!0}),i.jd=new na(q0),{start:i,tokens:qt({groups:a},Tl)}}function yl(e,a){const i=Ng(a.replace(/[A-Z]/g,_=>_.toLowerCase())),n=i.length,o=[];let s=0,l=0;for(;l=0&&(g+=i[l].length,h++),f+=i[l].length,s+=i[l].length,l++;s-=g,l-=h,f-=g,o.push({t:d.t,v:a.slice(s-f,s),s:s-f,e:s})}return o}function Ng(e){const a=[],i=e.length;let n=0;for(;n56319||n+1===i||(s=e.charCodeAt(n+1))<56320||s>57343?e[n]:e.slice(n,n+2);a.push(l),n+=l.length}return a}function Za(e,a,i,n,o){let s;const l=a.length;for(let _=0;_=0;)s++;if(s>0){a.push(i.join(""));for(let l=parseInt(e.substring(n,n+s),10);l>0;l--)i.pop();n+=s}else i.push(e[n]),n++}return a}const Di={defaultProtocol:"http",events:null,format:ws,formatHref:ws,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function No(e,a=null){let i=qt({},Di);e&&(i=qt(i,e instanceof No?e.o:e));const n=i.ignoreTags,o=[];for(let s=0;si?n.substring(0,i)+"…":n},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e=Di.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const a=this,i=this.toHref(e.get("defaultProtocol")),n=e.get("formatHref",i,this),o=e.get("tagName",i,a),s=this.toFormattedString(e),l={},_=e.get("className",i,a),r=e.get("target",i,a),f=e.get("rel",i,a),d=e.getObj("attributes",i,a),g=e.getObj("events",i,a);return l.href=n,_&&(l.class=_),r&&(l.target=r),f&&(l.rel=f),d&&qt(l,d),{tagName:o,attributes:l,content:s,eventListeners:g}}};function en(e,a){class i extends El{constructor(o,s){super(o,s),this.t=e}}for(const n in a)i.prototype[n]=a[n];return i.t=e,i}const Ss=en("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),vs=en("text"),xg=en("nl"),Li=en("url",{isLink:!0,toHref(e=Di.defaultProtocol){return this.hasProtocol()?this.v:"".concat(e,"://").concat(this.v)},hasProtocol(){const e=this.tk;return e.length>=2&&e[0].t!==bi&&e[1].t===Ua}}),ra=e=>new na(e);function Mg({groups:e}){const a=e.domain.concat([S0,v0,Ha,R0,C0,B0,O0,N0,la,wo,ti,x0,M0,j0,pa,q0,ni,Y0]),i=[Ua,Ro,ma,Co,ti,ii,Bo,Oo,m0,p0,ei,ai,u0,h0,F0,c0,b0,D0,T0,y0,E0,k0,A0,w0],n=[S0,vo,v0,R0,C0,B0,O0,N0,la,ei,ai,ti,x0,M0,j0,ii,pa,q0,ni,Y0],o=ra(),s=q(o,ni);le(s,n,s),le(s,e.domain,s);const l=ra(),_=ra(),r=ra();le(o,e.domain,l),le(o,e.scheme,_),le(o,e.slashscheme,r),le(l,n,s),le(l,e.domain,l);const f=q(l,Ha);q(s,Ha,f),q(_,Ha,f),q(r,Ha,f);const d=q(s,ma);le(d,n,s),le(d,e.domain,s);const g=ra();le(f,e.domain,g),le(g,e.domain,g);const h=q(g,ma);le(h,e.domain,g);const u=ra(Ss);le(h,e.tld,u),le(h,e.utld,u),q(f,bi,u);const m=q(g,la);q(m,la,m),le(m,e.domain,g),le(u,e.domain,g),q(u,ma,h),q(u,la,m);const p=q(u,Ua);le(p,e.numeric,Ss);const b=q(l,la),k=q(l,ma);q(b,la,b),le(b,e.domain,l),le(k,n,s),le(k,e.domain,l);const A=ra(Li);le(k,e.tld,A),le(k,e.utld,A),le(A,e.domain,l),le(A,n,s),q(A,ma,k),q(A,la,b),q(A,Ha,f);const v=q(A,Ua),M=ra(Li);le(v,e.numeric,M);const Y=ra(Li),N=ra();le(Y,a,Y),le(Y,i,N),le(N,a,Y),le(N,i,N),q(A,pa,Y),q(M,pa,Y);const U=q(_,Ua),z=q(r,Ua),H=q(z,pa),c=q(H,pa);le(_,e.domain,l),q(_,ma,k),q(_,la,b),le(r,e.domain,l),q(r,ma,k),q(r,la,b),le(U,e.domain,Y),q(U,pa,Y),q(U,ii,Y),le(c,e.domain,Y),le(c,a,Y),q(c,pa,Y);const S=[[ei,ai],[h0,u0],[F0,c0],[m0,p0],[b0,D0],[T0,y0],[E0,k0],[A0,w0]];for(let R=0;R=0&&h++,o++,d++;if(h<0)o-=d,o0&&(s.push(kn(vs,a,l)),l=[]),o-=h,d-=h;const u=g.t,m=i.slice(o-d,o);s.push(kn(u,a,m))}}return l.length>0&&s.push(kn(vs,a,l)),s}function kn(e,a,i){const n=i[0].s,o=i[i.length-1].e,s=a.slice(n,o);return new e(s,i)}const Ge={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Yg(){Ge.scanner=Og(Ge.customSchemes);for(let e=0;e/g,">")}function qg(e){return e.replace(/"/g,""")}function Lg(e){const a=[];for(const i in e){let n=e[i]+"";a.push("".concat(i,'="').concat(qg(n),'"'))}return a.join(" ")}function Zg({tagName:e,attributes:a,content:i}){return"<".concat(e," ").concat(Lg(a),">").concat(Al(i),"")}function Ig(e,a={}){a=new No(a,Zg);const i=kl(e),n=[];for(let o=0;o\n"):!s.isLink||!a.check(s)?n.push(Al(s.toString())):n.push(a.render(s))}return n.join("")}String.prototype.linkify||Object.defineProperty(String.prototype,"linkify",{writable:!1,value:function(e){return Ig(this,e)}});var wl={exports:{}};(function(e){(function(a){if(typeof i!="function"){var i=function(m){return m};i.nonNative=!0}const n=i("plaintext"),o=i("html"),s=i("comment"),l=/<(\w*)>/g,_=/<\/?([^\s\/>]+)/;function r(m,p,b){m=m||"",p=p||[],b=b||"";let k=d(p,b);return g(m,k)}function f(m,p){m=m||[],p=p||"";let b=d(m,p);return function(k){return g(k||"",b)}}r.init_streaming_mode=f;function d(m,p){return m=h(m),{allowable_tags:m,tag_replacement:p,state:n,tag_buffer:"",depth:0,in_quote_char:""}}function g(m,p){if(typeof m!="string")throw new TypeError("'html' parameter must be a string");let b=p.allowable_tags,k=p.tag_replacement,A=p.state,v=p.tag_buffer,M=p.depth,Y=p.in_quote_char,N="";for(let U=0,z=m.length;U":if(Y)break;if(M){M--;break}Y="",A=n,v+=">",b.has(u(v))?N+=v:N+=k,v="";break;case'"':case"'":H===Y?Y="":Y=Y||H,v+=H;break;case"-":v==="":v.slice(-2)=="--"&&(A=n),v="";break;default:v+=H;break}}return p.state=A,p.tag_buffer=v,p.depth=M,p.in_quote_char=Y,N}function h(m){let p=new Set;if(typeof m=="string"){let b;for(;b=l.exec(m);)p.add(b[1])}else!i.nonNative&&typeof m[i.iterator]=="function"?p=new Set(m):typeof m.forEach=="function"&&m.forEach(p.add,p);return p}function u(m){let p=_.exec(m);return p?p[1].toLowerCase():null}e.exports?e.exports=r:a.striptags=r})(Pa)})(wl);var Hg=wl.exports;const Q3=Sr(Hg);Ta.util.warn;function Sl(e){return G1()?(U1(e),!0):!1}function Wa(e){return typeof e=="function"?e():Z1(e)}const Rs={mounted:"inserted",updated:"componentUpdated",unmounted:"unbind"},vl=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Pg=Object.prototype.toString,Gg=e=>Pg.call(e)==="[object Object]",oi=()=>{},$n=Ug();function Ug(){var e,a;return vl&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((a=window==null?void 0:window.navigator)==null?void 0:a.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function zg(...e){if(e.length!==1)return I1(...e);const a=e[0];return typeof a=="function"?H1(P1(()=>({get:a,set:oi}))):xa(a)}Ta.util.warn;const Rl=vl?window:void 0;function Qt(e){var a;const i=Wa(e);return(a=i==null?void 0:i.$el)!=null?a:i}function Ji(...e){let a,i,n,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([i,n,o]=e,a=Rl):[a,i,n,o]=e,!a)return oi;Array.isArray(i)||(i=[i]),Array.isArray(n)||(n=[n]);const s=[],l=()=>{s.forEach(d=>d()),s.length=0},_=(d,g,h,u)=>(d.addEventListener(g,h,u),()=>d.removeEventListener(g,h,u)),r=oo(()=>[Qt(a),Wa(o)],([d,g])=>{if(l(),!d)return;const h=Gg(g)?_e({},g):g;s.push(...i.flatMap(u=>n.map(m=>_(d,u,m,h))))},{immediate:!0,flush:"post"}),f=()=>{r(),l()};return Sl(f),f}let Cs=!1;function Bs(e,a,i={}){const{window:n=Rl,ignore:o=[],capture:s=!0,detectIframe:l=!1}=i;if(!n)return oi;$n&&!Cs&&(Cs=!0,Array.from(n.document.body.children).forEach(m=>m.addEventListener("click",oi)),n.document.documentElement.addEventListener("click",oi));let _=!0;const r=m=>Wa(o).some(p=>{if(typeof p=="string")return Array.from(n.document.querySelectorAll(p)).some(b=>b===m.target||m.composedPath().includes(b));{const b=Qt(p);return b&&(m.target===b||m.composedPath().includes(b))}});function f(m){const p=Wa(m);return p&&p.$.subTree.shapeFlag===16}function d(m,p){const b=Wa(m),k=b.$.subTree&&b.$.subTree.children;return k==null||!Array.isArray(k)?!1:k.some(A=>A.el===p.target||p.composedPath().includes(A.el))}const g=m=>{const p=Qt(e);if(m.target!=null&&!(!(p instanceof Element)&&f(e)&&d(e,m))&&!(!p||p===m.target||m.composedPath().includes(p))){if(m.detail===0&&(_=!r(m)),!_){_=!0;return}a(m)}};let h=!1;const u=[Ji(n,"click",m=>{h||(h=!0,setTimeout(()=>{h=!1},0),g(m))},{passive:!0,capture:s}),Ji(n,"pointerdown",m=>{const p=Qt(e);_=!r(m)&&!!(p&&!m.composedPath().includes(p))},{passive:!0}),l&&Ji(n,"blur",m=>{setTimeout(()=>{var p;const b=Qt(e);((p=n.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(b!=null&&b.contains(n.document.activeElement))&&a(m)},0)})].filter(Boolean);return()=>u.forEach(m=>m())}const Vg={[Rs.mounted](e,a){const i=!a.modifiers.bubble;if(typeof a.value=="function")e.__onClickOutside_stop=Bs(e,a.value,{capture:i});else{const[n,o]=a.value;e.__onClickOutside_stop=Bs(e,n,Object.assign({capture:i},o))}},[Rs.unmounted](e){e.__onClickOutside_stop()}};function An(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Cl(e){const a=window.getComputedStyle(e);if(a.overflowX==="scroll"||a.overflowY==="scroll"||a.overflowX==="auto"&&e.clientWidth1?!0:(a.preventDefault&&a.preventDefault(),!1)}const wn=new WeakMap;function Wg(e,a=!1){const i=xa(a);let n=null,o="";oo(zg(e),_=>{const r=An(Wa(_));if(r){const f=r;if(wn.get(f)||wn.set(f,f.style.overflow),f.style.overflow!=="hidden"&&(o=f.style.overflow),f.style.overflow==="hidden")return i.value=!0;if(i.value)return f.style.overflow="hidden"}},{immediate:!0});const s=()=>{const _=An(Wa(e));!_||i.value||($n&&(n=Ji(_,"touchmove",r=>{$g(r)},{passive:!1})),_.style.overflow="hidden",i.value=!0)},l=()=>{const _=An(Wa(e));!_||!i.value||($n&&(n==null||n()),_.style.overflow=o,wn.delete(_),i.value=!1)};return Sl(l),Ca({get(){return i.value},set(_){_?s():l()}})}function Qg(){let e=!1;const a=xa(!1);return(i,n)=>{if(a.value=n.value,e)return;e=!0;const o=Wg(i,n.value);oo(a,s=>o.value=s)}}Qg(),se(z1);const Bl={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(e){var i,n;if(!e)return;const a=Zr();if(!(!Object.prototype.hasOwnProperty.call(a,"user_status")||!a.user_status.enabled)&&xn())try{const{data:o}=await Ea.get(et("apps/user_status/api/v1/statuses/{userId}",{userId:e})),{status:s,message:l,icon:_}=o.ocs.data;this.userStatus.status=s,this.userStatus.message=l||"",this.userStatus.icon=_||"",this.hasStatus=!0}catch(o){if(o.response.status===404&&((n=(i=o.response.data.ocs)==null?void 0:i.data)==null?void 0:n.length)===0)return;console.error(o)}}}},Ol=so("nextcloud").persist().build();function Kg(e){const a=Ol.getItem("user-has-avatar."+e);return typeof a=="string"?!!a:null}function Os(e,a){e&&Ol.setItem("user-has-avatar."+e,a)}const Jg={name:"NcAvatar",directives:{ClickOutside:Vg},components:{DotsHorizontal:ro,NcActions:Rr,NcButton:nt,NcIconSvgWrapper:lo,NcLoadingIcon:V0,NcUserStatusIcon:fl},mixins:[Bl],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[String,Object,Element,Boolean],default:"body"}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){var e,a;if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?x("Avatar of {displayName}, {status}",{displayName:(e=this.displayName)!=null?e:this.user,status:dl(this.userStatus.status)}):x("Avatar of {displayName}",{displayName:(a=this.displayName)!=null?a:this.user})},canDisplayUserStatus(){return this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){var e;return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===((e=xn())==null?void 0:e.uid)||this.userDoesNotExist||this.url)},showInitials(){return this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$slots.icon)},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:e,g:a,b:i}=ys(this.userIdentifier);return{backgroundColor:"rgba(".concat(e,", ").concat(a,", ").concat(i,", 0.1)")}},initialsStyle(){const{r:e,g:a,b:i}=ys(this.userIdentifier);return{color:"rgb(".concat(e,", ").concat(a,", ").concat(i,")")}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let e="?";if(this.showInitials){const a=this.userIdentifier.trim();if(a==="")return e;const i=a.match(new RegExp("[\\p{L}\\p{N}\\s]","gu"));if(i==null)return e;const n=i.join(""),o=n.lastIndexOf(" ");e=String.fromCodePoint(n.codePointAt(0)),o!==-1&&(e=e.concat(String.fromCodePoint(n.codePointAt(o+1))))}return e.toLocaleUpperCase()},menu(){const e=this.contactsMenuActions.map(i=>{const n=Ao(this.$router,i.hyperlink);return{ncActionComponent:n?ig:z_,ncActionComponentProps:n?{to:n,icon:i.icon}:{href:i.hyperlink,icon:i.icon},text:i.title}});for(const i of Eg(this.contactsMenuData))try{e.push({ncActionComponent:qr,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>i.callback(this.contactsMenuData)},text:i.displayName(this.contactsMenuData),iconSvg:i.iconSvg(this.contactsMenuData)})}catch(n){Fl.error("Failed to render ContactsMenu action ".concat(i.id),{error:n,action:i})}function a(i){const n=document.createTextNode(i),o=document.createElement("p");return o.appendChild(n),o.innerHTML}if(this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const i='\n '.concat(a(this.userStatus.icon),"\n ");return[{ncActionComponent:lg,ncActionComponentProps:{},iconSvg:this.userStatus.icon?i:void 0,text:"".concat(this.userStatus.message)}].concat(e)}return e}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),fn("settings:avatar:updated",this.loadAvatarUrl),fn("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=this.preloadedUserStatus.status!==null):this.fetchUserStatus(this.user),fn("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroy(){gn("settings:avatar:updated",this.loadAvatarUrl),gn("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&gn("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:x,handleUserStatusUpdated(e){this.user===e.userId&&(this.userStatus={status:e.status,icon:e.icon,message:e.message})},async toggleMenu(e){e.type==="keydown"&&e.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const e=encodeURIComponent(this.user),{data:a}=await Ea.post(vr("contactsmenu/findOne"),"shareType=0&shareWith=".concat(e));this.contactsMenuData=a,this.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions}catch(e){this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const e=this.avatarUrlGenerator(this.user,64),a=[e+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(e,a)}else{const e=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(e)}},avatarUrlGenerator(e,a){var n;let i=ko(e,a,this.isGuest);return e===((n=xn())==null?void 0:n.uid)&&typeof oc_userconfig<"u"&&(i+="?v="+oc_userconfig.avatar.version),i},updateImageIfValid(e,a=null){const i=Kg(this.user);if(this.isUserDefined&&typeof i=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=e,a&&(this.avatarSrcSetLoaded=a),i===!1&&(this.userDoesNotExist=!0);return}const n=new Image;n.onload=()=>{this.avatarUrlLoaded=e,a&&(this.avatarSrcSetLoaded=a),this.isAvatarLoaded=!0,Os(this.user,!0)},n.onerror=()=>{console.debug("Invalid avatar url",e),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,Os(this.user,!1)},a&&(n.srcset=a),n.src=e}}};var Xg=function(){var e=this,a=e._self._c;return a("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":e.userDoesNotExist,"avatardiv--with-menu":e.hasMenu,"avatardiv--with-menu-loading":e.contactsMenuLoading},style:e.avatarStyle},[e._t("icon",function(){return[e.iconClass?a("span",{staticClass:"avatar-class-icon",class:e.iconClass}):e.isAvatarLoaded&&!e.userDoesNotExist?a("img",{attrs:{src:e.avatarUrlLoaded,srcset:e.avatarSrcSetLoaded,alt:""}}):e._e()]}),e.hasMenu&&e.menu.length===0?a("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{type:"tertiary-no-background","aria-label":e.avatarAriaLabel,title:e.tooltip},on:{click:e.toggleMenu},scopedSlots:e._u([{key:"icon",fn:function(){return[e.contactsMenuLoading?a("NcLoadingIcon"):a("DotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,2617833509)}):e.hasMenu?a("NcActions",{attrs:{"force-menu":"","manual-open":"",type:"tertiary-no-background",container:e.menuContainer,open:e.contactsMenuOpenState,"aria-label":e.avatarAriaLabel,title:e.tooltip},on:{"update:open":function(i){e.contactsMenuOpenState=i},click:e.toggleMenu},scopedSlots:e._u([e.contactsMenuLoading?{key:"icon",fn:function(){return[a("NcLoadingIcon")]},proxy:!0}:null],null,!0)},e._l(e.menu,function(i,n){return a(i.ncActionComponent,e._g(e._b({key:n,tag:"component",scopedSlots:e._u([i.iconSvg?{key:"icon",fn:function(){return[a("NcIconSvgWrapper",{attrs:{svg:i.iconSvg}})]},proxy:!0}:null],null,!0)},"component",i.ncActionComponentProps,!1),i.ncActionComponentHandlers),[e._v(" "+e._s(i.text)+" ")])}),1):e._e(),e.showUserStatusIconOnAvatar?a("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[e._v(" "+e._s(e.userStatus.icon)+" ")]):e.canDisplayUserStatus?a("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:e.userStatus.status,"aria-hidden":String(e.hasMenu)}}):e._e(),e.showInitials?a("span",{staticClass:"avatardiv__initials-wrapper",style:e.initialsWrapperStyle},[a("span",{staticClass:"avatardiv__initials",style:e.initialsStyle},[e._v(" "+e._s(e.initials)+" ")])]):e._e()],2)},eh=[],ah=ne(Jg,Xg,eh,!1,null,"5db0bd58");const Nl=ah.exports,th=8,Ns=32,ih={name:"NcListItemIcon",components:{NcAvatar:Nl,NcHighlight:X0,NcIconSvgWrapper:lo},mixins:[Bl],props:{name:{type:String,required:!0},subname:{type:String,default:""},icon:{type:String,default:""},iconSvg:{type:String,default:""},iconName:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:Ns},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},setup(){return{margin:th,defaultSize:Ns}},computed:{hasIcon(){return this.icon!==""},hasIconSvg(){return this.iconSvg!==""},isValidSubname(){var e,a;return((a=(e=this.subname)==null?void 0:e.trim)==null?void 0:a.call(e))!==""},isSizeBigEnough(){return this.avatarSize>=26},cssVars(){const e=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*e+"px","--margin":this.margin+"px"}},searchParts(){const e=/^([^<]*)<([^>]+)>?$/,a=this.search.match(e);return this.isNoUser||!a?[this.search,this.search]:[a[1].trim(),a[2]]}},beforeMount(){!this.isNoUser&&!this.subname&&this.fetchUserStatus(this.user)}};var nh=function(){var e=this,a=e._self._c;return a("span",e._g({staticClass:"option",class:{"option--compact":e.avatarSize_e(_e({},e),a.props),{})),{ariaLabelClearSelected:{type:String,default:x("Clear selected")},ariaLabelCombobox:{type:String,default:null},ariaLabelListbox:{type:String,default:x("Options")},ariaLabelDeselectOption:{type:Function,default:e=>x("Deselect {option}",{option:e})},appendToBody:{type:Boolean,default:!0},calculatePosition:{type:Function,default:null},closeOnSelect:{type:Boolean,default:!0},components:{type:Object,default:()=>({Deselect:{render:e=>e(_o,{props:{size:20,fillColor:"var(--vs-controls-color)"},style:{cursor:"pointer"}})}})},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},dropdownShouldOpen:{type:Function,default:({noDrop:e,open:a})=>e?!1:a},filterBy:{type:Function,default:null},inputClass:{type:[String,Object],default:null},inputId:{type:String,default:()=>"select-input-".concat(pt())},inputLabel:{type:String,default:null},labelOutside:{type:Boolean,default:!1},keyboardFocusBorder:{type:Boolean,default:!0},label:{type:String,default:null},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},mapKeydown:{type:Function,default(e,a){return Oe(_e({},e),{27:i=>{a.open&&i.stopPropagation(),e[27](i)}})}},uid:{type:String,default:()=>pt()},placement:{type:String,default:"bottom"},resetFocusOnOptionsChange:{type:Boolean,default:!0},userSelect:{type:Boolean,default:!1},value:{type:[String,Number,Object,Array],default:void 0},modelValue:{type:[String,Number,Object,Array],default:null},required:{type:Boolean,default:!1}," ":{}}),emits:[" ","input","update:modelValue","update:model-value"],setup(){const e=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),a=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline")),i=e-2*a,n=ot("value","input");return{avatarSize:i,model:n}},data(){return{search:""}},computed:{inputRequired(){return this.required?this.model===null||Array.isArray(this.model)&&this.model.length===0:null},localCalculatePosition(){return this.calculatePosition!==null?this.calculatePosition:(e,a,{width:i})=>{e.style.width=i;const n={name:"addClass",fn(l){return e.classList.add("vs__dropdown-menu--floating"),{}}},o={name:"togglePlacementClass",fn({placement:l}){return a.$el.classList.toggle("select--drop-up",l==="top"),e.classList.toggle("vs__dropdown-menu--floating-placement-top",l==="top"),{}}},s=()=>{Lf(a.$refs.toggle,e,{placement:this.placement,middleware:[Mf(-1),n,o,Yf(),jf({limiter:qf()})]}).then(({x:l,y:_})=>{Object.assign(e.style,{left:"".concat(l,"px"),top:"".concat(_,"px"),width:"".concat(a.$refs.toggle.getBoundingClientRect().width,"px")})})};return xf(a.$refs.toggle,e,s)}},localFilterBy(){const e=/[^<]*<([^>]+)/;return this.filterBy!==null?this.filterBy:this.userSelect?(a,i,n)=>{var s,l,_;const o=n.match(e);return o&&((_=(l=(s=a.subname)==null?void 0:s.toLocaleLowerCase)==null?void 0:l.call(s))==null?void 0:_.indexOf(o[1].toLocaleLowerCase()))>-1||"".concat(i," ").concat(a.subname).toLocaleLowerCase().indexOf(n.toLocaleLowerCase())>-1}:_t.VueSelect.props.filterBy.default},localLabel(){return this.label!==null?this.label:this.userSelect?"displayName":_t.VueSelect.props.label.default},propsToForward(){const e=[...Object.keys(_t.VueSelect.props),..._t.VueSelect.mixins.flatMap(a=>{var i;return Object.keys((i=a.props)!=null?i:{})})];return Oe(_e({},Object.fromEntries(Object.entries(this.$props).filter(([a,i])=>e.includes(a)))),{value:this.model,calculatePosition:this.localCalculatePosition,filterBy:this.localFilterBy,label:this.localLabel})},listenersToForward(){return Oe(_e({},this.$listeners),{input:e=>{this.model=e}})}},mounted(){!this.labelOutside&&!this.inputLabel&&!this.ariaLabelCombobox&&Ta.util.warn("[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`."),this.inputLabel&&this.ariaLabelCombobox&&Ta.util.warn("[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.")},methods:{t:x}};var _h=function(){var e=this,a=e._self._c;return a("VueSelect",e._g(e._b({staticClass:"select",class:{"select--no-wrap":e.noWrap,"user-select":e.userSelect},on:{search:i=>e.search=i},scopedSlots:e._u([!e.labelOutside&&e.inputLabel?{key:"header",fn:function(){return[a("label",{staticClass:"select__label",attrs:{for:e.inputId}},[e._v(" "+e._s(e.inputLabel)+" ")])]},proxy:!0}:null,{key:"search",fn:function({attributes:i,events:n}){return[a("input",e._g(e._b({class:["vs__search",e.inputClass],attrs:{required:e.inputRequired,dir:"auto"}},"input",i,!1),n))]}},{key:"open-indicator",fn:function({attributes:i}){return[a("ChevronDown",e._b({style:{cursor:e.disabled?null:"pointer"},attrs:{"fill-color":"var(--vs-controls-color)",size:26}},"ChevronDown",i,!1))]}},{key:"option",fn:function(i){return[e.userSelect?a("NcListItemIcon",e._b({attrs:{"avatar-size":32,name:i[e.localLabel],search:e.search}},"NcListItemIcon",i,!1)):a("NcEllipsisedOption",{attrs:{name:String(i[e.localLabel]),search:e.search}})]}},{key:"selected-option",fn:function(i){return[e.userSelect?a("NcListItemIcon",e._b({attrs:{"avatar-size":e.avatarSize,name:i[e.localLabel],"no-margin":"",search:e.search}},"NcListItemIcon",i,!1)):a("NcEllipsisedOption",{attrs:{name:String(i[e.localLabel]),search:e.search}})]}},{key:"spinner",fn:function(i){return[i.loading?a("NcLoadingIcon"):e._e()]}},{key:"no-options",fn:function(){return[e._v(" "+e._s(e.t("No results"))+" ")]},proxy:!0},e._l(e.$scopedSlots,function(i,n){return{key:n,fn:function(o){return[e._t(n,null,null,o)]}}})],null,!0)},"VueSelect",e.propsToForward,!1),e.listenersToForward))},dh=[],fh=ne(lh,_h,dh,!1,null,null);const an=fh.exports;se($1);function gh(e=[],a=[]){const i={},n=[];for(const o of e){const s=o.split("/");let[l,_]=[s.shift(),s.join("/")];_||(_=l,l=x("Global")),i[l]=i[l]||{continent:l,regions:[]},i[l].regions.push({label:xl(_),cities:[],timezoneId:o})}for(const o of a){const{continent:s,label:l,timezoneId:_}=o;i[s]=i[s]||{continent:s,regions:[]},i[s].regions.push({label:l,cities:[],timezoneId:_})}for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&(i[o].regions.sort((s,l)=>s.labelo.continent[]},value:{type:String,default:void 0},modelValue:{type:String,default:"floating"},uid:{type:[String,Number],default:()=>"tz-".concat(pt(5))}},emits:["input","update:modelValue","update:model-value"],setup(){return{model:ot("value","input")}},computed:{placeholder(){return x("Type to search time zone")},selectedTimezone(){for(const e of this.additionalTimezones)if(e.timezoneId===this.model)return e;return{label:xl(this.model),timezoneId:this.model}},options(){const e=hh(),a=gh(e.listAllTimezones(),this.additionalTimezones);let i=[];return Object.values(a).forEach(n=>{i=i.concat(n.regions)}),i}},methods:{t:x,change(e){e&&(this.model=e.timezoneId)},isSelectable(e){return!e.timezoneId.startsWith("tz-group__")},filterBy(e,a,i){const n=i.trim().split(" ");return e.timezoneId.startsWith("tz-group__")?e.regions.some(o=>this.matchTimezoneId(o.timezoneId,n)):this.matchTimezoneId(e.timezoneId,n)},matchTimezoneId(e,a){return a.every(i=>e.toLowerCase().includes(i.toLowerCase()))}}};var Fh=function(){var e=this,a=e._self._c;return a("NcSelect",{attrs:{"aria-label-combobox":e.t("Search for time zone"),clearable:!1,"filter-by":e.filterBy,multiple:!1,options:e.options,placeholder:e.placeholder,selectable:e.isSelectable,uid:e.uid,value:e.selectedTimezone,label:"label"},on:{"option:selected":e.change}})},ch=[],mh=ne(uh,Fh,ch,!1,null,null);const ph=mh.exports;function Ml(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function tn(e){return Ml(e)?new Date(e.getTime()):e==null?new Date(NaN):new Date(e)}function bh(e){return Ml(e)&&!isNaN(e.getTime())}function jl(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(a>=0&&a<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var i=tn(e),n=i.getDay(),o=(n+7-a)%7;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function Yl(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.firstDayOfWeek,n=i===void 0?0:i,o=a.firstWeekContainsDate,s=o===void 0?1:o;if(!(s>=1&&s<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var l=tn(e),_=l.getFullYear(),r=new Date(0),f=_+1;f>=_-1&&(r.setFullYear(f,0,s),r.setHours(0,0,0,0),r=jl(r,n),!(l.getTime()>=r.getTime()));f--);return r}function xo(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.firstDayOfWeek,n=i===void 0?0:i,o=a.firstWeekContainsDate,s=o===void 0?1:o,l=tn(e),_=jl(l,n),r=Yl(l,{firstDayOfWeek:n,firstWeekContainsDate:s}),f=_.getTime()-r.getTime();return Math.round(f/(7*24*3600*1e3))+1}var ql={months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],firstDayOfWeek:0,firstWeekContainsDate:1},Dh=/\[([^\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;function ia(e){for(var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,i="".concat(Math.abs(e)),n=e<0?"-":"";i.length1&&arguments[1]!==void 0?arguments[1]:"",i=e>0?"-":"+",n=Math.abs(e),o=Math.floor(n/60),s=n%60;return i+ia(o,2)+a+ia(s,2)}var qs=function(e,a,i){var n=e<12?"AM":"PM";return i?n.toLocaleLowerCase():n},si={Y:function(e){var a=e.getFullYear();return a<=9999?"".concat(a):"+".concat(a)},YY:function(e){return ia(e.getFullYear(),4).substr(2)},YYYY:function(e){return ia(e.getFullYear(),4)},M:function(e){return e.getMonth()+1},MM:function(e){return ia(e.getMonth()+1,2)},MMM:function(e,a){return a.monthsShort[e.getMonth()]},MMMM:function(e,a){return a.months[e.getMonth()]},D:function(e){return e.getDate()},DD:function(e){return ia(e.getDate(),2)},H:function(e){return e.getHours()},HH:function(e){return ia(e.getHours(),2)},h:function(e){var a=e.getHours();return a===0?12:a>12?a%12:a},hh:function(){var e=si.h.apply(si,arguments);return ia(e,2)},m:function(e){return e.getMinutes()},mm:function(e){return ia(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return ia(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return ia(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return ia(e.getMilliseconds(),3)},d:function(e){return e.getDay()},dd:function(e,a){return a.weekdaysMin[e.getDay()]},ddd:function(e,a){return a.weekdaysShort[e.getDay()]},dddd:function(e,a){return a.weekdays[e.getDay()]},A:function(e,a){var i=a.meridiem||qs;return i(e.getHours(),e.getMinutes(),!1)},a:function(e,a){var i=a.meridiem||qs;return i(e.getHours(),e.getMinutes(),!0)},Z:function(e){return Ys(js(e),":")},ZZ:function(e){return Ys(js(e))},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()},w:function(e,a){return xo(e,{firstDayOfWeek:a.firstDayOfWeek,firstWeekContainsDate:a.firstWeekContainsDate})},ww:function(e,a){return ia(si.w(e,a),2)}};function nn(e,a){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=a?String(a):"YYYY-MM-DDTHH:mm:ss.SSSZ",o=tn(e);if(!bh(o))return"Invalid Date";var s=i.locale||ql;return n.replace(Dh,function(l,_){return _||(typeof si[l]=="function"?"".concat(si[l](o,s)):l)})}function Ls(e){return Eh(e)||yh(e)||Th()}function Th(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function yh(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function Eh(e){if(Array.isArray(e)){for(var a=0,i=new Array(e.length);a68?i-1:i)*100+n,za({},Sn,n)}),me("YYYY",Bh,Sn),me("M",vt,function(e){return za({},Zi,parseInt(e,10)-1)}),me("MM",Ia,function(e){return za({},Zi,parseInt(e,10)-1)}),me("MMM",ri("monthsShort"),li("monthsShort",Zi)),me("MMMM",ri("months"),li("months",Zi)),me("D",vt,Is),me("DD",Ia,Is),me(["H","h"],vt,Hs),me(["HH","hh"],Ia,Hs),me("m",vt,Ps),me("mm",Ia,Ps),me("s",vt,Gs),me("ss",Ia,Gs),me("S",Ll,function(e){return za({},vn,parseInt(e,10)*100)}),me("SS",Ia,function(e){return za({},vn,parseInt(e,10)*10)}),me("SSS",Ch,vn);function Mh(e){return e.meridiemParse||/[ap]\.?m?\.?/i}function jh(e){return"".concat(e).toLowerCase().charAt(0)==="p"}me(["A","a"],Mh,function(e,a){var i=typeof a.isPM=="function"?a.isPM(e):jh(e);return{isPM:i}});function Yh(e){var a=e.match(/([+-]|\d\d)/g)||["-","0","0"],i=Ah(a,3),n=i[0],o=i[1],s=i[2],l=parseInt(o,10)*60+parseInt(s,10);return l===0?0:n==="+"?-l:+l}me(["Z","ZZ"],Oh,function(e){return{offset:Yh(e)}}),me("x",Zl,function(e){return{date:new Date(parseInt(e,10))}}),me("X",Nh,function(e){return{date:new Date(parseFloat(e)*1e3)}}),me("d",Ll,"weekday"),me("dd",ri("weekdaysMin"),li("weekdaysMin","weekday")),me("ddd",ri("weekdaysShort"),li("weekdaysShort","weekday")),me("dddd",ri("weekdays"),li("weekdays","weekday")),me("w",vt,"week"),me("ww",Ia,"week");function qh(e,a){if(e!==void 0&&a!==void 0){if(a){if(e<12)return e+12}else if(e===12)return 0}return e}function Lh(e){for(var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Date,i=[0,0,1,0,0,0,0],n=[a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds()],o=!0,s=0;s<7;s++)e[s]===void 0?i[s]=o?n[s]:i[s]:(i[s]=e[s],o=!1);return i}function Zh(e,a,i,n,o,s,l){var _;return e<100&&e>=0?(_=new Date(e+400,a,i,n,o,s,l),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,i,n,o,s,l),_}function Ih(){for(var e,a=arguments.length,i=new Array(a),n=0;n=0?(i[0]+=400,e=new Date(Date.UTC.apply(Date,i)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(o)):e=new Date(Date.UTC.apply(Date,i)),e}function Hh(e,a,i){var n=a.match(Rh);if(!n)throw new Error;for(var o=n.length,s={},l=0;l2&&arguments[2]!==void 0?arguments[2]:{};try{var n=i.locale,o=n===void 0?ql:n,s=i.backupDate,l=s===void 0?new Date:s,_=Hh(e,a,o),r=_.year,f=_.month,d=_.day,g=_.hour,h=_.minute,u=_.second,m=_.millisecond,p=_.isPM,b=_.date,k=_.offset,A=_.weekday,v=_.week;if(b)return b;var M=[r,f,d,g,h,u,m];if(M[3]=qh(M[3],p),v!==void 0&&f===void 0&&d===void 0){var Y=Yl(r===void 0?l:new Date(r,3),{firstDayOfWeek:o.firstDayOfWeek,firstWeekContainsDate:o.firstWeekContainsDate});return new Date(Y.getTime()+(v-1)*7*24*3600*1e3)}var N,U=Lh(M,l);return k!==void 0?(U[6]+=k*60*1e3,N=Ih.apply(void 0,Ls(U))):N=Zh.apply(void 0,Ls(U)),A!==void 0&&N.getDay()!==A?new Date(NaN):N}catch(z){return new Date(NaN)}}function Xi(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Xi=function(a){return typeof a}:Xi=function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},Xi(e)}function ht(e,a,i){return a in e?Object.defineProperty(e,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[a]=i,e}function Wn(){return Wn=Object.assign||function(e){for(var a=1;a=0)&&(i[o]=e[o]);return i}function Uh(e,a){if(e==null)return{};var i=Gh(e,a),n,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function _i(e,a){return zh(e)||Vh(e,a)||$h(e,a)||Wh()}function zh(e){if(Array.isArray(e))return e}function Vh(e,a){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var i=[],n=!0,o=!1,s=void 0;try{for(var l=e[Symbol.iterator](),_;!(n=(_=l.next()).done)&&(i.push(_.value),!(a&&i.length===a));n=!0);}catch(r){o=!0,s=r}finally{try{!n&&l.return!=null&&l.return()}finally{if(o)throw s}}return i}}function $h(e,a){if(e){if(typeof e=="string")return zs(e,a);var i=Object.prototype.toString.call(e).slice(8,-1);if(i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set")return Array.from(i);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return zs(e,a)}}function zs(e,a){(a==null||a>e.length)&&(a=e.length);for(var i=0,n=new Array(a);i1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0,_=new Date(e,a,i,n,o,s,l);return e<100&&e>=0&&_.setFullYear(e),_}function Ma(e){return e instanceof Date&&!isNaN(e)}function on(e){return Array.isArray(e)&&e.length===2&&e.every(Ma)&&e[0]<=e[1]}function au(e){return Array.isArray(e)&&e.every(Ma)}function Lt(e){var a=new Date(e);if(Ma(a))return a;for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o1&&arguments[1]!==void 0?arguments[1]:document.body;if(!e||e===a)return null;var i=function(s,l){return getComputedStyle(s,null).getPropertyValue(l)},n=/(auto|scroll)/,o=n.test(i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x"));return o?e:sn(e.parentNode,a)}var hu={name:"Popup",inject:{prefixClass:{default:"mx"}},props:{visible:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!0}},data:function(){return{top:"",left:""}},watch:{visible:{immediate:!0,handler:function(e){var a=this;this.$nextTick(function(){e&&a.displayPopup()})}}},mounted:function(){var e=this;this.appendToBody&&document.body.appendChild(this.$el),this._clickoutEvent="ontouchend"in document?"touchstart":"mousedown",document.addEventListener(this._clickoutEvent,this.handleClickOutside);var a=this.$parent.$el;this._displayPopup=du(function(){return e.displayPopup()}),this._scrollParent=sn(a)||window,this._scrollParent.addEventListener("scroll",this._displayPopup),window.addEventListener("resize",this._displayPopup)},beforeDestroy:function(){this.appendToBody&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el),document.removeEventListener(this._clickoutEvent,this.handleClickOutside),this._scrollParent.removeEventListener("scroll",this._displayPopup),window.removeEventListener("resize",this._displayPopup)},methods:{handleClickOutside:function(e){if(this.visible){var a=e.target,i=this.$el;i&&!i.contains(a)&&this.$emit("clickoutside",e)}},displayPopup:function(){if(this.visible){var e=this.$el,a=this.$parent.$el,i=this.appendToBody;this._popupRect||(this._popupRect=fu(e));var n=this._popupRect,o=n.width,s=n.height,l=gu(a,o,s,i),_=l.left,r=l.top;this.left=_,this.top=r}}}};function da(e,a,i,n,o,s,l,_,r,f){var d=typeof i=="function"?i.options:i;return e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0),i}var uu=hu,Fu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("transition",{attrs:{name:e.prefixClass+"-zoom-in-down"}},[e.visible?i("div",{class:e.prefixClass+"-datepicker-main "+e.prefixClass+"-datepicker-popup",style:{top:e.top,left:e.left,position:"absolute"}},[e._t("default")],2):e._e()])},cu=[],mu=void 0,pu=da({render:Fu,staticRenderFns:cu},mu,uu),bu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[i("path",{attrs:{d:"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z"}})])},Du=[],Tu=void 0,yu=da({render:bu,staticRenderFns:Du},Tu,{}),Eu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"}},[i("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}}),e._v(" "),i("path",{attrs:{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}}),e._v(" "),i("path",{attrs:{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"}})])},ku=[],Au=void 0,wu=da({render:Eu,staticRenderFns:ku},Au,{}),Su=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[i("path",{attrs:{d:"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z"}})])},vu=[],Ru=void 0,Cu=da({render:Su,staticRenderFns:vu},Ru,{}),Bu={props:{type:String,disabled:Boolean},inject:{prefixClass:{default:"mx"}}},Ou=Bu,Nu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("button",e._g({class:[e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-icon-"+e.type,{disabled:e.disabled}],attrs:{type:"button",disabled:e.disabled}},e.$listeners),[i("i",{class:e.prefixClass+"-icon-"+e.type})])},xu=[],Mu=void 0,jo=da({render:Nu,staticRenderFns:xu},Mu,Ou),ju={name:"TableDate",components:{IconButton:jo},inject:{getLocale:{default:function(){return Ht}},getWeek:{default:function(){return xo}},prefixClass:{default:"mx"},onDateMouseEnter:{default:void 0},onDateMouseLeave:{default:void 0}},props:{disabledCalendarChanger:{type:Function,default:function(){return!1}},calendar:{type:Date,default:function(){return new Date}},showWeekNumber:{type:Boolean,default:!1},titleFormat:{type:String,default:"YYYY-MM-DD"},getRowClasses:{type:Function,default:function(){return[]}},getCellClasses:{type:Function,default:function(){return[]}}},computed:{firstDayOfWeek:function(){return this.getLocale().formatLocale.firstDayOfWeek||0},yearMonth:function(){var e=this.getLocale(),a=e.yearFormat,i=e.monthBeforeYear,n=e.monthFormat,o=n===void 0?"MMM":n,s={panel:"year",label:this.formatDate(this.calendar,a)},l={panel:"month",label:this.formatDate(this.calendar,o)};return i?[l,s]:[s,l]},days:function(){var e=this.getLocale(),a=e.days||e.formatLocale.weekdaysMin;return a.concat(a).slice(this.firstDayOfWeek,this.firstDayOfWeek+7)},dates:function(){var e=this.calendar.getFullYear(),a=this.calendar.getMonth(),i=nu({firstDayOfWeek:this.firstDayOfWeek,year:e,month:a});return Mo(i,7)}},methods:{isDisabledArrows:function(e){var a=new Date(this.calendar);switch(e){case"last-year":a.setFullYear(a.getFullYear()-1,a.getMonth()+1,0),a.setHours(23,59,59,999);break;case"next-year":a.setFullYear(a.getFullYear()+1);break;case"last-month":a.setMonth(a.getMonth(),0),a.setHours(23,59,59,999);break;case"next-month":a.setMonth(a.getMonth()+1);break}return this.disabledCalendarChanger(a,e)},handleIconLeftClick:function(){this.$emit("changecalendar",Jn(this.calendar,function(e){return e-1}),"last-month")},handleIconRightClick:function(){this.$emit("changecalendar",Jn(this.calendar,function(e){return e+1}),"next-month")},handleIconDoubleLeftClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e-1}),"last-year")},handleIconDoubleRightClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e+1}),"next-year")},handlePanelChange:function(e){this.$emit("changepanel",e)},handleMouseEnter:function(e){typeof this.onDateMouseEnter=="function"&&this.onDateMouseEnter(e)},handleMouseLeave:function(e){typeof this.onDateMouseLeave=="function"&&this.onDateMouseLeave(e)},handleCellClick:function(e){var a=e.target;a.tagName.toUpperCase()==="DIV"&&(a=a.parentNode);var i=a.getAttribute("data-row-col");if(i){var n=i.split(",").map(function(r){return parseInt(r,10)}),o=_i(n,2),s=o[0],l=o[1],_=this.dates[s][l];this.$emit("select",new Date(_))}},formatDate:function(e,a){return nn(e,a,{locale:this.getLocale().formatLocale})},getCellTitle:function(e){var a=this.titleFormat;return this.formatDate(e,a)},getWeekNumber:function(e){return this.getWeek(e,this.getLocale().formatLocale)}}},Yu=ju,qu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{class:e.prefixClass+"-calendar "+e.prefixClass+"-calendar-panel-date"},[i("div",{class:e.prefixClass+"-calendar-header"},[i("icon-button",{attrs:{type:"double-left",disabled:e.isDisabledArrows("last-year")},on:{click:e.handleIconDoubleLeftClick}}),e._v(" "),i("icon-button",{attrs:{type:"left",disabled:e.isDisabledArrows("last-month")},on:{click:e.handleIconLeftClick}}),e._v(" "),i("icon-button",{attrs:{type:"double-right",disabled:e.isDisabledArrows("next-year")},on:{click:e.handleIconDoubleRightClick}}),e._v(" "),i("icon-button",{attrs:{type:"right",disabled:e.isDisabledArrows("next-month")},on:{click:e.handleIconRightClick}}),e._v(" "),i("span",{class:e.prefixClass+"-calendar-header-label"},e._l(e.yearMonth,function(n){return i("button",{key:n.panel,class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-current-"+n.panel,attrs:{type:"button"},on:{click:function(o){return e.handlePanelChange(n.panel)}}},[e._v("\n "+e._s(n.label)+"\n ")])}),0)],1),e._v(" "),i("div",{class:e.prefixClass+"-calendar-content"},[i("table",{class:e.prefixClass+"-table "+e.prefixClass+"-table-date"},[i("thead",[i("tr",[e.showWeekNumber?i("th",{class:e.prefixClass+"-week-number-header"}):e._e(),e._v(" "),e._l(e.days,function(n){return i("th",{key:n},[e._v(e._s(n))])})],2)]),e._v(" "),i("tbody",{on:{click:e.handleCellClick}},e._l(e.dates,function(n,o){return i("tr",{key:o,class:[e.prefixClass+"-date-row",e.getRowClasses(n)]},[e.showWeekNumber?i("td",{class:e.prefixClass+"-week-number",attrs:{"data-row-col":o+",0"}},[e._v("\n "+e._s(e.getWeekNumber(n[0]))+"\n ")]):e._e(),e._v(" "),e._l(n,function(s,l){return i("td",{key:l,staticClass:"cell",class:e.getCellClasses(s),attrs:{"data-row-col":o+","+l,title:e.getCellTitle(s)},on:{mouseenter:function(_){return e.handleMouseEnter(s)},mouseleave:function(_){return e.handleMouseLeave(s)}}},[i("div",[e._v(e._s(s.getDate()))])])})],2)}),0)])])])},Lu=[],Zu=void 0,Iu=da({render:qu,staticRenderFns:Lu},Zu,Yu),Hu={name:"TableMonth",components:{IconButton:jo},inject:{getLocale:{default:function(){return Ht}},prefixClass:{default:"mx"}},props:{disabledCalendarChanger:{type:Function,default:function(){return!1}},calendar:{type:Date,default:function(){return new Date}},getCellClasses:{type:Function,default:function(){return[]}}},computed:{calendarYear:function(){return this.calendar.getFullYear()},months:function(){var e=this.getLocale(),a=e.months||e.formatLocale.monthsShort,i=a.map(function(n,o){return{text:n,month:o}});return Mo(i,3)}},methods:{isDisabledArrows:function(e){var a=new Date(this.calendar);switch(e){case"last-year":a.setFullYear(a.getFullYear()-1,11,31),a.setHours(23,59,59,999);break;case"next-year":a.setFullYear(a.getFullYear()+1,0,1);break}return this.disabledCalendarChanger(a,e)},handleIconDoubleLeftClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e-1}),"last-year")},handleIconDoubleRightClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e+1}),"next-year")},handlePanelChange:function(){this.$emit("changepanel","year")},handleClick:function(e){var a=e.target;a.tagName.toUpperCase()==="DIV"&&(a=a.parentNode);var i=a.getAttribute("data-month");i&&!a.classList.contains("disabled")&&this.$emit("select",parseInt(i,10))}}},Pu=Hu,Gu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{class:e.prefixClass+"-calendar "+e.prefixClass+"-calendar-panel-month"},[i("div",{class:e.prefixClass+"-calendar-header"},[i("icon-button",{attrs:{type:"double-left",disabled:e.isDisabledArrows("last-year")},on:{click:e.handleIconDoubleLeftClick}}),e._v(" "),i("icon-button",{attrs:{type:"double-right",disabled:e.isDisabledArrows("next-year")},on:{click:e.handleIconDoubleRightClick}}),e._v(" "),i("span",{class:e.prefixClass+"-calendar-header-label"},[i("button",{class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text",attrs:{type:"button"},on:{click:e.handlePanelChange}},[e._v("\n "+e._s(e.calendarYear)+"\n ")])])],1),e._v(" "),i("div",{class:e.prefixClass+"-calendar-content"},[i("table",{class:e.prefixClass+"-table "+e.prefixClass+"-table-month",on:{click:e.handleClick}},e._l(e.months,function(n,o){return i("tr",{key:o},e._l(n,function(s,l){return i("td",{key:l,staticClass:"cell",class:e.getCellClasses(s.month),attrs:{"data-month":s.month}},[i("div",[e._v(e._s(s.text))])])}),0)}),0)])])},Uu=[],zu=void 0,Vu=da({render:Gu,staticRenderFns:Uu},zu,Pu),$u={name:"TableYear",components:{IconButton:jo},inject:{prefixClass:{default:"mx"}},props:{disabledCalendarChanger:{type:Function,default:function(){return!1}},calendar:{type:Date,default:function(){return new Date}},getCellClasses:{type:Function,default:function(){return[]}},getYearPanel:{type:Function}},computed:{years:function(){var e=new Date(this.calendar);return typeof this.getYearPanel=="function"?this.getYearPanel(e):this.getYears(e)},firstYear:function(){return this.years[0][0]},lastYear:function(){var e=function(a){return a[a.length-1]};return e(e(this.years))}},methods:{isDisabledArrows:function(e){var a=new Date(this.calendar);switch(e){case"last-decade":a.setFullYear(this.firstYear-1,11,31),a.setHours(23,59,59,999);break;case"next-decade":a.setFullYear(this.lastYear+1,0,1);break}return this.disabledCalendarChanger(a,e)},getYears:function(e){for(var a=Math.floor(e.getFullYear()/10)*10,i=[],n=0;n<10;n++)i.push(a+n);return Mo(i,2)},handleIconDoubleLeftClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e-10}),"last-decade")},handleIconDoubleRightClick:function(){this.$emit("changecalendar",Zt(this.calendar,function(e){return e+10}),"next-decade")},handleClick:function(e){var a=e.target;a.tagName.toUpperCase()==="DIV"&&(a=a.parentNode);var i=a.getAttribute("data-year");i&&!a.classList.contains("disabled")&&this.$emit("select",parseInt(i,10))}}},Wu=$u,Qu=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{class:e.prefixClass+"-calendar "+e.prefixClass+"-calendar-panel-year"},[i("div",{class:e.prefixClass+"-calendar-header"},[i("icon-button",{attrs:{type:"double-left",disabled:e.isDisabledArrows("last-decade")},on:{click:e.handleIconDoubleLeftClick}}),e._v(" "),i("icon-button",{attrs:{type:"double-right",disabled:e.isDisabledArrows("next-decade")},on:{click:e.handleIconDoubleRightClick}}),e._v(" "),i("span",{class:e.prefixClass+"-calendar-header-label"},[i("span",[e._v(e._s(e.firstYear))]),e._v(" "),i("span",{class:e.prefixClass+"-calendar-decade-separator"}),e._v(" "),i("span",[e._v(e._s(e.lastYear))])])],1),e._v(" "),i("div",{class:e.prefixClass+"-calendar-content"},[i("table",{class:e.prefixClass+"-table "+e.prefixClass+"-table-year",on:{click:e.handleClick}},e._l(e.years,function(n,o){return i("tr",{key:o},e._l(n,function(s,l){return i("td",{key:l,staticClass:"cell",class:e.getCellClasses(s),attrs:{"data-year":s}},[i("div",[e._v(e._s(s))])])}),0)}),0)])])},Ku=[],Ju=void 0,Xu=da({render:Qu,staticRenderFns:Ku},Ju,Wu),mt={name:"CalendarPanel",inject:{prefixClass:{default:"mx"},dispatchDatePicker:{default:function(){return function(){}}}},props:{value:{},defaultValue:{default:function(){var e=new Date;return e.setHours(0,0,0,0),e}},defaultPanel:{type:String},disabledCalendarChanger:{type:Function,default:function(){return!1}},disabledDate:{type:Function,default:function(){return!1}},type:{type:String,default:"date"},getClasses:{type:Function,default:function(){return[]}},showWeekNumber:{type:Boolean,default:void 0},getYearPanel:{type:Function},titleFormat:{type:String,default:"YYYY-MM-DD"},calendar:Date,partialUpdate:{type:Boolean,default:!1}},data:function(){var e=["date","month","year"],a=Math.max(e.indexOf(this.type),e.indexOf(this.defaultPanel)),i=a!==-1?e[a]:"date";return{panel:i,innerCalendar:new Date}},computed:{innerValue:function(){var e=Array.isArray(this.value)?this.value:[this.value],a={year:tu,month:Kn,date:iu},i=a[this.type]||a.date;return e.filter(Ma).map(function(n){return i(n)})},calendarYear:function(){return this.innerCalendar.getFullYear()},calendarMonth:function(){return this.innerCalendar.getMonth()}},watch:{value:{immediate:!0,handler:"initCalendar"},calendar:{handler:"initCalendar"},defaultValue:{handler:"initCalendar"}},methods:{initCalendar:function(){var e=this.calendar;if(!Ma(e)){var a=this.innerValue.length;e=Lt(a>0?this.innerValue[a-1]:this.defaultValue)}this.innerCalendar=Kn(e)},isDisabled:function(e){return this.disabledDate(new Date(e),this.innerValue)},emitDate:function(e,a){this.isDisabled(e)||(this.$emit("select",e,a,this.innerValue),this.dispatchDatePicker("pick",e,a))},handleCalendarChange:function(e,a){var i=new Date(this.innerCalendar);this.innerCalendar=e,this.$emit("update:calendar",e),this.dispatchDatePicker("calendar-change",e,i,a)},handelPanelChange:function(e){var a=this.panel;this.panel=e,this.dispatchDatePicker("panel-change",e,a)},handleSelectYear:function(e){if(this.type==="year"){var a=this.getYearCellDate(e);this.emitDate(a,"year")}else if(this.handleCalendarChange(Na(e,this.calendarMonth),"year"),this.handelPanelChange("month"),this.partialUpdate&&this.innerValue.length===1){var i=new Date(this.innerValue[0]);i.setFullYear(e),this.emitDate(i,"year")}},handleSelectMonth:function(e){if(this.type==="month"){var a=this.getMonthCellDate(e);this.emitDate(a,"month")}else if(this.handleCalendarChange(Na(this.calendarYear,e),"month"),this.handelPanelChange("date"),this.partialUpdate&&this.innerValue.length===1){var i=new Date(this.innerValue[0]);i.setFullYear(this.calendarYear),this.emitDate(Jn(i,e),"month")}},handleSelectDate:function(e){this.emitDate(e,this.type==="week"?"week":"date")},getMonthCellDate:function(e){return Na(this.calendarYear,e)},getYearCellDate:function(e){return Na(e,0)},getDateClasses:function(e){var a=e.getMonth()!==this.calendarMonth,i=[];e.getTime()===new Date().setHours(0,0,0,0)&&i.push("today"),a&&i.push("not-current-month");var n=this.getStateClass(e);return n==="active"&&a||i.push(n),i.concat(this.getClasses(e,this.innerValue,i.join(" ")))},getMonthClasses:function(e){var a=[];if(this.type!=="month"){this.calendarMonth===e&&a.push("active");var i=this.getMonthCellDate(e);return this.disabledCalendarChanger(i,"month")&&a.push("disabled"),a}var n=this.getMonthCellDate(e);return a.push(this.getStateClass(n)),a.concat(this.getClasses(n,this.innerValue,a.join(" ")))},getYearClasses:function(e){var a=[];if(this.type!=="year"){this.calendarYear===e&&a.push("active");var i=this.getYearCellDate(e);return this.disabledCalendarChanger(i,"year")&&a.push("disabled"),a}var n=this.getYearCellDate(e);return a.push(this.getStateClass(n)),a.concat(this.getClasses(n,this.innerValue,a.join(" ")))},getStateClass:function(e){return this.isDisabled(e)?"disabled":this.innerValue.some(function(a){return a.getTime()===e.getTime()})?"active":""},getWeekState:function(e){if(this.type!=="week")return"";var a=e[0].getTime(),i=e[6].getTime(),n=this.innerValue.some(function(o){var s=o.getTime();return s>=a&&s<=i});return n?"".concat(this.prefixClass,"-active-week"):""}},render:function(){var e=arguments[0],a=this.panel,i=this.innerCalendar;return a==="year"?e(Xu,{attrs:{disabledCalendarChanger:this.disabledCalendarChanger,calendar:i,getCellClasses:this.getYearClasses,getYearPanel:this.getYearPanel},on:{select:this.handleSelectYear,changecalendar:this.handleCalendarChange}}):a==="month"?e(Vu,{attrs:{disabledCalendarChanger:this.disabledCalendarChanger,calendar:i,getCellClasses:this.getMonthClasses},on:{select:this.handleSelectMonth,changepanel:this.handelPanelChange,changecalendar:this.handleCalendarChange}}):e(Iu,{attrs:{disabledCalendarChanger:this.disabledCalendarChanger,calendar:i,getCellClasses:this.getDateClasses,getRowClasses:this.getWeekState,titleFormat:this.titleFormat,showWeekNumber:typeof this.showWeekNumber=="boolean"?this.showWeekNumber:this.type==="week"},class:ht({},"".concat(this.prefixClass,"-calendar-week-mode"),this.type==="week"),on:{select:this.handleSelectDate,changepanel:this.handelPanelChange,changecalendar:this.handleCalendarChange}})}},di={name:"CalendarRange",components:{CalendarPanel:mt},provide:function(){return{onDateMouseEnter:this.onDateMouseEnter,onDateMouseLeave:this.onDateMouseLeave}},inject:{prefixClass:{default:"mx"}},props:Te({},mt.props),data:function(){return{innerValue:[],calendars:[],hoveredValue:null}},computed:{calendarMinDiff:function(){var e={date:1,month:12,year:120};return e[this.type]||e.date},calendarMaxDiff:function(){return 1/0},defaultValues:function(){return Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue,this.defaultValue]}},watch:{value:{immediate:!0,handler:function(){var e=this;this.innerValue=on(this.value)?this.value:[new Date(NaN),new Date(NaN)];var a=this.innerValue.map(function(i,n){return Kn(Lt(i,e.defaultValues[n]))});this.updateCalendars(a)}}},methods:{handleSelect:function(e,a){var i=_i(this.innerValue,2),n=i[0],o=i[1];Ma(n)&&!Ma(o)?(n.getTime()>e.getTime()?this.innerValue=[e,n]:this.innerValue=[n,e],this.emitDate(this.innerValue,a)):this.innerValue=[e,new Date(NaN)]},onDateMouseEnter:function(e){this.hoveredValue=e},onDateMouseLeave:function(){this.hoveredValue=null},emitDate:function(e,a){this.$emit("select",e,a)},updateStartCalendar:function(e){this.updateCalendars([e,this.calendars[1]],1)},updateEndCalendar:function(e){this.updateCalendars([this.calendars[0],e],0)},updateCalendars:function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=this.getCalendarGap(e);if(i){var n=new Date(e[a]);n.setMonth(n.getMonth()+(a===0?-i:i)),e[a]=n}this.calendars=e},getCalendarGap:function(e){var a=_i(e,2),i=a[0],n=a[1],o=n.getFullYear()-i.getFullYear(),s=n.getMonth()-i.getMonth(),l=o*12+s,_=this.calendarMinDiff,r=this.calendarMaxDiff;return l<_?_-l:l>r?r-l:0},getRangeClasses:function(e,a,i){var n=[].concat(this.getClasses(e,a,i));if(/disabled|active/.test(i))return n;var o=function(s,l){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(m){return m.getTime()},r=_(s),f=l.map(_),d=_i(f,2),g=d[0],h=d[1];if(g>h){var u=[h,g];g=u[0],h=u[1]}return r>g&&r"u")return 0;if(Ii!==void 0)return Ii;var e=document.createElement("div");e.style.visibility="hidden",e.style.overflow="scroll",e.style.width="100px",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);var a=document.createElement("div");return a.style.width="100%",e.appendChild(a),Ii=e.offsetWidth-a.offsetWidth,e.parentNode.removeChild(e),Ii}var aF={inject:{prefixClass:{default:"mx"}},data:function(){return{scrollbarWidth:0,thumbTop:"",thumbHeight:""}},created:function(){this.scrollbarWidth=eF(),document.addEventListener("mouseup",this.handleDragend)},beforeDestroy:function(){document.addEventListener("mouseup",this.handleDragend)},mounted:function(){this.$nextTick(this.getThumbSize)},methods:{getThumbSize:function(){var e=this.$refs.wrap;if(e){var a=e.clientHeight*100/e.scrollHeight;this.thumbHeight=a<100?"".concat(a,"%"):""}},handleScroll:function(e){var a=e.currentTarget,i=a.scrollHeight,n=a.scrollTop;this.thumbTop="".concat(n*100/i,"%")},handleDragstart:function(e){e.stopImmediatePropagation(),this._draggable=!0;var a=this.$refs.thumb.offsetTop;this._prevY=e.clientY-a,document.addEventListener("mousemove",this.handleDraging)},handleDraging:function(e){if(this._draggable){var a=e.clientY,i=this.$refs.wrap,n=i.scrollHeight,o=i.clientHeight,s=a-this._prevY,l=s*n/o;i.scrollTop=l}},handleDragend:function(){this._draggable&&(this._draggable=!1,document.removeEventListener("mousemove",this.handleDraging))}}},tF=aF,iF=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{class:e.prefixClass+"-scrollbar",style:{position:"relative",overflow:"hidden"}},[i("div",{ref:"wrap",class:e.prefixClass+"-scrollbar-wrap",style:{marginRight:"-"+e.scrollbarWidth+"px"},on:{scroll:e.handleScroll}},[e._t("default")],2),e._v(" "),i("div",{class:e.prefixClass+"-scrollbar-track"},[i("div",{ref:"thumb",class:e.prefixClass+"-scrollbar-thumb",style:{height:e.thumbHeight,top:e.thumbTop},on:{mousedown:e.handleDragstart}})])])},nF=[],oF=void 0,Gl=da({render:iF,staticRenderFns:nF},oF,tF),Rn=function(e){return e=parseInt(e,10),e<10?"0".concat(e):"".concat(e)},Cn=function(e,a,i){if(Array.isArray(i))return i.filter(function(s){return s>=0&&s2&&arguments[2]!==void 0?arguments[2]:0;if(n<=0){requestAnimationFrame(function(){a.scrollTop=i});return}var o=i-a.scrollTop,s=o/n*10;requestAnimationFrame(function(){var l=a.scrollTop+s;if(l>=i){a.scrollTop=i;return}a.scrollTop=l,e(a,i,n-10)})},rF={name:"ListColumns",components:{ScrollbarVertical:Gl},inject:{prefixClass:{default:"mx"}},props:{date:Date,scrollDuration:{type:Number,default:100},getClasses:{type:Function,default:function(){return[]}},hourOptions:Array,minuteOptions:Array,secondOptions:Array,showHour:{type:Boolean,default:!0},showMinute:{type:Boolean,default:!0},showSecond:{type:Boolean,default:!0},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},use12h:{type:Boolean,default:!1}},computed:{columns:function(){var e=[];return this.showHour&&e.push({type:"hour",list:this.getHoursList()}),this.showMinute&&e.push({type:"minute",list:this.getMinutesList()}),this.showSecond&&e.push({type:"second",list:this.getSecondsList()}),this.use12h&&e.push({type:"ampm",list:this.getAMPMList()}),e.filter(function(a){return a.list.length>0})}},watch:{date:{handler:function(){var e=this;this.$nextTick(function(){e.scrollToSelected(e.scrollDuration)})}}},mounted:function(){this.scrollToSelected(0)},methods:{getHoursList:function(){var e=this;return Cn(this.use12h?12:24,this.hourStep,this.hourOptions).map(function(a){var i=new Date(e.date),n=Rn(a);e.use12h&&(a===0&&(n="12"),i.getHours()>=12&&(a+=12));var o=i.setHours(a);return{value:o,text:n}})},getMinutesList:function(){var e=this;return Cn(60,this.minuteStep,this.minuteOptions).map(function(a){var i=new Date(e.date).setMinutes(a);return{value:i,text:Rn(a)}})},getSecondsList:function(){var e=this;return Cn(60,this.secondStep,this.secondOptions).map(function(a){var i=new Date(e.date).setSeconds(a);return{value:i,text:Rn(a)}})},getAMPMList:function(){var e=this;return["AM","PM"].map(function(a,i){var n=new Date(e.date),o=n.setHours(n.getHours()%12+i*12);return{text:a,value:o}})},scrollToSelected:function(e){for(var a=this.$el.querySelectorAll(".active"),i=0;i0&&arguments[0]!==void 0?arguments[0]:"",a=e.split(":");if(a.length>=2){var i=parseInt(a[0],10),n=parseInt(a[1],10);return{hours:i,minutes:n}}return null}var hF=function(e,a){e&&(e.scrollTop=a)},uF={name:"ListOptions",components:{ScrollbarVertical:Gl},inject:{getLocale:{default:function(){return Ht}},prefixClass:{default:"mx"}},props:{date:Date,options:{type:[Object,Function],default:function(){return[]}},format:{type:String,default:"HH:mm:ss"},getClasses:{type:Function,default:function(){return[]}}},computed:{list:function(){var e=[],a=this.options;if(typeof a=="function")return a()||[];var i=Bn(a.start),n=Bn(a.end),o=Bn(a.step),s=a.format||this.format;if(i&&n&&o)for(var l=i.minutes+i.hours*60,_=n.minutes+n.hours*60,r=o.minutes+o.hours*60,f=Math.floor((_-l)/r),d=0;d<=f;d++){var g=l+d*r,h=Math.floor(g/60),u=g%60,m=new Date(this.date).setHours(h,u,0);e.push({value:m,text:this.formatDate(m,s)})}return e}},mounted:function(){this.scrollToSelected()},methods:{formatDate:function(e,a){return nn(e,a,{locale:this.getLocale().formatLocale})},scrollToSelected:function(){var e=this.$el.querySelector(".active");if(e){var a=sn(e,this.$el);if(a){var i=e.offsetTop;hF(a,i)}}},handleSelect:function(e){this.$emit("select",e,"time")}}},FF=uF,cF=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("scrollbar-vertical",e._l(e.list,function(n){return i("div",{key:n.value,class:[e.prefixClass+"-time-option",e.getClasses(n.value)],on:{click:function(o){return e.handleSelect(n.value)}}},[e._v("\n "+e._s(n.text)+"\n ")])}),0)},mF=[],pF=void 0,bF=da({render:cF,staticRenderFns:mF},pF,FF),DF={name:"TimePanel",components:{ListColumns:gF,ListOptions:bF},inject:{getLocale:{default:function(){return Ht}},prefixClass:{default:"mx"}},props:{value:{},defaultValue:{default:function(){var e=new Date;return e.setHours(0,0,0,0),e}},format:{default:"HH:mm:ss"},timeTitleFormat:{type:String,default:"YYYY-MM-DD"},showTimeHeader:{type:Boolean,default:!1},disabledTime:{type:Function,default:function(){return!1}},timePickerOptions:{type:[Object,Function],default:function(){return null}},hourOptions:Array,minuteOptions:Array,secondOptions:Array,hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},showHour:{type:Boolean,default:void 0},showMinute:{type:Boolean,default:void 0},showSecond:{type:Boolean,default:void 0},use12h:{type:Boolean,default:void 0},scrollDuration:{type:Number,default:100}},data:function(){return{innerValue:Lt(this.value,this.defaultValue)}},computed:{title:function(){var e=this.timeTitleFormat,a=new Date(this.innerValue);return this.formatDate(a,e)},innerForamt:function(){return typeof this.format=="string"?this.format:"HH:mm:ss"},ShowHourMinuteSecondAMPM:function(){var e=this,a=this.innerForamt,i={showHour:/[HhKk]/.test(a),showMinute:/m/.test(a),showSecond:/s/.test(a),use12h:/a/i.test(a)},n={};return Object.keys(i).forEach(function(o){n[o]=typeof e[o]=="boolean"?e[o]:i[o]}),n}},watch:{value:{immediate:!0,handler:function(){this.innerValue=Lt(this.value,this.defaultValue)}}},methods:{formatDate:function(e,a){return nn(e,a,{locale:this.getLocale().formatLocale})},isDisabledTime:function(e){return this.disabledTime(new Date(e))},isDisabledHour:function(e){var a=new Date(e);return this.isDisabledTime(a)&&this.isDisabledTime(a.setMinutes(0,0,0))&&this.isDisabledTime(a.setMinutes(59,59,999))},isDisabledMinute:function(e){var a=new Date(e);return this.isDisabledTime(a)&&this.isDisabledTime(a.setSeconds(0,0))&&this.isDisabledTime(a.setSeconds(59,999))},isDisabledAMPM:function(e){var a=new Date(e),i=a.getHours()<12?0:12,n=i+11;return this.isDisabledTime(a)&&this.isDisabledTime(a.setHours(i,0,0,0))&&this.isDisabledTime(a.setHours(n,59,59,999))},isDisabled:function(e,a){return a==="hour"?this.isDisabledHour(e):a==="minute"?this.isDisabledMinute(e):a==="ampm"?this.isDisabledAMPM(e):this.isDisabledTime(e)},handleSelect:function(e,a){var i=new Date(e);this.isDisabled(e,a)||(this.innerValue=i,this.isDisabledTime(i)||this.$emit("select",i,a))},handleClickTitle:function(){this.$emit("clicktitle")},getClasses:function(e,a){var i=new Date(e);return this.isDisabled(e,a)?"disabled":i.getTime()===this.innerValue.getTime()?"active":""}}},TF=DF,yF=function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{class:e.prefixClass+"-time"},[e.showTimeHeader?i("div",{class:e.prefixClass+"-time-header"},[i("button",{class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-time-header-title",attrs:{type:"button"},on:{click:e.handleClickTitle}},[e._v("\n "+e._s(e.title)+"\n ")])]):e._e(),e._v(" "),i("div",{class:e.prefixClass+"-time-content"},[e.timePickerOptions?i("list-options",{attrs:{date:e.innerValue,"get-classes":e.getClasses,options:e.timePickerOptions,format:e.innerForamt},on:{select:e.handleSelect}}):i("list-columns",e._b({attrs:{date:e.innerValue,"get-classes":e.getClasses,"hour-options":e.hourOptions,"minute-options":e.minuteOptions,"second-options":e.secondOptions,"hour-step":e.hourStep,"minute-step":e.minuteStep,"second-step":e.secondStep,"scroll-duration":e.scrollDuration},on:{select:e.handleSelect}},"list-columns",e.ShowHourMinuteSecondAMPM,!1))],1)])},EF=[],kF=void 0,Qa=da({render:yF,staticRenderFns:EF},kF,TF),fi={name:"TimeRange",inject:{prefixClass:{default:"mx"}},props:Te({},Qa.props),data:function(){return{startValue:new Date(NaN),endValue:new Date(NaN)}},watch:{value:{immediate:!0,handler:function(){if(on(this.value)){var e=_i(this.value,2),a=e[0],i=e[1];this.startValue=a,this.endValue=i}else this.startValue=new Date(NaN),this.endValue=new Date(NaN)}}},methods:{emitChange:function(e,a){var i=[this.startValue,this.endValue];this.$emit("select",i,e==="time"?"time-range":e,a)},handleSelectStart:function(e,a){this.startValue=e,this.endValue.getTime()>=e.getTime()||(this.endValue=e),this.emitChange(a,0)},handleSelectEnd:function(e,a){this.endValue=e,this.startValue.getTime()<=e.getTime()||(this.startValue=e),this.emitChange(a,1)},disabledStartTime:function(e){return this.disabledTime(e,0)},disabledEndTime:function(e){return e.getTime()2&&arguments[2]!==void 0?arguments[2]:!0;this.userInput=null;var n=Array.isArray(e)?e.map(this.date2value):this.date2value(e);return this.$emit("input",n),this.$emit("change",n,a),i&&this.closePopup(),n},isValidValue:function(e){return this.validMultipleType?au(e):this.range?on(e):Ma(e)},isValidValueAndNotDisabled:function(e){if(!this.isValidValue(e))return!1;var a=typeof this.disabledDate=="function"?this.disabledDate:function(){return!1},i=typeof this.disabledTime=="function"?this.disabledTime:function(){return!1};return Array.isArray(e)||(e=[e]),e.every(function(n){return!a(n)&&!i(n)})},handleMultipleDates:function(e,a){if(this.validMultipleType&&a){var i=a.filter(function(n){return n.getTime()!==e.getTime()});return i.length===a.length&&i.push(e),i}return e},handleSelectDate:function(e,a,i){e=this.handleMultipleDates(e,i),this.confirm?this.currentValue=e:this.emitValue(e,a,!this.validMultipleType&&(a===this.type||a==="time"))},clear:function(){this.emitValue(this.range?[null,null]:null),this.$emit("clear")},handleClear:function(e){e.stopPropagation(),this.clear()},handleConfirmDate:function(){var e=this.emitValue(this.currentValue);this.$emit("confirm",e)},handleSelectShortcut:function(e){var a=e.currentTarget.getAttribute("data-index"),i=this.shortcuts[parseInt(a,10)];if(ba(i)&&typeof i.onClick=="function"){var n=i.onClick(this);n&&this.emitValue(n)}},openPopup:function(e){this.popupVisible||this.disabled||(this.defaultOpen=!0,this.$emit("open",e),this.$emit("update:open",!0))},closePopup:function(){this.popupVisible&&(this.defaultOpen=!1,this.$emit("close"),this.$emit("update:open",!1))},blur:function(){this.$refs.input&&this.$refs.input.blur()},focus:function(){this.$refs.input&&this.$refs.input.focus()},handleInputChange:function(){var e=this;if(!(!this.editable||this.userInput===null)){var a=this.userInput.trim();if(this.userInput=null,a===""){this.clear();return}var i;if(this.validMultipleType)i=a.split(this.innerRangeSeparator).map(function(o){return e.parseDate(o.trim())});else if(this.range){var n=a.split(this.innerRangeSeparator);n.length!==2&&(n=a.split(this.innerRangeSeparator.trim())),i=n.map(function(o){return e.parseDate(o.trim())})}else i=this.parseDate(a);this.isValidValueAndNotDisabled(i)?(this.emitValue(i),this.blur()):this.$emit("input-error",a)}},handleInputInput:function(e){this.userInput=typeof e=="string"?e:e.target.value},handleInputKeydown:function(e){var a=e.keyCode;a===9?this.closePopup():a===13&&this.handleInputChange()},handleInputBlur:function(e){this.$emit("blur",e)},handleInputFocus:function(e){this.openPopup(e),this.$emit("focus",e)},hasSlot:function(e){return!!(this.$slots[e]||this.$scopedSlots[e])},renderSlot:function(e,a,i){var n=this.$scopedSlots[e];return n?n(i)||a:this.$slots[e]||a},renderInput:function(){var e=this.$createElement,a=this.prefixClass,i=Te({name:"date",type:"text",autocomplete:"off",value:this.text,class:this.inputClass||"".concat(this.prefixClass,"-input"),readonly:!this.editable,disabled:this.disabled,placeholder:this.placeholder},this.inputAttr),n=i.value,o=i.class,s=Uh(i,["value","class"]),l={keydown:this.handleInputKeydown,focus:this.handleInputFocus,blur:this.handleInputBlur,input:this.handleInputInput,change:this.handleInputChange},_=this.renderSlot("input",e("input",{domProps:{value:n},class:o,attrs:Te({},s),on:Te({},l),ref:"input"}),{props:i,events:l}),r=this.type==="time"?e(wu):e(yu);return e("div",{class:"".concat(a,"-input-wrapper"),on:{mouseenter:this.handleMouseEnter,mouseleave:this.handleMouseLeave,click:this.openPopup},ref:"inputWrapper"},[_,this.showClearIcon?e("i",{class:"".concat(a,"-icon-clear"),on:{click:this.handleClear}},[this.renderSlot("icon-clear",e(Cu))]):e("i",{class:"".concat(a,"-icon-calendar")},[this.renderSlot("icon-calendar",r)])])},renderContent:function(){var e=this.$createElement,a=this.range?wF:AF,i=a[this.type]||a.default,n=Te({},It(this.$props,Object.keys(i.props)),{value:this.currentValue}),o=Te({},It(this.$listeners,i.emits||[]),{select:this.handleSelectDate}),s=e(i,Ti([{},{props:n,on:o,ref:"picker"}]));return e("div",{class:"".concat(this.prefixClass,"-datepicker-body")},[this.renderSlot("content",s,{value:this.currentValue,emit:this.handleSelectDate})])},renderSidebar:function(){var e=this,a=this.$createElement,i=this.prefixClass;return a("div",{class:"".concat(i,"-datepicker-sidebar")},[this.renderSlot("sidebar",null,{value:this.currentValue,emit:this.handleSelectDate}),this.shortcuts.map(function(n,o){return a("button",{key:o,attrs:{"data-index":o,type:"button"},class:"".concat(i,"-btn ").concat(i,"-btn-text ").concat(i,"-btn-shortcut"),on:{click:e.handleSelectShortcut}},[n.text])})])},renderHeader:function(){var e=this.$createElement;return e("div",{class:"".concat(this.prefixClass,"-datepicker-header")},[this.renderSlot("header",null,{value:this.currentValue,emit:this.handleSelectDate})])},renderFooter:function(){var e=this.$createElement,a=this.prefixClass;return e("div",{class:"".concat(a,"-datepicker-footer")},[this.renderSlot("footer",null,{value:this.currentValue,emit:this.handleSelectDate}),this.confirm?e("button",{attrs:{type:"button"},class:"".concat(a,"-btn ").concat(a,"-datepicker-btn-confirm"),on:{click:this.handleConfirmDate}},[this.confirmText]):null])}},render:function(){var e,a=arguments[0],i=this.prefixClass,n=this.inline,o=this.disabled,s=this.hasSlot("sidebar")||this.shortcuts.length?this.renderSidebar():null,l=a("div",{class:"".concat(i,"-datepicker-content")},[this.hasSlot("header")?this.renderHeader():null,this.renderContent(),this.hasSlot("footer")||this.confirm?this.renderFooter():null]);return a("div",{class:(e={},ht(e,"".concat(i,"-datepicker"),!0),ht(e,"".concat(i,"-datepicker-range"),this.range),ht(e,"".concat(i,"-datepicker-inline"),n),ht(e,"disabled",o),e)},[n?null:this.renderInput(),n?a("div",{class:"".concat(i,"-datepicker-main")},[s,l]):a(pu,{ref:"popup",class:this.popupClass,style:this.popupStyle,attrs:{visible:this.popupVisible,appendToBody:this.appendToBody},on:{clickoutside:this.handleClickOutSide}},[s,l])])}};ft.locale=Pl,ft.install=function(e){e.component(ft.name,ft)},typeof window<"u"&&window.Vue&&ft.install(window.Vue),Wn(ft,{CalendarPanel:mt,CalendarRange:di,TimePanel:Qa,TimeRange:fi,DatetimePanel:Yo,DatetimeRange:Ul}),se(Q1);const SF={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var vF=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon calendar-blank-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},RF=[],CF=ne(SF,vF,RF,!1,null,null);const BF=CF.exports,OF={name:"WebIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var NF=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon web-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},xF=[],MF=ne(OF,NF,xF,!1,null,null);const jF=MF.exports,Vs={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD H:mm:ss",year:"YYYY",month:"YYYY-MM",time:"H:mm:ss",week:"w"},YF={name:"NcDateTimePicker",components:{CalendarBlank:BF,DatePicker:ft,NcPopover:fo,NcTimezonePicker:ph,Web:jF},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:"date"},format:{type:String,default:null},formatter:{type:Object,default:null},lang:{type:Object,default:null},value:{default:void 0},modelValue:{default:()=>new Date},timezoneId:{type:String,default:"UTC"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1},placeholder:{type:String,default:null}},emits:["update:value","update:modelValue","update:model-value","update:timezone-id"],setup(){return{model:ot("value","update:value"),timezoneDialogHeaderId:"timezone-dialog-header-".concat(pt())}},data(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{defaultLang(){return{formatLocale:{months:K1(),monthsShort:J1(),weekdays:X1(),weekdaysShort:e_(),weekdaysMin:a_(),firstDayOfWeek:t_()},monthFormat:"MMMM"}},defaultPlaceholder(){return this.type==="time"?x("Pick a time"):this.type==="month"?x("Pick a month"):this.type==="year"?x("Pick a year"):this.type==="week"?x("Pick a week"):this.type==="date"?x("Pick a date"):x("Pick a date and a time")},formatTypeMap(){var e;return(e=Vs[this.type])!=null?e:Vs.date},internalFormatter(){var e;return _e({getWeek:a=>{const i=new Date(Date.UTC(a.getFullYear(),a.getMonth(),a.getDate()));i.setUTCDate(i.getUTCDate()+4-(i.getUTCDay()||7));const n=new Date(Date.UTC(i.getUTCFullYear(),0,1));return Math.ceil(((i-n)/864e5+1)/7)}},(e=this.formatter)!=null?e:{})}},methods:{t:x,handleSelectYear(e){const a=this.$refs.datepicker.currentValue;if(a)try{const i=new Date(new Date(a).setFullYear(e));this.$refs.datepicker.selectDate(i)}catch(i){console.error("Invalid value",a,e)}},handleSelectMonth(e){const a=this.$refs.datepicker.currentValue;if(a)try{const i=new Date(new Date(a).setMonth(e));this.$refs.datepicker.selectDate(i)}catch(i){console.error("Invalid value",a,e)}},toggleTimezonePopover(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}};var qF=function(){var e=this,a=e._self._c;return a("DatePicker",e._g(e._b({ref:"datepicker",attrs:{"append-to-body":e.appendToBody,clearable:e.clearable,format:e.format?e.format:e.formatTypeMap,formatter:e.internalFormatter,lang:e.lang?e.lang:e.defaultLang,"minute-step":e.minuteStep,placeholder:e.placeholder?e.placeholder:e.defaultPlaceholder,"popup-class":{"show-week-number":e.showWeekNumber},"show-week-number":e.showWeekNumber,type:e.type,value:e.model},on:{"select-year":e.handleSelectYear,"select-month":e.handleSelectMonth,input:function(i){e.model=i}},scopedSlots:e._u([{key:"icon-calendar",fn:function(){return[e.showTimezoneSelect?a("NcPopover",{attrs:{"popup-role":"dialog",shown:e.showTimezonePopover,"popover-base-class":"timezone-select__popper"},on:{"update:shown":function(i){e.showTimezonePopover=i}},scopedSlots:e._u([{key:"trigger",fn:function({attrs:i}){return[a("button",e._b({staticClass:"datetime-picker-inline-icon",class:{"datetime-picker-inline-icon--highlighted":e.highlightTimezone},on:{mousedown:function(n){return n.stopPropagation(),n.preventDefault(),(()=>{}).apply(null,arguments)}}},"button",i,!1),[a("Web",{attrs:{size:20}})],1)]}}],null,!1,270852355)},[a("div",{attrs:{role:"dialog","aria-labelledby":e.timezoneDialogHeaderId}},[a("div",{staticClass:"timezone-popover-wrapper__label"},[a("strong",{attrs:{id:e.timezoneDialogHeaderId}},[e._v(" "+e._s(e.t("Please select a time zone:"))+" ")])]),a("NcTimezonePicker",{staticClass:"timezone-popover-wrapper__timezone-select",on:{input:function(i){return e.$emit("update:timezone-id",arguments[0])}},model:{value:e.tzVal,callback:function(i){e.tzVal=i},expression:"tzVal"}})],1)]):a("CalendarBlank",{attrs:{size:20}})]},proxy:!0},e._l(e.$scopedSlots,function(i,n){return{key:n,fn:function(o){return[e._t(n,null,null,o)]}}})],null,!0)},"DatePicker",e.$attrs,!1),e.$listeners))},LF=[],ZF=ne(YF,qF,LF,!1,null,"038f33af");const IF=ZF.exports;Cr(IF);const HF=["date","datetime-local","month","time","week"],PF={name:"NcDateTimePickerNative",inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:Date,default:void 0},modelValue:{type:Date,default:null},id:{type:String,required:!0},type:{type:String,default:"date",validate:e=>HF.includes(e)},label:{type:String,default:"Please choose a date"},min:{type:[Date,Boolean],default:null},max:{type:[Date,Boolean],default:null},hideLabel:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["input","update:modelValue","update:model-value"],setup(){return{model:ot("value","input")}},computed:{formattedValue(){return this.formatValue(this.model)},formattedMin(){return this.min?this.formatValue(this.min):!1},formattedMax(){return this.max?this.formatValue(this.max):!1},listeners(){return Oe(_e({},this.$listeners),{input:e=>{if(isNaN(e.target.valueAsNumber)&&(this.model=null),this.type==="time"){const n=e.target.value;if(this.model===""){const{yyyy:_,MM:r,dd:f}=this.getReadableDate(new Date);this.model=new Date("".concat(_,"-").concat(r,"-").concat(f,"T").concat(n))}const{yyyy:o,MM:s,dd:l}=this.getReadableDate(this.model);this.model=new Date("".concat(o,"-").concat(s,"-").concat(l,"T").concat(n))}else if(this.type==="month"){const n=(new Date(e.target.value).getMonth()+1).toString().padStart(2,"0");if(this.model===""){const{yyyy:r,dd:f,hh:d,mm:g}=this.getReadableDate(new Date);this.model=new Date("".concat(r,"-").concat(n,"-").concat(f,"T").concat(d,":").concat(g))}const{yyyy:o,dd:s,hh:l,mm:_}=this.getReadableDate(this.model);this.model=new Date("".concat(o,"-").concat(n,"-").concat(s,"T").concat(l,":").concat(_))}const a=new Date(e.target.valueAsNumber).getTimezoneOffset()*1e3*60,i=e.target.valueAsNumber+a;this.model=new Date(i)}})}},methods:{getReadableDate(e){if(e instanceof Date){const a=e.getFullYear().toString().padStart(4,"0"),i=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getDate().toString().padStart(2,"0"),o=e.getHours().toString().padStart(2,"0"),s=e.getMinutes().toString().padStart(2,"0");return{yyyy:a,MM:i,dd:n,hh:o,mm:s}}},formatValue(e){if(e instanceof Date){const{yyyy:a,MM:i,dd:n,hh:o,mm:s}=this.getReadableDate(e);if(this.type==="datetime-local")return"".concat(a,"-").concat(i,"-").concat(n,"T").concat(o,":").concat(s);if(this.type==="date")return"".concat(a,"-").concat(i,"-").concat(n);if(this.type==="month")return"".concat(a,"-").concat(i);if(this.type==="time")return"".concat(o,":").concat(s);if(this.type==="week"){const l=new Date(a,0,1),_=Math.floor((e-l)/(24*60*60*1e3)),r=Math.ceil(_/7);return"".concat(a,"-W").concat(r)}}else return""}}};var GF=function(){var e=this,a=e._self._c;return a("div",{staticClass:"native-datetime-picker"},[a("label",{class:{"hidden-visually":e.hideLabel},attrs:{for:e.id}},[e._v(e._s(e.label))]),a("input",e._g(e._b({staticClass:"native-datetime-picker--input",class:e.inputClass,attrs:{id:e.id,type:e.type,min:e.formattedMin,max:e.formattedMax},domProps:{value:e.formattedValue}},"input",e.$attrs,!1),e.listeners))])},UF=[],zF=ne(PF,GF,UF,!1,null,"40e61767");const VF=zF.exports;Cr(VF);const $F={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var WF=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},QF=[],KF=ne($F,WF,QF,!1,null,null);const JF=KF.exports,XF={name:"NcInputField",components:{NcButton:nt,AlertCircle:JF,Check:uo},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:e=>["text","password","email","tel","url","search","number"].includes(e)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:ot("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+pt()},hasLeadingIcon(){return this.$slots.default},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const e=this.label||this.labelOutside;return e||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),e},ariaDescribedby(){const e=[];return this.helperText.length>0&&e.push("".concat(this.inputName,"-helper-text")),this.$attrs["aria-describedby"]&&e.push(this.$attrs["aria-describedby"]),e.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(e){const a=this.type==="number"&&typeof this.model=="number"?parseFloat(e.target.value,10):e.target.value;this.model=a},handleTrailingButtonClick(e){this.$emit("trailing-button-click",e)}}};var ec=function(){var i;var e=this,a=e._self._c;return a("div",{staticClass:"input-field",class:{"input-field--disabled":e.disabled,"input-field--label-outside":e.labelOutside||!e.isValidLabel,"input-field--leading-icon":e.hasLeadingIcon,"input-field--trailing-icon":e.showTrailingButton||e.hasTrailingIcon,"input-field--pill":e.pill}},[a("div",{staticClass:"input-field__main-wrapper"},[a("input",e._g(e._b({ref:"input",staticClass:"input-field__input",class:[e.inputClass,{"input-field__input--success":e.success,"input-field__input--error":e.error}],attrs:{id:e.computedId,type:e.type,disabled:e.disabled,placeholder:e.computedPlaceholder,"aria-describedby":e.ariaDescribedby,"aria-live":"polite"},domProps:{value:(i=e.model)==null?void 0:i.toString()},on:{input:e.handleInput}},"input",e.$attrs,!1),e.$listeners)),!e.labelOutside&&e.isValidLabel?a("label",{staticClass:"input-field__label",attrs:{for:e.computedId}},[e._v(" "+e._s(e.label)+" ")]):e._e(),a("div",{directives:[{name:"show",rawName:"v-show",value:e.hasLeadingIcon,expression:"hasLeadingIcon"}],staticClass:"input-field__icon input-field__icon--leading"},[e._t("default")],2),e.showTrailingButton?a("NcButton",{staticClass:"input-field__trailing-button",attrs:{type:"tertiary-no-background","aria-label":e.trailingButtonLabel,disabled:e.disabled},on:{click:e.handleTrailingButtonClick},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("trailing-button-icon")]},proxy:!0}],null,!0)}):e.success||e.error?a("div",{staticClass:"input-field__icon input-field__icon--trailing"},[e.success?a("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):e.error?a("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):e._e()],1):e._e()],1),e.helperText.length>0?a("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":e.error,"input-field__helper-text-message--success":e.success},attrs:{id:"".concat(e.inputName,"-helper-text")}},[e.success?a("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e.error?a("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e._e(),e._v(" "+e._s(e.helperText)+" ")],1):e._e()])},ac=[],tc=ne(XF,ec,ac,!1,null,"e4fac465");const Pt=tc.exports,ic={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var nc=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},oc=[],sc=ne(ic,nc,oc,!1,null,null);const rc=sc.exports,lc={name:"EyeOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var _c=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon eye-off-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},dc=[],fc=ne(lc,_c,dc,!1,null,null);const gc=fc.exports;se(i_);const Hi=hi("core","capabilities",{}).password_policy||null,hc=new Set(Object.keys(Pt.props)),uc={name:"NcPasswordField",components:{NcInputField:Pt,Eye:rc,EyeOff:gc},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:Oe(_e({" ":{}},Pt.props),{showTrailingButton:{type:Boolean,default:!0},trailingButtonLabel:void 0,checkPasswordStrength:{type:Boolean,default:!1},minlength:{type:Number,default:0},maxlength:{type:Number,default:null},asText:{type:Boolean,default:!1}}),emits:["valid","invalid","update:value","update:modelValue","update:model-value"],setup(){return{model:ot("value","update:value")}},data(){return{isPasswordHidden:!0,internalHelpMessage:"",isValid:null}},computed:{computedError(){return this.error||this.isValid===!1},computedSuccess(){return this.success||this.isValid===!0},computedHelperText(){return this.helperText.length>0?this.helperText:this.internalHelpMessage},rules(){const{minlength:e}=this;return{minlength:e!=null?e:Hi==null?void 0:Hi.minLength}},trailingButtonLabelPassword(){return this.isPasswordHidden?x("Show password"):x("Hide password")},propsAndAttrsToForward(){return _e(_e({},this.$attrs),Object.fromEntries(Object.entries(this.$props).filter(([e])=>hc.has(e))))}},watch:{model(e){if(this.checkPasswordStrength){if(Hi===null)return;this.checkPassword(e)}}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()},handleInput(e){this.model=e.target.value},togglePasswordVisibility(){this.isPasswordHidden=!this.isPasswordHidden},checkPassword:go(async function(e){try{const{data:a}=await Ea.post(et("apps/password_policy/api/v1/validate"),{password:e});if(this.isValid=a.ocs.data.passed,a.ocs.data.passed){this.internalHelpMessage=x("Password is secure"),this.$emit("valid");return}this.internalHelpMessage=a.ocs.data.reason,this.$emit("invalid")}catch(a){Fl.error("Password policy returned an error",a)}},500)}};var Fc=function(){var e=this,a=e._self._c;return a("NcInputField",e._g(e._b({ref:"inputField",attrs:{type:e.isPasswordHidden&&!e.asText?"password":"text","trailing-button-label":e.trailingButtonLabelPassword,"helper-text":e.computedHelperText,error:e.computedError,success:e.computedSuccess,minlength:e.rules.minlength,"input-class":{"password-field__input--secure-text":e.isPasswordHidden&&e.asText}},on:{"trailing-button-click":e.togglePasswordVisibility,input:e.handleInput},scopedSlots:e._u([{key:"trailing-button-icon",fn:function(){return[e.isPasswordHidden?a("Eye",{attrs:{size:18}}):a("EyeOff",{attrs:{size:18}})]},proxy:!0}])},"NcInputField",e.propsAndAttrsToForward,!1),e.$listeners),[e._t("default")],2)},cc=[],mc=ne(uc,Fc,cc,!1,null,"a273ea2b");const K3=mc.exports,pc={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var bc=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon arrow-right-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Dc=[],Tc=ne(pc,bc,Dc,!1,null,null);const yc=Tc.exports,Ec={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var kc=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Ac=[],wc=ne(Ec,kc,Ac,!1,null,null);const Sc=wc.exports;se(n_,Br);const vc=new Set(Object.keys(Pt.props)),Rc={name:"NcTextField",components:{NcInputField:Pt,Close:_o,ArrowRight:yc,Undo:Sc},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:Oe(_e({" ":{}},Pt.props),{trailingButtonLabel:{type:String,default:""},trailingButtonIcon:{type:String,default:"close",validator:e=>["close","arrowRight","undo"].includes(e)}}),emits:["update:value","update:modelValue","update:model-value"],setup(){return{model:ot("value","update:value")}},computed:{propsAndAttrsToForward(){const e={undo:x("Undo changes"),close:x("Clear text"),arrowRight:x("Save changes")};return Oe(_e(_e({},this.$attrs),Object.fromEntries(Object.entries(this.$props).filter(([a])=>vc.has(a)))),{trailingButtonLabel:this.trailingButtonLabel||e[this.trailingButtonIcon]})}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()}}};var Cc=function(){var e=this,a=e._self._c;return a("NcInputField",e._g(e._b({ref:"inputField",scopedSlots:e._u([e.type!=="search"?{key:"trailing-button-icon",fn:function(){return[e.trailingButtonIcon==="close"?a("Close",{attrs:{size:20}}):e.trailingButtonIcon==="arrowRight"?a("ArrowRight",{attrs:{size:20}}):e.trailingButtonIcon==="undo"?a("Undo",{attrs:{size:20}}):e._e()]},proxy:!0}:null],null,!0)},"NcInputField",e.propsAndAttrsToForward,!1),e.$listeners),[e._t("default")],2)},Bc=[],Oc=ne(Rc,Cc,Bc,!1,null,null);const Nc=Oc.exports;se(Or),V_,x("Submit");const xc={name:"ArrowLeftIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Mc=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon arrow-left-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},jc=[],Yc=ne(xc,Mc,jc,!1,null,null);const zl=Yc.exports;var Tr,zi,yr,Er,Vi,kr;se(o_),so("nextcloud").persist().build(),(yr=(zi=(Tr=window.OCP)==null?void 0:Tr.Accessibility)==null?void 0:zi.disableKeyboardShortcuts)==null||yr.call(zi),se(s_),(kr=(Vi=(Er=window.OCP)==null?void 0:Er.Accessibility)==null?void 0:Vi.disableKeyboardShortcuts)==null||kr.call(Vi);const qc={name:"NcVNodes",props:{vnodes:{type:[Array,Object],default:null}},render(e){var a,i,n;return this.vnodes||((a=this.$slots)==null?void 0:a.default)||((n=(i=this.$scopedSlots)==null?void 0:i.default)==null?void 0:n.call(i))}},Lc=null,Zc=null;var Ic=ne(qc,Lc,Zc,!1,null,null);const J3=Ic.exports,Hc={name:"ChevronUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Pc=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon chevron-up-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Gc=[],Uc=ne(Hc,Pc,Gc,!1,null,null);const zc=Uc.exports;se(r_),se(l_),se(__,Br),se(Nr,d_);x("Search…");se(g_);const Vc={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var $c=function(){var e=this,a=e._self._c;return a("span",e._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[a("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[a("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[e.title?a("title",[e._v(e._s(e.title))]):e._e()])])])},Wc=[],Qc=ne(Vc,$c,Wc,!1,null,null);const X3=Qc.exports;x("Settings"),se(h_),go(function(){this.selectedSection="",document.activeElement.className.includes("navigation-list__link")&&document.activeElement.blur()},300);let Kc="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Jc=(e=21)=>{let a="",i=e|0;for(;i--;)a+=Kc[Math.random()*64|0];return a};function e0(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?e0=function(a){return typeof a}:e0=function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},e0(e)}var Vl={selector:"vue-portal-target-".concat(Jc())},Xc=function(e){return Vl.selector=e},On=typeof window<"u"&&(typeof document>"u"?"undefined":e0(document))!==void 0,em=Ta.extend({abstract:!0,name:"PortalOutlet",props:["nodes","tag"],data:function(e){return{updatedNodes:e.nodes}},render:function(e){var a=this.updatedNodes&&this.updatedNodes();return a?a.length===1&&!a[0].text?a:e(this.tag||"DIV",a):e()},destroyed:function(){var e=this.$el;e&&e.parentNode.removeChild(e)}}),am=Ta.extend({name:"VueSimplePortal",props:{disabled:{type:Boolean},prepend:{type:Boolean},selector:{type:String,default:function(){return"#".concat(Vl.selector)}},tag:{type:String,default:"DIV"}},render:function(e){if(this.disabled){var a=this.$scopedSlots&&this.$scopedSlots.default();return a?a.length<2&&!a[0].text?a:e(this.tag,a):e()}return e()},created:function(){this.getTargetEl()||this.insertTargetEl()},updated:function(){var e=this;this.$nextTick(function(){!e.disabled&&e.slotFn!==e.$scopedSlots.default&&(e.container.updatedNodes=e.$scopedSlots.default),e.slotFn=e.$scopedSlots.default})},beforeDestroy:function(){this.unmount()},watch:{disabled:{immediate:!0,handler:function(e){e?this.unmount():this.$nextTick(this.mount)}}},methods:{getTargetEl:function(){if(On)return document.querySelector(this.selector)},insertTargetEl:function(){if(On){var e=document.querySelector("body"),a=document.createElement(this.tag);a.id=this.selector.substring(1),e.appendChild(a)}},mount:function(){if(On){var e=this.getTargetEl(),a=document.createElement("DIV");this.prepend&&e.firstChild?e.insertBefore(a,e.firstChild):e.appendChild(a),this.container=new em({el:a,parent:this,propsData:{tag:this.tag,nodes:this.$scopedSlots.default}})}},unmount:function(){this.container&&(this.container.$destroy(),delete this.container)}}});function tm(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e.component(a.name||"portal",am),a.defaultSelector&&Xc(a.defaultSelector)}typeof window<"u"&&window.Vue&&window.Vue===Ta&&Ta.use(tm),se();const im={name:"NcEmptyContent",props:{name:{type:String,default:""},description:{type:String,default:""}},computed:{hasName(){return this.name!==""},hasDescription(){var e;return this.description!==""||((e=this.$slots.description)==null?void 0:e[0])}}};var nm=function(){var e=this,a=e._self._c;return a("div",{staticClass:"empty-content",attrs:{role:"note"}},[e.$slots.icon?a("div",{staticClass:"empty-content__icon",attrs:{"aria-hidden":"true"}},[e._t("icon")],2):e._e(),e._t("name",function(){return[e.hasName?a("span",{staticClass:"empty-content__name"},[e._v(" "+e._s(e.name)+" ")]):e._e()]}),e.hasDescription?a("p",{staticClass:"empty-content__description"},[e._t("description",function(){return[e._v(" "+e._s(e.description)+" ")]})],2):e._e(),e.$slots.action?a("div",{staticClass:"empty-content__action"},[e._t("action")],2):e._e()],2)},om=[],sm=ne(im,nm,om,!1,null,"fede0c71");const qo=sm.exports;se(u_),se(F_),se(c_);var $l={exports:{}};(function(e,a){(function(i,n){e.exports=n()})(typeof self<"u"?self:Pa,function(){return function(i){function n(s){if(o[s])return o[s].exports;var l=o[s]={i:s,l:!1,exports:{}};return i[s].call(l.exports,l,l.exports,n),l.l=!0,l.exports}var o={};return n.m=i,n.c=o,n.d=function(s,l,_){n.o(s,l)||Object.defineProperty(s,l,{configurable:!1,enumerable:!0,get:_})},n.n=function(s){var l=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(l,"a",l),l},n.o=function(s,l){return Object.prototype.hasOwnProperty.call(s,l)},n.p="",n(n.s=60)}([function(i,n){function o(l,_){var r=l[1]||"",f=l[3];if(!f)return r;if(_&&typeof btoa=="function"){var d=s(f);return[r].concat(f.sources.map(function(g){return"/*# sourceURL="+f.sourceRoot+g+" */"})).concat([d]).join("\n")}return[r].join("\n")}function s(l){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(l))))+" */"}i.exports=function(l){var _=[];return _.toString=function(){return this.map(function(r){var f=o(r,l);return r[2]?"@media "+r[2]+"{"+f+"}":f}).join("")},_.i=function(r,f){typeof r=="string"&&(r=[[null,r,""]]);for(var d={},g=0;gz.parts.length&&(H.parts.length=z.parts.length)}else{for(var S=[],c=0;c"u"||(k=__VUE_SSR_CONTEXT__),_&&_.call(this,k),k&&k._registeredComponents&&k._registeredComponents.add(f)},u._ssrRegister=m):_&&(m=_),m){var p=u.functional,b=p?u.render:u.beforeCreate;p?(u._injectStyles=m,u.render=function(k,A){return m.call(A),b(k,A)}):u.beforeCreate=b?[].concat(b,m):[m]}return{esModule:d,exports:g,options:u}}},function(i,n,o){function s(r,f){var d,g=r&&r.a;!(d=r&&r.hsl?(0,_.default)(r.hsl):r&&r.hex&&r.hex.length>0?(0,_.default)(r.hex):r&&r.hsv?(0,_.default)(r.hsv):r&&r.rgba?(0,_.default)(r.rgba):r&&r.rgb?(0,_.default)(r.rgb):(0,_.default)(r))||d._a!==void 0&&d._a!==null||d.setAlpha(g||1);var h=d.toHsl(),u=d.toHsv();return h.s===0&&(u.h=h.h=r.h||r.hsl&&r.hsl.h||f||0),{hsl:h,hex:d.toHexString().toUpperCase(),hex8:d.toHex8String().toUpperCase(),rgba:d.toRgb(),hsv:u,oldHue:r.h||f||h.h,source:r.source,a:r.a||d.getAlpha()}}Object.defineProperty(n,"__esModule",{value:!0});var l=o(65),_=function(r){return r&&r.__esModule?r:{default:r}}(l);n.default={props:["value"],data:function(){return{val:s(this.value)}},computed:{colors:{get:function(){return this.val},set:function(r){this.val=r,this.$emit("input",r)}}},watch:{value:function(r){this.val=s(r)}},methods:{colorChange:function(r,f){this.oldHue=this.colors.hsl.h,this.colors=s(r,f||this.oldHue)},isValidHex:function(r){return(0,_.default)(r).isValid()},simpleCheckForValidColor:function(r){for(var f=["r","g","b","a","h","s","l","v"],d=0,g=0,h=0;h0?s:o)(l)}},function(i,n){i.exports=function(o){if(o==null)throw TypeError("Can't call method on "+o);return o}},function(i,n,o){var s=o(12);i.exports=function(l,_){if(!s(l))return l;var r,f;if(_&&typeof(r=l.toString)=="function"&&!s(f=r.call(l))||typeof(r=l.valueOf)=="function"&&!s(f=r.call(l))||!_&&typeof(r=l.toString)=="function"&&!s(f=r.call(l)))return f;throw TypeError("Can't convert object to primitive value")}},function(i,n){i.exports={}},function(i,n,o){var s=o(46),l=o(30);i.exports=Object.keys||function(_){return s(_,l)}},function(i,n,o){var s=o(29)("keys"),l=o(19);i.exports=function(_){return s[_]||(s[_]=l(_))}},function(i,n,o){var s=o(15),l=o(4),_=l["__core-js_shared__"]||(l["__core-js_shared__"]={});(i.exports=function(r,f){return _[r]||(_[r]=f!==void 0?f:{})})("versions",[]).push({version:s.version,mode:o(14)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(i,n){i.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(i,n,o){var s=o(8).f,l=o(6),_=o(11)("toStringTag");i.exports=function(r,f,d){r&&!l(r=d?r:r.prototype,_)&&s(r,_,{configurable:!0,value:f})}},function(i,n,o){n.f=o(11)},function(i,n,o){var s=o(4),l=o(15),_=o(14),r=o(32),f=o(8).f;i.exports=function(d){var g=l.Symbol||(l.Symbol=_?{}:s.Symbol||{});d.charAt(0)=="_"||d in g||f(g,d,{value:r.f(d)})}},function(i,n){n.f={}.propertyIsEnumerable},function(i,n,o){function s(g){return g&&g.__esModule?g:{default:g}}Object.defineProperty(n,"__esModule",{value:!0});var l=o(3),_=s(l),r=o(5),f=s(r),d=["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#CCCCCC","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"];n.default={name:"Compact",mixins:[_.default],props:{palette:{type:Array,default:function(){return d}}},components:{"ed-in":f.default},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(g){this.colorChange({hex:g,source:"hex"})}}}},function(i,n,o){Object.defineProperty(n,"__esModule",{value:!0}),n.default={name:"editableInput",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(s){if(!(this.max!==void 0&&+s>this.max))return s;this.$refs.input.value=this.max}},labelId:function(){return"input__label__"+this.label+"__"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(s){this.handleChange(s.target.value)},handleChange:function(s){var l={};l[this.label]=s,l.hex===void 0&&l["#"]===void 0?this.$emit("change",l):s.length>5&&this.$emit("change",l)},handleKeyDown:function(s){var l=this.val,_=Number(l);if(_){var r=this.arrowOffset||1;s.keyCode===38&&(l=_+r,this.handleChange(l),s.preventDefault()),s.keyCode===40&&(l=_-r,this.handleChange(l),s.preventDefault())}}}}},function(i,n,o){Object.defineProperty(n,"__esModule",{value:!0});var s=o(3),l=function(r){return r&&r.__esModule?r:{default:r}}(s),_=["#FFFFFF","#F2F2F2","#E6E6E6","#D9D9D9","#CCCCCC","#BFBFBF","#B3B3B3","#A6A6A6","#999999","#8C8C8C","#808080","#737373","#666666","#595959","#4D4D4D","#404040","#333333","#262626","#0D0D0D","#000000"];n.default={name:"Grayscale",mixins:[l.default],props:{palette:{type:Array,default:function(){return _}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(r){this.colorChange({hex:r,source:"hex"})}}}},function(i,n,o){function s(d){return d&&d.__esModule?d:{default:d}}Object.defineProperty(n,"__esModule",{value:!0});var l=o(5),_=s(l),r=o(3),f=s(r);n.default={name:"Material",mixins:[f.default],components:{"ed-in":_.default},methods:{onChange:function(d){d&&(d.hex?this.isValidHex(d.hex)&&this.colorChange({hex:d.hex,source:"hex"}):(d.r||d.g||d.b)&&this.colorChange({r:d.r||this.colors.rgba.r,g:d.g||this.colors.rgba.g,b:d.b||this.colors.rgba.b,a:d.a||this.colors.rgba.a,source:"rgba"}))}}}},function(i,n,o){function s(h){return h&&h.__esModule?h:{default:h}}Object.defineProperty(n,"__esModule",{value:!0});var l=o(81),_=s(l),r=o(3),f=s(r),d=o(13),g=s(d);n.default={name:"Slider",mixins:[f.default],props:{swatches:{type:Array,default:function(){return[{s:.5,l:.8},{s:.5,l:.65},{s:.5,l:.5},{s:.5,l:.35},{s:.5,l:.2}]}}},components:{hue:g.default},computed:{normalizedSwatches:function(){return this.swatches.map(function(h){return(h===void 0?"undefined":(0,_.default)(h))!=="object"?{s:.5,l:h}:h})}},methods:{isActive:function(h,u){var m=this.colors.hsl;return m.l===1&&h.l===1||m.l===0&&h.l===0||Math.abs(m.l-h.l)<.01&&Math.abs(m.s-h.s)<.01},hueChange:function(h){this.colorChange(h)},handleSwClick:function(h,u){this.colorChange({h:this.colors.hsl.h,s:u.s,l:u.l,source:"hsl"})}}}},function(i,n,o){var s=o(14),l=o(41),_=o(44),r=o(7),f=o(26),d=o(88),g=o(31),h=o(95),u=o(11)("iterator"),m=!([].keys&&"next"in[].keys()),p=function(){return this};i.exports=function(b,k,A,v,M,Y,N){d(A,k,v);var U,z,H,c=function(oe){if(!m&&oe in V)return V[oe];switch(oe){case"keys":case"values":return function(){return new A(this,oe)}}return function(){return new A(this,oe)}},S=k+" Iterator",R=M=="values",B=!1,V=b.prototype,L=V[u]||V["@@iterator"]||M&&V[M],ie=L||c(M),te=M?R?c("entries"):ie:void 0,Ee=k=="Array"&&V.entries||L;if(Ee&&(H=h(Ee.call(new b)))!==Object.prototype&&H.next&&(g(H,S,!0),s||typeof H[u]=="function"||r(H,u,p)),R&&L&&L.name!=="values"&&(B=!0,ie=function(){return L.call(this)}),s&&!N||!m&&!B&&V[u]||r(V,u,ie),f[k]=ie,f[S]=p,M)if(U={values:R?ie:c("values"),keys:Y?ie:c("keys"),entries:te},N)for(z in U)z in V||_(V,z,U[z]);else l(l.P+l.F*(m||B),k,U);return U}},function(i,n,o){var s=o(4),l=o(15),_=o(86),r=o(7),f=o(6),d=function(g,h,u){var m,p,b,k=g&d.F,A=g&d.G,v=g&d.S,M=g&d.P,Y=g&d.B,N=g&d.W,U=A?l:l[h]||(l[h]={}),z=U.prototype,H=A?s:v?s[h]:(s[h]||{}).prototype;A&&(u=h);for(m in u)(p=!k&&H&&H[m]!==void 0)&&f(U,m)||(b=p?H[m]:u[m],U[m]=A&&typeof H[m]!="function"?u[m]:Y&&p?_(b,s):N&&H[m]==b?function(c){var S=function(R,B,V){if(this instanceof c){switch(arguments.length){case 0:return new c;case 1:return new c(R);case 2:return new c(R,B)}return new c(R,B,V)}return c.apply(this,arguments)};return S.prototype=c.prototype,S}(b):M&&typeof b=="function"?_(Function.call,b):b,M&&((U.virtual||(U.virtual={}))[m]=b,g&d.R&&z&&!z[m]&&r(z,m,b)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,i.exports=d},function(i,n,o){i.exports=!o(9)&&!o(17)(function(){return Object.defineProperty(o(43)("div"),"a",{get:function(){return 7}}).a!=7})},function(i,n,o){var s=o(12),l=o(4).document,_=s(l)&&s(l.createElement);i.exports=function(r){return _?l.createElement(r):{}}},function(i,n,o){i.exports=o(7)},function(i,n,o){var s=o(16),l=o(89),_=o(30),r=o(28)("IE_PROTO"),f=function(){},d=function(){var g,h=o(43)("iframe"),u=_.length;for(h.style.display="none",o(94).appendChild(h),h.src="javascript:",g=h.contentWindow.document,g.open(),g.write("","import '../assets/NcActionButtonGroup-BND4GQdv.css';\nimport { defineComponent } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { r as register, a as t } from \"./_l10n-C6OUA0Ge.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister();\nconst _sfc_main = defineComponent({\n name: \"NcActionButtonGroup\",\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\n /**\n * Optional text shown below the button group\n */\n name: {\n required: false,\n default: void 0,\n type: String\n }\n },\n setup() {\n return {\n labelId: `nc-action-button-group-${GenRandomId()}`\n };\n },\n methods: {\n t\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"li\", { staticClass: \"nc-button-group-base\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_vm.name ? _c(\"div\", { attrs: { \"id\": _vm.labelId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"ul\", { staticClass: \"nc-button-group-content\", attrs: { \"role\": \"group\", \"aria-labelledby\": _vm.name ? _vm.labelId : void 0 } }, [_vm._t(\"default\")], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcActionButtonGroup = __component__.exports;\nexport {\n NcActionButtonGroup as N\n};\n","import Vue, { getCurrentInstance, computed } from \"vue\";\nfunction useModelMigration(oldModelName, oldModelEvent, required = false) {\n const vm = getCurrentInstance().proxy;\n if (required && vm.$props[oldModelName] === void 0 && vm.$props.modelValue === void 0) {\n Vue.util.warn(`Missing required prop: \"modelValue\" or old \"${oldModelName}\"`);\n }\n const model = computed({\n get() {\n if (vm.$props[oldModelName] !== void 0) {\n return vm.$props[oldModelName];\n }\n return vm.$props.modelValue;\n },\n set(value) {\n vm.$emit(\"update:modelValue\", value);\n vm.$emit(\"update:model-value\", value);\n vm.$emit(oldModelEvent, value);\n }\n });\n return model;\n}\nexport {\n useModelMigration as u\n};\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * Represents the BINARY value type, which contains extra methods for encoding and decoding.\n *\n * @memberof ICAL\n */\nclass Binary {\n /**\n * Creates a binary value from the given string.\n *\n * @param {String} aString The binary value string\n * @return {Binary} The binary value instance\n */\n static fromString(aString) {\n return new Binary(aString);\n }\n\n /**\n * Creates a new ICAL.Binary instance\n *\n * @param {String} aValue The binary data for this value\n */\n constructor(aValue) {\n this.value = aValue;\n }\n\n /**\n * The type name, to be used in the jCal object.\n * @default \"binary\"\n * @constant\n */\n icaltype = \"binary\";\n\n /**\n * Base64 decode the current value\n *\n * @return {String} The base64-decoded value\n */\n decodeValue() {\n return this._b64_decode(this.value);\n }\n\n /**\n * Encodes the passed parameter with base64 and sets the internal\n * value to the result.\n *\n * @param {String} aValue The raw binary value to encode\n */\n setEncodedValue(aValue) {\n this.value = this._b64_encode(aValue);\n }\n\n _b64_encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: Rafał Kukawski (http://kukawski.pl)\n // * example 1: base64_encode('Kevin van Zonneveld');\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['atob'] == 'function') {\n // return atob(data);\n //}\n let b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n let r = data.length % 3;\n\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n\n }\n\n _b64_decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['btoa'] == 'function') {\n // return btoa(data);\n //}\n let b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n dec = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do { // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n\n return dec;\n }\n\n /**\n * The string representation of this value\n * @return {String}\n */\n toString() {\n return this.value;\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\nconst DURATION_LETTERS = /([PDWHMTS]{1,1})/;\nconst DATA_PROPS_TO_COPY = [\"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"isNegative\"];\n\n/**\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @memberof ICAL\n */\nclass Duration {\n /**\n * Returns a new ICAL.Duration instance from the passed seconds value.\n *\n * @param {Number} aSeconds The seconds to create the instance from\n * @return {Duration} The newly created duration instance\n */\n static fromSeconds(aSeconds) {\n return (new Duration()).fromSeconds(aSeconds);\n }\n\n /**\n * Checks if the given string is an iCalendar duration value.\n *\n * @param {String} value The raw ical value\n * @return {Boolean} True, if the given value is of the\n * duration ical type\n */\n static isValueString(string) {\n return (string[0] === 'P' || string[1] === 'P');\n }\n\n /**\n * Creates a new {@link ICAL.Duration} instance from the passed string.\n *\n * @param {String} aStr The string to parse\n * @return {Duration} The created duration instance\n */\n static fromString(aStr) {\n let pos = 0;\n let dict = Object.create(null);\n let chunks = 0;\n\n while ((pos = aStr.search(DURATION_LETTERS)) !== -1) {\n let type = aStr[pos];\n let numeric = aStr.slice(0, Math.max(0, pos));\n aStr = aStr.slice(pos + 1);\n\n chunks += parseDurationChunk(type, numeric, dict);\n }\n\n if (chunks < 2) {\n // There must be at least a chunk with \"P\" and some unit chunk\n throw new Error(\n 'invalid duration value: Not enough duration components in \"' + aStr + '\"'\n );\n }\n\n return new Duration(dict);\n }\n\n /**\n * Creates a new ICAL.Duration instance from the given data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number=} aData.weeks Duration in weeks\n * @param {Number=} aData.days Duration in days\n * @param {Number=} aData.hours Duration in hours\n * @param {Number=} aData.minutes Duration in minutes\n * @param {Number=} aData.seconds Duration in seconds\n * @param {Boolean=} aData.isNegative If true, the duration is negative\n * @return {Duration} The createad duration instance\n */\n static fromData(aData) {\n return new Duration(aData);\n }\n\n /**\n * Creates a new ICAL.Duration instance.\n *\n * @param {Object} data An object with members of the duration\n * @param {Number=} data.weeks Duration in weeks\n * @param {Number=} data.days Duration in days\n * @param {Number=} data.hours Duration in hours\n * @param {Number=} data.minutes Duration in minutes\n * @param {Number=} data.seconds Duration in seconds\n * @param {Boolean=} data.isNegative If true, the duration is negative\n */\n constructor(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n }\n\n /**\n * The weeks in this duration\n * @type {Number}\n * @default 0\n */\n weeks = 0;\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n days = 0;\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n hours = 0;\n\n /**\n * The minutes in this duration\n * @type {Number}\n * @default 0\n */\n minutes = 0;\n\n /**\n * The seconds in this duration\n * @type {Number}\n * @default 0\n */\n seconds = 0;\n\n /**\n * The seconds in this duration\n * @type {Boolean}\n * @default false\n */\n isNegative = false;\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalduration\"\n */\n icalclass = \"icalduration\";\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"duration\"\n */\n icaltype = \"duration\";\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {Duration} The cloned object\n */\n clone() {\n return Duration.fromData(this);\n }\n\n /**\n * The duration value expressed as a number of seconds.\n *\n * @return {Number} The duration value in seconds\n */\n toSeconds() {\n let seconds = this.seconds + 60 * this.minutes + 3600 * this.hours +\n 86400 * this.days + 7 * 86400 * this.weeks;\n return (this.isNegative ? -seconds : seconds);\n }\n\n /**\n * Reads the passed seconds value into this duration object. Afterwards,\n * members like {@link ICAL.Duration#days days} and {@link ICAL.Duration#weeks weeks} will be set up\n * accordingly.\n *\n * @param {Number} aSeconds The duration value in seconds\n * @return {Duration} Returns this instance\n */\n fromSeconds(aSeconds) {\n let secs = Math.abs(aSeconds);\n\n this.isNegative = (aSeconds < 0);\n this.days = trunc(secs / 86400);\n\n // If we have a flat number of weeks, use them.\n if (this.days % 7 == 0) {\n this.weeks = this.days / 7;\n this.days = 0;\n } else {\n this.weeks = 0;\n }\n\n secs -= (this.days + 7 * this.weeks) * 86400;\n\n this.hours = trunc(secs / 3600);\n secs -= this.hours * 3600;\n\n this.minutes = trunc(secs / 60);\n secs -= this.minutes * 60;\n\n this.seconds = secs;\n return this;\n }\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number=} aData.weeks Duration in weeks\n * @param {Number=} aData.days Duration in days\n * @param {Number=} aData.hours Duration in hours\n * @param {Number=} aData.minutes Duration in minutes\n * @param {Number=} aData.seconds Duration in seconds\n * @param {Boolean=} aData.isNegative If true, the duration is negative\n */\n fromData(aData) {\n for (let prop of DATA_PROPS_TO_COPY) {\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n } else {\n this[prop] = 0;\n }\n }\n }\n\n /**\n * Resets the duration instance to the default values, i.e. PT0S\n */\n reset() {\n this.isNegative = false;\n this.weeks = 0;\n this.days = 0;\n this.hours = 0;\n this.minutes = 0;\n this.seconds = 0;\n }\n\n /**\n * Compares the duration instance with another one.\n *\n * @param {Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare(aOther) {\n let thisSeconds = this.toSeconds();\n let otherSeconds = aOther.toSeconds();\n return (thisSeconds > otherSeconds) - (thisSeconds < otherSeconds);\n }\n\n /**\n * Normalizes the duration instance. For example, a duration with a value\n * of 61 seconds will be normalized to 1 minute and 1 second.\n */\n normalize() {\n this.fromSeconds(this.toSeconds());\n }\n\n /**\n * The string representation of this duration.\n * @return {String}\n */\n toString() {\n if (this.toSeconds() == 0) {\n return \"PT0S\";\n } else {\n let str = \"\";\n if (this.isNegative) str += \"-\";\n str += \"P\";\n if (this.weeks) str += this.weeks + \"W\";\n if (this.days) str += this.days + \"D\";\n\n if (this.hours || this.minutes || this.seconds) {\n str += \"T\";\n if (this.hours) str += this.hours + \"H\";\n if (this.minutes) str += this.minutes + \"M\";\n if (this.seconds) str += this.seconds + \"S\";\n }\n return str;\n }\n }\n\n /**\n * The iCalendar string representation of this duration.\n * @return {String}\n */\n toICALString() {\n return this.toString();\n }\n}\n\n/**\n * Internal helper function to handle a chunk of a duration.\n *\n * @private\n * @param {String} letter type of duration chunk\n * @param {String} number numeric value or -/+\n * @param {Object} dict target to assign values to\n */\nfunction parseDurationChunk(letter, number, object) {\n let type;\n switch (letter) {\n case 'P':\n if (number && number === '-') {\n object.isNegative = true;\n } else {\n object.isNegative = false;\n }\n // period\n break;\n case 'D':\n type = 'days';\n break;\n case 'W':\n type = 'weeks';\n break;\n case 'H':\n type = 'hours';\n break;\n case 'M':\n type = 'minutes';\n break;\n case 'S':\n type = 'seconds';\n break;\n default:\n // Not a valid chunk\n return 0;\n }\n\n if (type) {\n if (!number && number !== 0) {\n throw new Error(\n 'invalid duration value: Missing number before \"' + letter + '\"'\n );\n }\n let num = parseInt(number, 10);\n if (isStrictlyNaN(num)) {\n throw new Error(\n 'invalid duration value: Invalid number \"' + number + '\" before \"' + letter + '\"'\n );\n }\n object[type] = num;\n }\n\n return 1;\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n *\n * @ignore\n * @typedef {import(\"./types.js\").weekDay} weekDay\n * Imports the 'weekDay' type from the \"types.js\" module\n */\n\n/**\n * @classdesc\n * iCalendar Time representation (similar to JS Date object). Fully\n * independent of system (OS) timezone / time. Unlike JS Date, the month\n * January is 1, not zero.\n *\n * @example\n * var time = new ICAL.Time({\n * year: 2012,\n * month: 10,\n * day: 11\n * minute: 0,\n * second: 0,\n * isDate: false\n * });\n *\n *\n * @memberof ICAL\n*/\nclass Time {\n static _dowCache = {};\n static _wnCache = {};\n\n /**\n * Returns the days in the given month\n *\n * @param {Number} month The month to check\n * @param {Number} year The year to check\n * @return {Number} The number of days in the month\n */\n static daysInMonth(month, year) {\n let _daysInMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n let days = 30;\n\n if (month < 1 || month > 12) return days;\n\n days = _daysInMonth[month];\n\n if (month == 2) {\n days += Time.isLeapYear(year);\n }\n\n return days;\n }\n\n /**\n * Checks if the year is a leap year\n *\n * @param {Number} year The year to check\n * @return {Boolean} True, if the year is a leap year\n */\n static isLeapYear(year) {\n if (year <= 1752) {\n return ((year % 4) == 0);\n } else {\n return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));\n }\n }\n\n /**\n * Create a new ICAL.Time from the day of year and year. The date is returned\n * in floating timezone.\n *\n * @param {Number} aDayOfYear The day of year\n * @param {Number} aYear The year to create the instance in\n * @return {Time} The created instance with the calculated date\n */\n static fromDayOfYear(aDayOfYear, aYear) {\n let year = aYear;\n let doy = aDayOfYear;\n let tt = new Time();\n tt.auto_normalize = false;\n let is_leap = (Time.isLeapYear(year) ? 1 : 0);\n\n if (doy < 1) {\n year--;\n is_leap = (Time.isLeapYear(year) ? 1 : 0);\n doy += Time.daysInYearPassedMonth[is_leap][12];\n return Time.fromDayOfYear(doy, year);\n } else if (doy > Time.daysInYearPassedMonth[is_leap][12]) {\n is_leap = (Time.isLeapYear(year) ? 1 : 0);\n doy -= Time.daysInYearPassedMonth[is_leap][12];\n year++;\n return Time.fromDayOfYear(doy, year);\n }\n\n tt.year = year;\n tt.isDate = true;\n\n for (let month = 11; month >= 0; month--) {\n if (doy > Time.daysInYearPassedMonth[is_leap][month]) {\n tt.month = month + 1;\n tt.day = doy - Time.daysInYearPassedMonth[is_leap][month];\n break;\n }\n }\n\n tt.auto_normalize = true;\n return tt;\n }\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @deprecated Use {@link ICAL.Time.fromDateString} instead\n * @param {String} str The string to create from\n * @return {Time} The date/time instance\n */\n static fromStringv2(str) {\n return new Time({\n year: parseInt(str.slice(0, 4), 10),\n month: parseInt(str.slice(5, 7), 10),\n day: parseInt(str.slice(8, 10), 10),\n isDate: true\n });\n }\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @param {String} aValue The string to create from\n * @return {Time} The date/time instance\n */\n static fromDateString(aValue) {\n // Dates should have no timezone.\n // Google likes to sometimes specify Z on dates\n // we specifically ignore that to avoid issues.\n\n // YYYY-MM-DD\n // 2012-10-10\n return new Time({\n year: strictParseInt(aValue.slice(0, 4)),\n month: strictParseInt(aValue.slice(5, 7)),\n day: strictParseInt(aValue.slice(8, 10)),\n isDate: true\n });\n }\n\n /**\n * Returns a new ICAL.Time instance from a date-time string, e.g\n * 2015-01-02T03:04:05. If a property is specified, the timezone is set up\n * from the property's TZID parameter.\n *\n * @param {String} aValue The string to create from\n * @param {Property=} prop The property the date belongs to\n * @return {Time} The date/time instance\n */\n static fromDateTimeString(aValue, prop) {\n if (aValue.length < 19) {\n throw new Error(\n 'invalid date-time value: \"' + aValue + '\"'\n );\n }\n\n let zone;\n let zoneId;\n\n if (aValue[19] && aValue[19] === 'Z') {\n zone = Timezone.utcTimezone;\n } else if (prop) {\n zoneId = prop.getParameter('tzid');\n\n if (prop.parent) {\n if (prop.parent.name === 'standard' || prop.parent.name === 'daylight') {\n // Per RFC 5545 3.8.2.4 and 3.8.2.2, start/end date-times within\n // these components MUST be specified in local time.\n zone = Timezone.localTimezone;\n } else if (zoneId) {\n // If the desired time zone is defined within the component tree,\n // fetch its definition and prefer that.\n zone = prop.parent.getTimeZoneByID(zoneId);\n }\n }\n }\n\n const timeData = {\n year: strictParseInt(aValue.slice(0, 4)),\n month: strictParseInt(aValue.slice(5, 7)),\n day: strictParseInt(aValue.slice(8, 10)),\n hour: strictParseInt(aValue.slice(11, 13)),\n minute: strictParseInt(aValue.slice(14, 16)),\n second: strictParseInt(aValue.slice(17, 19)),\n };\n\n // Although RFC 5545 requires that all TZIDs used within a file have a\n // corresponding time zone definition, we may not be parsing the full file\n // or we may be dealing with a non-compliant file; in either case, we can\n // check our own time zone service for the TZID in a last-ditch effort.\n if (zoneId && !zone) {\n timeData.timezone = zoneId;\n }\n\n // 2012-10-10T10:10:10(Z)?\n return new Time(timeData, zone);\n }\n\n /**\n * Returns a new ICAL.Time instance from a date or date-time string,\n *\n * @param {String} aValue The string to create from\n * @param {Property=} prop The property the date belongs to\n * @return {Time} The date/time instance\n */\n static fromString(aValue, aProperty) {\n if (aValue.length > 10) {\n return Time.fromDateTimeString(aValue, aProperty);\n } else {\n return Time.fromDateString(aValue);\n }\n }\n\n /**\n * Creates a new ICAL.Time instance from the given Javascript Date.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} [useUTC=false] If true, the UTC values of the date will be used\n */\n static fromJSDate(aDate, useUTC) {\n let tt = new Time();\n return tt.fromJSDate(aDate, useUTC);\n }\n\n /**\n * Creates a new ICAL.Time instance from the the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {Timezone=} aZone Timezone this position occurs in\n */\n static fromData = function fromData(aData, aZone) {\n let t = new Time();\n return t.fromData(aData, aZone);\n };\n\n /**\n * Creates a new ICAL.Time instance from the current moment.\n * The instance is “floating” - has no timezone relation.\n * To create an instance considering the time zone, call\n * ICAL.Time.fromJSDate(new Date(), true)\n * @return {Time}\n */\n static now() {\n return Time.fromJSDate(new Date(), false);\n }\n\n /**\n * Returns the date on which ISO week number 1 starts.\n *\n * @see Time#weekNumber\n * @param {Number} aYear The year to search in\n * @param {weekDay=} aWeekStart The week start weekday, used for calculation.\n * @return {Time} The date on which week number 1 starts\n */\n static weekOneStarts(aYear, aWeekStart) {\n let t = Time.fromData({\n year: aYear,\n month: 1,\n day: 1,\n isDate: true\n });\n\n let dow = t.dayOfWeek();\n let wkst = aWeekStart || Time.DEFAULT_WEEK_START;\n if (dow > Time.THURSDAY) {\n t.day += 7;\n }\n if (wkst > Time.THURSDAY) {\n t.day -= 7;\n }\n\n t.day -= dow - wkst;\n\n return t;\n }\n\n /**\n * Get the dominical letter for the given year. Letters range from A - G for\n * common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n static getDominicalLetter(yr) {\n let LTRS = \"GFEDCBA\";\n let dom = (yr + (yr / 4 | 0) + (yr / 400 | 0) - (yr / 100 | 0) - 1) % 7;\n let isLeap = Time.isLeapYear(yr);\n if (isLeap) {\n return LTRS[(dom + 6) % 7] + LTRS[dom];\n } else {\n return LTRS[dom];\n }\n }\n\n static #epochTime = null;\n /**\n * January 1st, 1970 as an ICAL.Time.\n * @type {Time}\n * @constant\n * @instance\n */\n static get epochTime() {\n if (!this.#epochTime) {\n this.#epochTime = Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n isDate: false,\n timezone: \"Z\"\n });\n }\n return this.#epochTime;\n }\n\n static _cmp_attr(a, b, attr) {\n if (a[attr] > b[attr]) return 1;\n if (a[attr] < b[attr]) return -1;\n return 0;\n }\n\n /**\n * The days that have passed in the year after a given month. The array has\n * two members, one being an array of passed days for non-leap years, the\n * other analog for leap years.\n * @example\n * var isLeapYear = ICAL.Time.isLeapYear(year);\n * var passedDays = ICAL.Time.daysInYearPassedMonth[isLeapYear][month];\n * @type {Array.>}\n */\n static daysInYearPassedMonth = [\n [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],\n [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]\n ];\n\n static SUNDAY = 1;\n static MONDAY = 2;\n static TUESDAY = 3;\n static WEDNESDAY = 4;\n static THURSDAY = 5;\n static FRIDAY = 6;\n static SATURDAY = 7;\n\n /**\n * The default weekday for the WKST part.\n * @constant\n * @default ICAL.Time.MONDAY\n */\n static DEFAULT_WEEK_START = 2; // MONDAY\n\n /**\n * Creates a new ICAL.Time instance.\n *\n * @param {Object} data Time initialization\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Boolean=} data.isDate If true, the instance represents a date (as\n * opposed to a date-time)\n * @param {Timezone} zone timezone this position occurs in\n */\n constructor(data, zone) {\n this.wrappedJSObject = this;\n let time = this._time = Object.create(null);\n\n /* time defaults */\n time.year = 0;\n time.month = 1;\n time.day = 1;\n time.hour = 0;\n time.minute = 0;\n time.second = 0;\n time.isDate = false;\n\n this.fromData(data, zone);\n }\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltime\"\n */\n icalclass = \"icaltime\";\n _cachedUnixTime = null;\n\n /**\n * The type name, to be used in the jCal object. This value may change and\n * is strictly defined by the {@link ICAL.Time#isDate isDate} member.\n * @type {String}\n * @default \"date-time\"\n */\n get icaltype() {\n return this.isDate ? 'date' : 'date-time';\n }\n\n /**\n * The timezone for this time.\n * @type {Timezone}\n */\n zone = null;\n\n /**\n * Internal uses to indicate that a change has been made and the next read\n * operation must attempt to normalize the value (for example changing the\n * day to 33).\n *\n * @type {Boolean}\n * @private\n */\n _pendingNormalization = false;\n\n /**\n * Returns a clone of the time object.\n *\n * @return {Time} The cloned object\n */\n clone() {\n return new Time(this._time, this.zone);\n }\n\n /**\n * Reset the time instance to epoch time\n */\n reset() {\n this.fromData(Time.epochTime);\n this.zone = Timezone.utcTimezone;\n }\n\n /**\n * Reset the time instance to the given date/time values.\n *\n * @param {Number} year The year to set\n * @param {Number} month The month to set\n * @param {Number} day The day to set\n * @param {Number} hour The hour to set\n * @param {Number} minute The minute to set\n * @param {Number} second The second to set\n * @param {Timezone} timezone The timezone to set\n */\n resetTo(year, month, day, hour, minute, second, timezone) {\n this.fromData({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n zone: timezone\n });\n }\n\n /**\n * Set up the current instance from the Javascript date value.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} [useUTC=false] If true, the UTC values of the date will be used\n */\n fromJSDate(aDate, useUTC) {\n if (!aDate) {\n this.reset();\n } else {\n if (useUTC) {\n this.zone = Timezone.utcTimezone;\n this.year = aDate.getUTCFullYear();\n this.month = aDate.getUTCMonth() + 1;\n this.day = aDate.getUTCDate();\n this.hour = aDate.getUTCHours();\n this.minute = aDate.getUTCMinutes();\n this.second = aDate.getUTCSeconds();\n } else {\n this.zone = Timezone.localTimezone;\n this.year = aDate.getFullYear();\n this.month = aDate.getMonth() + 1;\n this.day = aDate.getDate();\n this.hour = aDate.getHours();\n this.minute = aDate.getMinutes();\n this.second = aDate.getSeconds();\n }\n }\n this._cachedUnixTime = null;\n return this;\n }\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {Timezone=} aZone Timezone this position occurs in\n */\n fromData(aData, aZone) {\n if (aData) {\n for (let [key, value] of Object.entries(aData)) {\n // ical type cannot be set\n if (key === 'icaltype') continue;\n this[key] = value;\n }\n }\n\n if (aZone) {\n this.zone = aZone;\n }\n\n if (aData && !(\"isDate\" in aData)) {\n this.isDate = !(\"hour\" in aData);\n } else if (aData && (\"isDate\" in aData)) {\n this.isDate = aData.isDate;\n }\n\n if (aData && \"timezone\" in aData) {\n let zone = TimezoneService.get(\n aData.timezone\n );\n\n this.zone = zone || Timezone.localTimezone;\n }\n\n if (aData && \"zone\" in aData) {\n this.zone = aData.zone;\n }\n\n if (!this.zone) {\n this.zone = Timezone.localTimezone;\n }\n\n this._cachedUnixTime = null;\n return this;\n }\n\n /**\n * Calculate the day of week.\n * @param {weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {weekDay}\n */\n dayOfWeek(aWeekStart) {\n let firstDow = aWeekStart || Time.SUNDAY;\n let dowCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + firstDow;\n if (dowCacheKey in Time._dowCache) {\n return Time._dowCache[dowCacheKey];\n }\n\n // Using Zeller's algorithm\n let q = this.day;\n let m = this.month + (this.month < 3 ? 12 : 0);\n let Y = this.year - (this.month < 3 ? 1 : 0);\n\n let h = (q + Y + trunc(((m + 1) * 26) / 10) + trunc(Y / 4));\n { // eslint-disable-line no-constant-condition\n h += trunc(Y / 100) * 6 + trunc(Y / 400);\n }\n\n // Normalize to 1 = wkst\n h = ((h + 7 - firstDow) % 7) + 1;\n Time._dowCache[dowCacheKey] = h;\n return h;\n }\n\n /**\n * Calculate the day of year.\n * @return {Number}\n */\n dayOfYear() {\n let is_leap = (Time.isLeapYear(this.year) ? 1 : 0);\n let diypm = Time.daysInYearPassedMonth;\n return diypm[is_leap][this.month - 1] + this.day;\n }\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * week. The resulting ICAL.Time instance is of icaltype date, even if this\n * is a date-time.\n *\n * @param {weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Time} The start of the week (cloned)\n */\n startOfWeek(aWeekStart) {\n let firstDow = aWeekStart || Time.SUNDAY;\n let result = this.clone();\n result.day -= ((this.dayOfWeek() + 7 - firstDow) % 7);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the week.\n * The resulting ICAL.Time instance is of icaltype date, even if this is a\n * date-time.\n *\n * @param {weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Time} The end of the week (cloned)\n */\n endOfWeek(aWeekStart) {\n let firstDow = aWeekStart || Time.SUNDAY;\n let result = this.clone();\n result.day += (7 - this.dayOfWeek() + firstDow - Time.SUNDAY) % 7;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {Time} The start of the month (cloned)\n */\n startOfMonth() {\n let result = this.clone();\n result.day = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {Time} The end of the month (cloned)\n */\n endOfMonth() {\n let result = this.clone();\n result.day = Time.daysInMonth(result.month, result.year);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {Time} The start of the year (cloned)\n */\n startOfYear() {\n let result = this.clone();\n result.day = 1;\n result.month = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {Time} The end of the year (cloned)\n */\n endOfYear() {\n let result = this.clone();\n result.day = 31;\n result.month = 12;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n }\n\n /**\n * First calculates the start of the week, then returns the day of year for\n * this date. If the day falls into the previous year, the day is zero or negative.\n *\n * @param {weekDay=} aFirstDayOfWeek\n * The week start weekday, defaults to SUNDAY\n * @return {Number} The calculated day of year\n */\n startDoyWeek(aFirstDayOfWeek) {\n let firstDow = aFirstDayOfWeek || Time.SUNDAY;\n let delta = this.dayOfWeek() - firstDow;\n if (delta < 0) delta += 7;\n return this.dayOfYear() - delta;\n }\n\n /**\n * Get the dominical letter for the current year. Letters range from A - G\n * for common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n getDominicalLetter() {\n return Time.getDominicalLetter(this.year);\n }\n\n /**\n * Finds the nthWeekDay relative to the current month (not day). The\n * returned value is a day relative the month that this month belongs to so\n * 1 would indicate the first of the month and 40 would indicate a day in\n * the following month.\n *\n * @param {Number} aDayOfWeek Day of the week see the day name constants\n * @param {Number} aPos Nth occurrence of a given week day values\n * of 1 and 0 both indicate the first weekday of that type. aPos may\n * be either positive or negative\n *\n * @return {Number} numeric value indicating a day relative\n * to the current month of this time object\n */\n nthWeekDay(aDayOfWeek, aPos) {\n let daysInMonth = Time.daysInMonth(this.month, this.year);\n let weekday;\n let pos = aPos;\n\n let start = 0;\n\n let otherDay = this.clone();\n\n if (pos >= 0) {\n otherDay.day = 1;\n\n // because 0 means no position has been given\n // 1 and 0 indicate the same day.\n if (pos != 0) {\n // remove the extra numeric value\n pos--;\n }\n\n // set current start offset to current day.\n start = otherDay.day;\n\n // find the current day of week\n let startDow = otherDay.dayOfWeek();\n\n // calculate the difference between current\n // day of the week and desired day of the week\n let offset = aDayOfWeek - startDow;\n\n\n // if the offset goes into the past\n // week we add 7 so it goes into the next\n // week. We only want to go forward in time here.\n if (offset < 0)\n // this is really important otherwise we would\n // end up with dates from in the past.\n offset += 7;\n\n // add offset to start so start is the same\n // day of the week as the desired day of week.\n start += offset;\n\n // because we are going to add (and multiply)\n // the numeric value of the day we subtract it\n // from the start position so not to add it twice.\n start -= aDayOfWeek;\n\n // set week day\n weekday = aDayOfWeek;\n } else {\n\n // then we set it to the last day in the current month\n otherDay.day = daysInMonth;\n\n // find the ends weekday\n let endDow = otherDay.dayOfWeek();\n\n pos++;\n\n weekday = (endDow - aDayOfWeek);\n\n if (weekday < 0) {\n weekday += 7;\n }\n\n weekday = daysInMonth - weekday;\n }\n\n weekday += pos * 7;\n\n return start + weekday;\n }\n\n /**\n * Checks if current time is the nth weekday, relative to the current\n * month. Will always return false when rule resolves outside of current\n * month.\n *\n * @param {weekDay} aDayOfWeek Day of week to check\n * @param {Number} aPos Relative position\n * @return {Boolean} True, if it is the nth weekday\n */\n isNthWeekDay(aDayOfWeek, aPos) {\n let dow = this.dayOfWeek();\n\n if (aPos === 0 && dow === aDayOfWeek) {\n return true;\n }\n\n // get pos\n let day = this.nthWeekDay(aDayOfWeek, aPos);\n\n if (day === this.day) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Calculates the ISO 8601 week number. The first week of a year is the\n * week that contains the first Thursday. The year can have 53 weeks, if\n * January 1st is a Friday.\n *\n * Note there are regions where the first week of the year is the one that\n * starts on January 1st, which may offset the week number. Also, if a\n * different week start is specified, this will also affect the week\n * number.\n *\n * @see Time.weekOneStarts\n * @param {weekDay} aWeekStart The weekday the week starts with\n * @return {Number} The ISO week number\n */\n weekNumber(aWeekStart) {\n let wnCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + aWeekStart;\n if (wnCacheKey in Time._wnCache) {\n return Time._wnCache[wnCacheKey];\n }\n // This function courtesty of Julian Bucknall, published under the MIT license\n // http://www.boyet.com/articles/publishedarticles/calculatingtheisoweeknumb.html\n // plus some fixes to be able to use different week starts.\n let week1;\n\n let dt = this.clone();\n dt.isDate = true;\n let isoyear = this.year;\n\n if (dt.month == 12 && dt.day > 25) {\n week1 = Time.weekOneStarts(isoyear + 1, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = Time.weekOneStarts(isoyear, aWeekStart);\n } else {\n isoyear++;\n }\n } else {\n week1 = Time.weekOneStarts(isoyear, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = Time.weekOneStarts(--isoyear, aWeekStart);\n }\n }\n\n let daysBetween = (dt.subtractDate(week1).toSeconds() / 86400);\n let answer = trunc(daysBetween / 7) + 1;\n Time._wnCache[wnCacheKey] = answer;\n return answer;\n }\n\n /**\n * Adds the duration to the current time. The instance is modified in\n * place.\n *\n * @param {Duration} aDuration The duration to add\n */\n addDuration(aDuration) {\n let mult = (aDuration.isNegative ? -1 : 1);\n\n // because of the duration optimizations it is much\n // more efficient to grab all the values up front\n // then set them directly (which will avoid a normalization call).\n // So we don't actually normalize until we need it.\n let second = this.second;\n let minute = this.minute;\n let hour = this.hour;\n let day = this.day;\n\n second += mult * aDuration.seconds;\n minute += mult * aDuration.minutes;\n hour += mult * aDuration.hours;\n day += mult * aDuration.days;\n day += mult * 7 * aDuration.weeks;\n\n this.second = second;\n this.minute = minute;\n this.hour = hour;\n this.day = day;\n\n this._cachedUnixTime = null;\n }\n\n /**\n * Subtract the date details (_excluding_ timezone). Useful for finding\n * the relative difference between two time objects excluding their\n * timezone differences.\n *\n * @param {Time} aDate The date to subtract\n * @return {Duration} The difference as a duration\n */\n subtractDate(aDate) {\n let unixTime = this.toUnixTime() + this.utcOffset();\n let other = aDate.toUnixTime() + aDate.utcOffset();\n return Duration.fromSeconds(unixTime - other);\n }\n\n /**\n * Subtract the date details, taking timezones into account.\n *\n * @param {Time} aDate The date to subtract\n * @return {Duration} The difference in duration\n */\n subtractDateTz(aDate) {\n let unixTime = this.toUnixTime();\n let other = aDate.toUnixTime();\n return Duration.fromSeconds(unixTime - other);\n }\n\n /**\n * Compares the ICAL.Time instance with another one.\n *\n * @param {Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare(other) {\n let a = this.toUnixTime();\n let b = other.toUnixTime();\n\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n }\n\n /**\n * Compares only the date part of this instance with another one.\n *\n * @param {Duration} other The instance to compare with\n * @param {Timezone} tz The timezone to compare in\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compareDateOnlyTz(other, tz) {\n let a = this.convertToZone(tz);\n let b = other.convertToZone(tz);\n let rc = 0;\n\n if ((rc = Time._cmp_attr(a, b, \"year\")) != 0) return rc;\n if ((rc = Time._cmp_attr(a, b, \"month\")) != 0) return rc;\n if ((rc = Time._cmp_attr(a, b, \"day\")) != 0) return rc;\n\n return rc;\n }\n\n /**\n * Convert the instance into another timezone. The returned ICAL.Time\n * instance is always a copy.\n *\n * @param {Timezone} zone The zone to convert to\n * @return {Time} The copy, converted to the zone\n */\n convertToZone(zone) {\n let copy = this.clone();\n let zone_equals = (this.zone.tzid == zone.tzid);\n\n if (!this.isDate && !zone_equals) {\n Timezone.convert_time(copy, this.zone, zone);\n }\n\n copy.zone = zone;\n return copy;\n }\n\n /**\n * Calculates the UTC offset of the current date/time in the timezone it is\n * in.\n *\n * @return {Number} UTC offset in seconds\n */\n utcOffset() {\n if (this.zone == Timezone.localTimezone ||\n this.zone == Timezone.utcTimezone) {\n return 0;\n } else {\n return this.zone.utcOffset(this);\n }\n }\n\n /**\n * Returns an RFC 5545 compliant ical representation of this object.\n *\n * @return {String} ical date/date-time\n */\n toICALString() {\n let string = this.toString();\n\n if (string.length > 10) {\n return design$1.icalendar.value['date-time'].toICAL(string);\n } else {\n return design$1.icalendar.value.date.toICAL(string);\n }\n }\n\n /**\n * The string representation of this date/time, in jCal form\n * (including : and - separators).\n * @return {String}\n */\n toString() {\n let result = this.year + '-' +\n pad2(this.month) + '-' +\n pad2(this.day);\n\n if (!this.isDate) {\n result += 'T' + pad2(this.hour) + ':' +\n pad2(this.minute) + ':' +\n pad2(this.second);\n\n if (this.zone === Timezone.utcTimezone) {\n result += 'Z';\n }\n }\n\n return result;\n }\n\n /**\n * Converts the current instance to a Javascript date\n * @return {Date}\n */\n toJSDate() {\n if (this.zone == Timezone.localTimezone) {\n if (this.isDate) {\n return new Date(this.year, this.month - 1, this.day);\n } else {\n return new Date(this.year, this.month - 1, this.day,\n this.hour, this.minute, this.second, 0);\n }\n } else {\n return new Date(this.toUnixTime() * 1000);\n }\n }\n\n _normalize() {\n if (this._time.isDate) {\n this._time.hour = 0;\n this._time.minute = 0;\n this._time.second = 0;\n }\n this.adjust(0, 0, 0, 0);\n\n return this;\n }\n\n /**\n * Adjust the date/time by the given offset\n *\n * @param {Number} aExtraDays The extra amount of days\n * @param {Number} aExtraHours The extra amount of hours\n * @param {Number} aExtraMinutes The extra amount of minutes\n * @param {Number} aExtraSeconds The extra amount of seconds\n * @param {Number=} aTime The time to adjust, defaults to the\n * current instance.\n */\n adjust(aExtraDays, aExtraHours, aExtraMinutes, aExtraSeconds, aTime) {\n\n let minutesOverflow, hoursOverflow,\n daysOverflow = 0, yearsOverflow = 0;\n\n let second, minute, hour, day;\n let daysInMonth;\n\n let time = aTime || this._time;\n\n if (!time.isDate) {\n second = time.second + aExtraSeconds;\n time.second = second % 60;\n minutesOverflow = trunc(second / 60);\n if (time.second < 0) {\n time.second += 60;\n minutesOverflow--;\n }\n\n minute = time.minute + aExtraMinutes + minutesOverflow;\n time.minute = minute % 60;\n hoursOverflow = trunc(minute / 60);\n if (time.minute < 0) {\n time.minute += 60;\n hoursOverflow--;\n }\n\n hour = time.hour + aExtraHours + hoursOverflow;\n\n time.hour = hour % 24;\n daysOverflow = trunc(hour / 24);\n if (time.hour < 0) {\n time.hour += 24;\n daysOverflow--;\n }\n }\n\n\n // Adjust month and year first, because we need to know what month the day\n // is in before adjusting it.\n if (time.month > 12) {\n yearsOverflow = trunc((time.month - 1) / 12);\n } else if (time.month < 1) {\n yearsOverflow = trunc(time.month / 12) - 1;\n }\n\n time.year += yearsOverflow;\n time.month -= 12 * yearsOverflow;\n\n // Now take care of the days (and adjust month if needed)\n day = time.day + aExtraDays + daysOverflow;\n\n if (day > 0) {\n for (;;) {\n daysInMonth = Time.daysInMonth(time.month, time.year);\n if (day <= daysInMonth) {\n break;\n }\n\n time.month++;\n if (time.month > 12) {\n time.year++;\n time.month = 1;\n }\n\n day -= daysInMonth;\n }\n } else {\n while (day <= 0) {\n if (time.month == 1) {\n time.year--;\n time.month = 12;\n } else {\n time.month--;\n }\n\n day += Time.daysInMonth(time.month, time.year);\n }\n }\n\n time.day = day;\n\n this._cachedUnixTime = null;\n return this;\n }\n\n /**\n * Sets up the current instance from unix time, the number of seconds since\n * January 1st, 1970.\n *\n * @param {Number} seconds The seconds to set up with\n */\n fromUnixTime(seconds) {\n this.zone = Timezone.utcTimezone;\n // We could use `fromJSDate` here, but this is about twice as fast.\n // We could also clone `epochTime` and use `adjust` for a more\n // ical.js-centric approach, but this is about 100 times as fast.\n let date = new Date(seconds * 1000);\n this.year = date.getUTCFullYear();\n this.month = date.getUTCMonth() + 1;\n this.day = date.getUTCDate();\n if (this._time.isDate) {\n this.hour = 0;\n this.minute = 0;\n this.second = 0;\n } else {\n this.hour = date.getUTCHours();\n this.minute = date.getUTCMinutes();\n this.second = date.getUTCSeconds();\n }\n\n this._cachedUnixTime = null;\n }\n\n /**\n * Converts the current instance to seconds since January 1st 1970.\n *\n * @return {Number} Seconds since 1970\n */\n toUnixTime() {\n if (this._cachedUnixTime !== null) {\n return this._cachedUnixTime;\n }\n let offset = this.utcOffset();\n\n // we use the offset trick to ensure\n // that we are getting the actual UTC time\n let ms = Date.UTC(\n this.year,\n this.month - 1,\n this.day,\n this.hour,\n this.minute,\n this.second - offset\n );\n\n // seconds\n this._cachedUnixTime = ms / 1000;\n return this._cachedUnixTime;\n }\n\n /**\n * Converts time to into Object which can be serialized then re-created\n * using the constructor.\n *\n * @example\n * // toJSON will automatically be called\n * var json = JSON.stringify(mytime);\n *\n * var deserialized = JSON.parse(json);\n *\n * var time = new ICAL.Time(deserialized);\n *\n * @return {Object}\n */\n toJSON() {\n let copy = [\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'isDate'\n ];\n\n let result = Object.create(null);\n\n let i = 0;\n let len = copy.length;\n let prop;\n\n for (; i < len; i++) {\n prop = copy[i];\n result[prop] = this[prop];\n }\n\n if (this.zone) {\n result.timezone = this.zone.tzid;\n }\n\n return result;\n }\n}\n\n(function setupNormalizeAttributes() {\n // This needs to run before any instances are created!\n function defineAttr(attr) {\n Object.defineProperty(Time.prototype, attr, {\n get: function getTimeAttr() {\n if (this._pendingNormalization) {\n this._normalize();\n this._pendingNormalization = false;\n }\n\n return this._time[attr];\n },\n set: function setTimeAttr(val) {\n // Check if isDate will be set and if was not set to normalize date.\n // This avoids losing days when seconds, minutes and hours are zeroed\n // what normalize will do when time is a date.\n if (attr === \"isDate\" && val && !this._time.isDate) {\n this.adjust(0, 0, 0, 0);\n }\n this._cachedUnixTime = null;\n this._pendingNormalization = true;\n this._time[attr] = val;\n }\n });\n\n }\n\n defineAttr(\"year\");\n defineAttr(\"month\");\n defineAttr(\"day\");\n defineAttr(\"hour\");\n defineAttr(\"minute\");\n defineAttr(\"second\");\n defineAttr(\"isDate\");\n})();\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n *\n * @ignore\n * @typedef {import(\"./types.js\").parserState} parserState\n * Imports the 'parserState' type from the \"types.js\" module\n * @typedef {import(\"./types.js\").designSet} designSet\n * Imports the 'designSet' type from the \"types.js\" module\n */\n\nconst CHAR = /[^ \\t]/;\nconst VALUE_DELIMITER = ':';\nconst PARAM_DELIMITER = ';';\nconst PARAM_NAME_DELIMITER = '=';\nconst DEFAULT_VALUE_TYPE$1 = 'unknown';\nconst DEFAULT_PARAM_TYPE = 'text';\nconst RFC6868_REPLACE_MAP$1 = { \"^'\": '\"', \"^n\": \"\\n\", \"^^\": \"^\" };\n\n/**\n * Parses iCalendar or vCard data into a raw jCal object. Consult\n * documentation on the {@tutorial layers|layers of parsing} for more\n * details.\n *\n * @function ICAL.parse\n * @memberof ICAL\n * @variation function\n * @todo Fix the API to be more clear on the return type\n * @param {String} input The string data to parse\n * @return {Object|Object[]} A single jCal object, or an array thereof\n */\nfunction parse(input) {\n let state = {};\n let root = state.component = [];\n\n state.stack = [root];\n\n parse._eachLine(input, function(err, line) {\n parse._handleContentLine(line, state);\n });\n\n\n // when there are still items on the stack\n // throw a fatal error, a component was not closed\n // correctly in that case.\n if (state.stack.length > 1) {\n throw new ParserError(\n 'invalid ical body. component began but did not end'\n );\n }\n\n state = null;\n\n return (root.length == 1 ? root[0] : root);\n}\n\n/**\n * Parse an iCalendar property value into the jCal for a single property\n *\n * @function ICAL.parse.property\n * @param {String} str\n * The iCalendar property string to parse\n * @param {designSet=} designSet\n * The design data to use for this property\n * @return {Object}\n * The jCal Object containing the property\n */\nparse.property = function(str, designSet) {\n let state = {\n component: [[], []],\n designSet: designSet || design$1.defaultSet\n };\n parse._handleContentLine(str, state);\n return state.component[1][0];\n};\n\n/**\n * Convenience method to parse a component. You can use ICAL.parse() directly\n * instead.\n *\n * @function ICAL.parse.component\n * @see ICAL.parse(function)\n * @param {String} str The iCalendar component string to parse\n * @return {Object} The jCal Object containing the component\n */\nparse.component = function(str) {\n return parse(str);\n};\n\n\n/**\n * An error that occurred during parsing.\n *\n * @param {String} message The error message\n * @memberof ICAL.parse\n * @extends {Error}\n */\nclass ParserError extends Error {\n name = this.constructor.name;\n}\n\n// classes & constants\nparse.ParserError = ParserError;\n\n\n/**\n * Handles a single line of iCalendar/vCard, updating the state.\n *\n * @private\n * @function ICAL.parse._handleContentLine\n * @param {String} line The content line to process\n * @param {parserState} state The current state of the line parsing\n */\nparse._handleContentLine = function(line, state) {\n // break up the parts of the line\n let valuePos = line.indexOf(VALUE_DELIMITER);\n let paramPos = line.indexOf(PARAM_DELIMITER);\n\n let lastParamIndex;\n let lastValuePos;\n\n // name of property or begin/end\n let name;\n let value;\n // params is only overridden if paramPos !== -1.\n // we can't do params = params || {} later on\n // because it sacrifices ops.\n let params = {};\n\n /**\n * Different property cases\n *\n *\n * 1. RRULE:FREQ=foo\n * // FREQ= is not a param but the value\n *\n * 2. ATTENDEE;ROLE=REQ-PARTICIPANT;\n * // ROLE= is a param because : has not happened yet\n */\n // when the parameter delimiter is after the\n // value delimiter then it is not a parameter.\n\n if ((paramPos !== -1 && valuePos !== -1)) {\n // when the parameter delimiter is after the\n // value delimiter then it is not a parameter.\n if (paramPos > valuePos) {\n paramPos = -1;\n }\n }\n\n let parsedParams;\n if (paramPos !== -1) {\n name = line.slice(0, Math.max(0, paramPos)).toLowerCase();\n parsedParams = parse._parseParameters(line.slice(Math.max(0, paramPos)), 0, state.designSet);\n if (parsedParams[2] == -1) {\n throw new ParserError(\"Invalid parameters in '\" + line + \"'\");\n }\n params = parsedParams[0];\n lastParamIndex = parsedParams[1].length + parsedParams[2] + paramPos;\n if ((lastValuePos =\n line.slice(Math.max(0, lastParamIndex)).indexOf(VALUE_DELIMITER)) !== -1) {\n value = line.slice(Math.max(0, lastParamIndex + lastValuePos + 1));\n } else {\n throw new ParserError(\"Missing parameter value in '\" + line + \"'\");\n }\n } else if (valuePos !== -1) {\n // without parmeters (BEGIN:VCAENDAR, CLASS:PUBLIC)\n name = line.slice(0, Math.max(0, valuePos)).toLowerCase();\n value = line.slice(Math.max(0, valuePos + 1));\n\n if (name === 'begin') {\n let newComponent = [value.toLowerCase(), [], []];\n if (state.stack.length === 1) {\n state.component.push(newComponent);\n } else {\n state.component[2].push(newComponent);\n }\n state.stack.push(state.component);\n state.component = newComponent;\n if (!state.designSet) {\n state.designSet = design$1.getDesignSet(state.component[0]);\n }\n return;\n } else if (name === 'end') {\n state.component = state.stack.pop();\n return;\n }\n // If it is not begin/end, then this is a property with an empty value,\n // which should be considered valid.\n } else {\n /**\n * Invalid line.\n * The rational to throw an error is we will\n * never be certain that the rest of the file\n * is sane and it is unlikely that we can serialize\n * the result correctly either.\n */\n throw new ParserError(\n 'invalid line (no token \";\" or \":\") \"' + line + '\"'\n );\n }\n\n let valueType;\n let multiValue = false;\n let structuredValue = false;\n let propertyDetails;\n let splitName;\n let ungroupedName;\n\n // fetch the ungrouped part of the name\n if (state.designSet.propertyGroups && name.indexOf('.') !== -1) {\n splitName = name.split('.');\n params.group = splitName[0];\n ungroupedName = splitName[1];\n } else {\n ungroupedName = name;\n }\n\n if (ungroupedName in state.designSet.property) {\n propertyDetails = state.designSet.property[ungroupedName];\n\n if ('multiValue' in propertyDetails) {\n multiValue = propertyDetails.multiValue;\n }\n\n if ('structuredValue' in propertyDetails) {\n structuredValue = propertyDetails.structuredValue;\n }\n\n if (value && 'detectType' in propertyDetails) {\n valueType = propertyDetails.detectType(value);\n }\n }\n\n // attempt to determine value\n if (!valueType) {\n if (!('value' in params)) {\n if (propertyDetails) {\n valueType = propertyDetails.defaultType;\n } else {\n valueType = DEFAULT_VALUE_TYPE$1;\n }\n } else {\n // possible to avoid this?\n valueType = params.value.toLowerCase();\n }\n }\n\n delete params.value;\n\n /**\n * Note on `var result` juggling:\n *\n * I observed that building the array in pieces has adverse\n * effects on performance, so where possible we inline the creation.\n * It is a little ugly but resulted in ~2000 additional ops/sec.\n */\n\n let result;\n if (multiValue && structuredValue) {\n value = parse._parseMultiValue(value, structuredValue, valueType, [], multiValue, state.designSet, structuredValue);\n result = [ungroupedName, params, valueType, value];\n } else if (multiValue) {\n result = [ungroupedName, params, valueType];\n parse._parseMultiValue(value, multiValue, valueType, result, null, state.designSet, false);\n } else if (structuredValue) {\n value = parse._parseMultiValue(value, structuredValue, valueType, [], null, state.designSet, structuredValue);\n result = [ungroupedName, params, valueType, value];\n } else {\n value = parse._parseValue(value, valueType, state.designSet, false);\n result = [ungroupedName, params, valueType, value];\n }\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (state.component[0] === 'vcard' && state.component[1].length === 0 &&\n !(name === 'version' && value === '4.0')) {\n state.designSet = design$1.getDesignSet(\"vcard3\");\n }\n state.component[1].push(result);\n};\n\n/**\n * Parse a value from the raw value into the jCard/jCal value.\n *\n * @private\n * @function ICAL.parse._parseValue\n * @param {String} value Original value\n * @param {String} type Type of value\n * @param {Object} designSet The design data to use for this value\n * @return {Object} varies on type\n */\nparse._parseValue = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'fromICAL' in designSet.value[type]) {\n return designSet.value[type].fromICAL(value, structuredValue);\n }\n return value;\n};\n\n/**\n * Parse parameters from a string to object.\n *\n * @function ICAL.parse._parseParameters\n * @private\n * @param {String} line A single unfolded line\n * @param {Number} start Position to start looking for properties\n * @param {Object} designSet The design data to use for this property\n * @return {Object} key/value pairs\n */\nparse._parseParameters = function(line, start, designSet) {\n let lastParam = start;\n let pos = 0;\n let delim = PARAM_NAME_DELIMITER;\n let result = {};\n let name, lcname;\n let value, valuePos = -1;\n let type, multiValue, mvdelim;\n\n // find the next '=' sign\n // use lastParam and pos to find name\n // check if \" is used if so get value from \"->\"\n // then increment pos to find next ;\n\n while ((pos !== false) &&\n (pos = line.indexOf(delim, pos + 1)) !== -1) {\n\n name = line.slice(lastParam + 1, pos);\n if (name.length == 0) {\n throw new ParserError(\"Empty parameter name in '\" + line + \"'\");\n }\n lcname = name.toLowerCase();\n mvdelim = false;\n multiValue = false;\n\n if (lcname in designSet.param && designSet.param[lcname].valueType) {\n type = designSet.param[lcname].valueType;\n } else {\n type = DEFAULT_PARAM_TYPE;\n }\n\n if (lcname in designSet.param) {\n multiValue = designSet.param[lcname].multiValue;\n if (designSet.param[lcname].multiValueSeparateDQuote) {\n mvdelim = parse._rfc6868Escape('\"' + multiValue + '\"');\n }\n }\n\n let nextChar = line[pos + 1];\n if (nextChar === '\"') {\n valuePos = pos + 2;\n pos = line.indexOf('\"', valuePos);\n if (multiValue && pos != -1) {\n let extendedValue = true;\n while (extendedValue) {\n if (line[pos + 1] == multiValue && line[pos + 2] == '\"') {\n pos = line.indexOf('\"', pos + 3);\n } else {\n extendedValue = false;\n }\n }\n }\n if (pos === -1) {\n throw new ParserError(\n 'invalid line (no matching double quote) \"' + line + '\"'\n );\n }\n value = line.slice(valuePos, pos);\n lastParam = line.indexOf(PARAM_DELIMITER, pos);\n let propValuePos = line.indexOf(VALUE_DELIMITER, pos);\n // if either no next parameter or delimeter in property value, let's stop here\n if (lastParam === -1 || (propValuePos !== -1 && lastParam > propValuePos)) {\n pos = false;\n }\n } else {\n valuePos = pos + 1;\n\n // move to next \";\"\n let nextPos = line.indexOf(PARAM_DELIMITER, valuePos);\n let propValuePos = line.indexOf(VALUE_DELIMITER, valuePos);\n if (propValuePos !== -1 && nextPos > propValuePos) {\n // this is a delimiter in the property value, let's stop here\n nextPos = propValuePos;\n pos = false;\n } else if (nextPos === -1) {\n // no \";\"\n if (propValuePos === -1) {\n nextPos = line.length;\n } else {\n nextPos = propValuePos;\n }\n pos = false;\n } else {\n lastParam = nextPos;\n pos = nextPos;\n }\n\n value = line.slice(valuePos, nextPos);\n }\n\n const length_before = value.length;\n value = parse._rfc6868Escape(value);\n valuePos += length_before - value.length;\n if (multiValue) {\n let delimiter = mvdelim || multiValue;\n value = parse._parseMultiValue(value, delimiter, type, [], null, designSet);\n } else {\n value = parse._parseValue(value, type, designSet);\n }\n\n if (multiValue && (lcname in result)) {\n if (Array.isArray(result[lcname])) {\n result[lcname].push(value);\n } else {\n result[lcname] = [\n result[lcname],\n value\n ];\n }\n } else {\n result[lcname] = value;\n }\n }\n return [result, value, valuePos];\n};\n\n/**\n * Internal helper for rfc6868. Exposing this on ICAL.parse so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @function ICAL.parse._rfc6868Escape\n * @param {String} val The value to escape\n * @return {String} The escaped value\n */\nparse._rfc6868Escape = function(val) {\n return val.replace(/\\^['n^]/g, function(x) {\n return RFC6868_REPLACE_MAP$1[x];\n });\n};\n\n/**\n * Parse a multi value string. This function is used either for parsing\n * actual multi-value property's values, or for handling parameter values. It\n * can be used for both multi-value properties and structured value properties.\n *\n * @private\n * @function ICAL.parse._parseMultiValue\n * @param {String} buffer The buffer containing the full value\n * @param {String} delim The multi-value delimiter\n * @param {String} type The value type to be parsed\n * @param {Array.} result The array to append results to, varies on value type\n * @param {String} innerMulti The inner delimiter to split each value with\n * @param {designSet} designSet The design data for this value\n * @return {?|Array.} Either an array of results, or the first result\n */\nparse._parseMultiValue = function(buffer, delim, type, result, innerMulti, designSet, structuredValue) {\n let pos = 0;\n let lastPos = 0;\n let value;\n if (delim.length === 0) {\n return buffer;\n }\n\n // split each piece\n while ((pos = unescapedIndexOf(buffer, delim, lastPos)) !== -1) {\n value = buffer.slice(lastPos, pos);\n if (innerMulti) {\n value = parse._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parse._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n lastPos = pos + delim.length;\n }\n\n // on the last piece take the rest of string\n value = buffer.slice(lastPos);\n if (innerMulti) {\n value = parse._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parse._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n\n return result.length == 1 ? result[0] : result;\n};\n\n/**\n * Process a complete buffer of iCalendar/vCard data line by line, correctly\n * unfolding content. Each line will be processed with the given callback\n *\n * @private\n * @function ICAL.parse._eachLine\n * @param {String} buffer The buffer to process\n * @param {function(?String, String)} callback The callback for each line\n */\nparse._eachLine = function(buffer, callback) {\n let len = buffer.length;\n let lastPos = buffer.search(CHAR);\n let pos = lastPos;\n let line;\n let firstChar;\n\n let newlineOffset;\n\n do {\n pos = buffer.indexOf('\\n', lastPos) + 1;\n\n if (pos > 1 && buffer[pos - 2] === '\\r') {\n newlineOffset = 2;\n } else {\n newlineOffset = 1;\n }\n\n if (pos === 0) {\n pos = len;\n newlineOffset = 0;\n }\n\n firstChar = buffer[lastPos];\n\n if (firstChar === ' ' || firstChar === '\\t') {\n // add to line\n line += buffer.slice(lastPos + 1, pos - newlineOffset);\n } else {\n if (line)\n callback(null, line);\n // push line\n line = buffer.slice(lastPos, pos - newlineOffset);\n }\n\n lastPos = pos;\n } while (pos !== len);\n\n // extra ending line\n line = line.trim();\n\n if (line.length)\n callback(null, line);\n};\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\nconst OPTIONS = [\"tzid\", \"location\", \"tznames\", \"latitude\", \"longitude\"];\n\n/**\n * Timezone representation.\n *\n * @example\n * var vcalendar;\n * var timezoneComp = vcalendar.getFirstSubcomponent('vtimezone');\n * var tzid = timezoneComp.getFirstPropertyValue('tzid');\n *\n * var timezone = new ICAL.Timezone({\n * component: timezoneComp,\n * tzid\n * });\n *\n * @memberof ICAL\n */\nclass Timezone {\n static _compare_change_fn(a, b) {\n if (a.year < b.year) return -1;\n else if (a.year > b.year) return 1;\n\n if (a.month < b.month) return -1;\n else if (a.month > b.month) return 1;\n\n if (a.day < b.day) return -1;\n else if (a.day > b.day) return 1;\n\n if (a.hour < b.hour) return -1;\n else if (a.hour > b.hour) return 1;\n\n if (a.minute < b.minute) return -1;\n else if (a.minute > b.minute) return 1;\n\n if (a.second < b.second) return -1;\n else if (a.second > b.second) return 1;\n\n return 0;\n }\n\n /**\n * Convert the date/time from one zone to the next.\n *\n * @param {Time} tt The time to convert\n * @param {Timezone} from_zone The source zone to convert from\n * @param {Timezone} to_zone The target zone to convert to\n * @return {Time} The converted date/time object\n */\n static convert_time(tt, from_zone, to_zone) {\n if (tt.isDate ||\n from_zone.tzid == to_zone.tzid ||\n from_zone == Timezone.localTimezone ||\n to_zone == Timezone.localTimezone) {\n tt.zone = to_zone;\n return tt;\n }\n\n let utcOffset = from_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, - utcOffset);\n\n utcOffset = to_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, utcOffset);\n\n return null;\n }\n\n /**\n * Creates a new ICAL.Timezone instance from the passed data object.\n *\n * @param {Component|Object} aData options for class\n * @param {String|Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n static fromData(aData) {\n let tt = new Timezone();\n return tt.fromData(aData);\n }\n\n /**\n * The instance describing the UTC timezone\n * @type {Timezone}\n * @constant\n * @instance\n */\n static #utcTimezone = null;\n static get utcTimezone() {\n if (!this.#utcTimezone) {\n this.#utcTimezone = Timezone.fromData({\n tzid: \"UTC\"\n });\n }\n return this.#utcTimezone;\n }\n\n /**\n * The instance describing the local timezone\n * @type {Timezone}\n * @constant\n * @instance\n */\n static #localTimezone = null;\n static get localTimezone() {\n if (!this.#localTimezone) {\n this.#localTimezone = Timezone.fromData({\n tzid: \"floating\"\n });\n }\n return this.#localTimezone;\n }\n\n /**\n * Adjust a timezone change object.\n * @private\n * @param {Object} change The timezone change object\n * @param {Number} days The extra amount of days\n * @param {Number} hours The extra amount of hours\n * @param {Number} minutes The extra amount of minutes\n * @param {Number} seconds The extra amount of seconds\n */\n static adjust_change(change, days, hours, minutes, seconds) {\n return Time.prototype.adjust.call(\n change,\n days,\n hours,\n minutes,\n seconds,\n change\n );\n }\n\n static _minimumExpansionYear = -1;\n static EXTRA_COVERAGE = 5;\n\n /**\n * Creates a new ICAL.Timezone instance, by passing in a tzid and component.\n *\n * @param {Component|Object} data options for class\n * @param {String|Component} data.component\n * If data is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} data.tzid The timezone identifier\n * @param {String} data.location The timezone locationw\n * @param {String} data.tznames An alternative string representation of the\n * timezone\n * @param {Number} data.latitude The latitude of the timezone\n * @param {Number} data.longitude The longitude of the timezone\n */\n constructor(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n }\n\n\n /**\n * Timezone identifier\n * @type {String}\n */\n tzid = \"\";\n\n /**\n * Timezone location\n * @type {String}\n */\n location = \"\";\n\n /**\n * Alternative timezone name, for the string representation\n * @type {String}\n */\n tznames = \"\";\n\n /**\n * The primary latitude for the timezone.\n * @type {Number}\n */\n latitude = 0.0;\n\n /**\n * The primary longitude for the timezone.\n * @type {Number}\n */\n longitude = 0.0;\n\n /**\n * The vtimezone component for this timezone.\n * @type {Component}\n */\n component = null;\n\n /**\n * The year this timezone has been expanded to. All timezone transition\n * dates until this year are known and can be used for calculation\n *\n * @private\n * @type {Number}\n */\n expandedUntilYear = 0;\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltimezone\"\n */\n icalclass = \"icaltimezone\";\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Component|Object} aData options for class\n * @param {String|Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n fromData(aData) {\n this.expandedUntilYear = 0;\n this.changes = [];\n\n if (aData instanceof Component) {\n // Either a component is passed directly\n this.component = aData;\n } else {\n // Otherwise the component may be in the data object\n if (aData && \"component\" in aData) {\n if (typeof aData.component == \"string\") {\n // If a string was passed, parse it as a component\n let jCal = parse(aData.component);\n this.component = new Component(jCal);\n } else if (aData.component instanceof Component) {\n // If it was a component already, then just set it\n this.component = aData.component;\n } else {\n // Otherwise just null out the component\n this.component = null;\n }\n }\n\n // Copy remaining passed properties\n for (let prop of OPTIONS) {\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n }\n }\n }\n\n // If we have a component but no TZID, attempt to get it from the\n // component's properties.\n if (this.component instanceof Component && !this.tzid) {\n this.tzid = this.component.getFirstPropertyValue('tzid');\n }\n\n return this;\n }\n\n /**\n * Finds the utcOffset the given time would occur in this timezone.\n *\n * @param {Time} tt The time to check for\n * @return {Number} utc offset in seconds\n */\n utcOffset(tt) {\n if (this == Timezone.utcTimezone || this == Timezone.localTimezone) {\n return 0;\n }\n\n this._ensureCoverage(tt.year);\n\n if (!this.changes.length) {\n return 0;\n }\n\n let tt_change = {\n year: tt.year,\n month: tt.month,\n day: tt.day,\n hour: tt.hour,\n minute: tt.minute,\n second: tt.second\n };\n\n let change_num = this._findNearbyChange(tt_change);\n let change_num_to_use = -1;\n let step = 1;\n\n // TODO: replace with bin search?\n for (;;) {\n let change = clone(this.changes[change_num], true);\n if (change.utcOffset < change.prevUtcOffset) {\n Timezone.adjust_change(change, 0, 0, 0, change.utcOffset);\n } else {\n Timezone.adjust_change(change, 0, 0, 0,\n change.prevUtcOffset);\n }\n\n let cmp = Timezone._compare_change_fn(tt_change, change);\n\n if (cmp >= 0) {\n change_num_to_use = change_num;\n } else {\n step = -1;\n }\n\n if (step == -1 && change_num_to_use != -1) {\n break;\n }\n\n change_num += step;\n\n if (change_num < 0) {\n return 0;\n }\n\n if (change_num >= this.changes.length) {\n break;\n }\n }\n\n let zone_change = this.changes[change_num_to_use];\n let utcOffset_change = zone_change.utcOffset - zone_change.prevUtcOffset;\n\n if (utcOffset_change < 0 && change_num_to_use > 0) {\n let tmp_change = clone(zone_change, true);\n Timezone.adjust_change(tmp_change, 0, 0, 0, tmp_change.prevUtcOffset);\n\n if (Timezone._compare_change_fn(tt_change, tmp_change) < 0) {\n let prev_zone_change = this.changes[change_num_to_use - 1];\n\n let want_daylight = false; // TODO\n\n if (zone_change.is_daylight != want_daylight &&\n prev_zone_change.is_daylight == want_daylight) {\n zone_change = prev_zone_change;\n }\n }\n }\n\n // TODO return is_daylight?\n return zone_change.utcOffset;\n }\n\n _findNearbyChange(change) {\n // find the closest match\n let idx = binsearchInsert(\n this.changes,\n change,\n Timezone._compare_change_fn\n );\n\n if (idx >= this.changes.length) {\n return this.changes.length - 1;\n }\n\n return idx;\n }\n\n _ensureCoverage(aYear) {\n if (Timezone._minimumExpansionYear == -1) {\n let today = Time.now();\n Timezone._minimumExpansionYear = today.year;\n }\n\n let changesEndYear = aYear;\n if (changesEndYear < Timezone._minimumExpansionYear) {\n changesEndYear = Timezone._minimumExpansionYear;\n }\n\n changesEndYear += Timezone.EXTRA_COVERAGE;\n\n if (!this.changes.length || this.expandedUntilYear < aYear) {\n let subcomps = this.component.getAllSubcomponents();\n let compLen = subcomps.length;\n let compIdx = 0;\n\n for (; compIdx < compLen; compIdx++) {\n this._expandComponent(\n subcomps[compIdx], changesEndYear, this.changes\n );\n }\n\n this.changes.sort(Timezone._compare_change_fn);\n this.expandedUntilYear = changesEndYear;\n }\n }\n\n _expandComponent(aComponent, aYear, changes) {\n if (!aComponent.hasProperty(\"dtstart\") ||\n !aComponent.hasProperty(\"tzoffsetto\") ||\n !aComponent.hasProperty(\"tzoffsetfrom\")) {\n return null;\n }\n\n let dtstart = aComponent.getFirstProperty(\"dtstart\").getFirstValue();\n let change;\n\n function convert_tzoffset(offset) {\n return offset.factor * (offset.hours * 3600 + offset.minutes * 60);\n }\n\n function init_changes() {\n let changebase = {};\n changebase.is_daylight = (aComponent.name == \"daylight\");\n changebase.utcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetto\").getFirstValue()\n );\n\n changebase.prevUtcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetfrom\").getFirstValue()\n );\n\n return changebase;\n }\n\n if (!aComponent.hasProperty(\"rrule\") && !aComponent.hasProperty(\"rdate\")) {\n change = init_changes();\n change.year = dtstart.year;\n change.month = dtstart.month;\n change.day = dtstart.day;\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n Timezone.adjust_change(change, 0, 0, 0, -change.prevUtcOffset);\n changes.push(change);\n } else {\n let props = aComponent.getAllProperties(\"rdate\");\n for (let rdate of props) {\n let time = rdate.getFirstValue();\n change = init_changes();\n\n change.year = time.year;\n change.month = time.month;\n change.day = time.day;\n\n if (time.isDate) {\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n if (dtstart.zone != Timezone.utcTimezone) {\n Timezone.adjust_change(change, 0, 0, 0, -change.prevUtcOffset);\n }\n } else {\n change.hour = time.hour;\n change.minute = time.minute;\n change.second = time.second;\n\n if (time.zone != Timezone.utcTimezone) {\n Timezone.adjust_change(change, 0, 0, 0, -change.prevUtcOffset);\n }\n }\n\n changes.push(change);\n }\n\n let rrule = aComponent.getFirstProperty(\"rrule\");\n\n if (rrule) {\n rrule = rrule.getFirstValue();\n change = init_changes();\n\n if (rrule.until && rrule.until.zone == Timezone.utcTimezone) {\n rrule.until.adjust(0, 0, 0, change.prevUtcOffset);\n rrule.until.zone = Timezone.localTimezone;\n }\n\n let iterator = rrule.iterator(dtstart);\n\n let occ;\n while ((occ = iterator.next())) {\n change = init_changes();\n if (occ.year > aYear || !occ) {\n break;\n }\n\n change.year = occ.year;\n change.month = occ.month;\n change.day = occ.day;\n change.hour = occ.hour;\n change.minute = occ.minute;\n change.second = occ.second;\n change.isDate = occ.isDate;\n\n Timezone.adjust_change(change, 0, 0, 0, -change.prevUtcOffset);\n changes.push(change);\n }\n }\n }\n\n return changes;\n }\n\n /**\n * The string representation of this timezone.\n * @return {String}\n */\n toString() {\n return (this.tznames ? this.tznames : this.tzid);\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\nlet zones = null;\n\n/**\n * @classdesc\n * Singleton class to contain timezones. Right now it is all manual registry in\n * the future we may use this class to download timezone information or handle\n * loading pre-expanded timezones.\n *\n * @exports module:ICAL.TimezoneService\n * @memberof ICAL\n */\nconst TimezoneService = {\n get count() {\n if (zones === null) {\n return 0;\n }\n\n return Object.keys(zones).length;\n },\n\n reset: function() {\n zones = Object.create(null);\n let utc = Timezone.utcTimezone;\n\n zones.Z = utc;\n zones.UTC = utc;\n zones.GMT = utc;\n },\n _hard_reset: function() {\n zones = null;\n },\n\n /**\n * Checks if timezone id has been registered.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Boolean} False, when not present\n */\n has: function(tzid) {\n if (zones === null) {\n return false;\n }\n\n return !!zones[tzid];\n },\n\n /**\n * Returns a timezone by its tzid if present.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Timezone | undefined} The timezone, or undefined if not found\n */\n get: function(tzid) {\n if (zones === null) {\n this.reset();\n }\n\n return zones[tzid];\n },\n\n /**\n * Registers a timezone object or component.\n *\n * @param {Component|Timezone} timezone\n * The initialized zone or vtimezone.\n *\n * @param {String=} name\n * The name of the timezone. Defaults to the component's TZID if not\n * passed.\n */\n register: function(timezone, name) {\n if (zones === null) {\n this.reset();\n }\n\n // This avoids a breaking change by the change of argument order\n // TODO remove in v3\n if (typeof timezone === \"string\" && name instanceof Timezone) {\n [timezone, name] = [name, timezone];\n }\n\n if (!name) {\n if (timezone instanceof Timezone) {\n name = timezone.tzid;\n } else {\n if (timezone.name === 'vtimezone') {\n timezone = new Timezone(timezone);\n name = timezone.tzid;\n }\n }\n }\n\n if (!name) {\n throw new TypeError(\"Neither a timezone nor a name was passed\");\n }\n\n if (timezone instanceof Timezone) {\n zones[name] = timezone;\n } else {\n throw new TypeError('timezone must be ICAL.Timezone or ICAL.Component');\n }\n },\n\n /**\n * Removes a timezone by its tzid from the list.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?Timezone} The removed timezone, or null if not registered\n */\n remove: function(tzid) {\n if (zones === null) {\n return null;\n }\n\n return (delete zones[tzid]);\n }\n};\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * Helper functions used in various places within ical.js\n * @module ICAL.helpers\n */\n\n/**\n * Compiles a list of all referenced TZIDs in all subcomponents and\n * removes any extra VTIMEZONE subcomponents. In addition, if any TZIDs\n * are referenced by a component, but a VTIMEZONE does not exist,\n * an attempt will be made to generate a VTIMEZONE using ICAL.TimezoneService.\n *\n * @param {Component} vcal The top-level VCALENDAR component.\n * @return {Component} The ICAL.Component that was passed in.\n */\nfunction updateTimezones(vcal) {\n let allsubs, properties, vtimezones, reqTzid, i;\n\n if (!vcal || vcal.name !== \"vcalendar\") {\n //not a top-level vcalendar component\n return vcal;\n }\n\n //Store vtimezone subcomponents in an object reference by tzid.\n //Store properties from everything else in another array\n allsubs = vcal.getAllSubcomponents();\n properties = [];\n vtimezones = {};\n for (i = 0; i < allsubs.length; i++) {\n if (allsubs[i].name === \"vtimezone\") {\n let tzid = allsubs[i].getFirstProperty(\"tzid\").getFirstValue();\n vtimezones[tzid] = allsubs[i];\n } else {\n properties = properties.concat(allsubs[i].getAllProperties());\n }\n }\n\n //create an object with one entry for each required tz\n reqTzid = {};\n for (i = 0; i < properties.length; i++) {\n let tzid = properties[i].getParameter(\"tzid\");\n if (tzid) {\n reqTzid[tzid] = true;\n }\n }\n\n //delete any vtimezones that are not on the reqTzid list.\n for (let [tzid, comp] of Object.entries(vtimezones)) {\n if (!reqTzid[tzid]) {\n vcal.removeSubcomponent(comp);\n }\n }\n\n //create any missing, but registered timezones\n for (let tzid of Object.keys(reqTzid)) {\n if (!vtimezones[tzid] && TimezoneService.has(tzid)) {\n vcal.addSubcomponent(TimezoneService.get(tzid).component);\n }\n }\n\n return vcal;\n}\n\n/**\n * Checks if the given type is of the number type and also NaN.\n *\n * @param {Number} number The number to check\n * @return {Boolean} True, if the number is strictly NaN\n */\nfunction isStrictlyNaN(number) {\n return typeof(number) === 'number' && isNaN(number);\n}\n\n/**\n * Parses a string value that is expected to be an integer, when the valid is\n * not an integer throws a decoration error.\n *\n * @param {String} string Raw string input\n * @return {Number} Parsed integer\n */\nfunction strictParseInt(string) {\n let result = parseInt(string, 10);\n\n if (isStrictlyNaN(result)) {\n throw new Error(\n 'Could not extract integer from \"' + string + '\"'\n );\n }\n\n return result;\n}\n\n/**\n * Creates or returns a class instance of a given type with the initialization\n * data if the data is not already an instance of the given type.\n *\n * @example\n * var time = new ICAL.Time(...);\n * var result = ICAL.helpers.formatClassType(time, ICAL.Time);\n *\n * (result instanceof ICAL.Time)\n * // => true\n *\n * result = ICAL.helpers.formatClassType({}, ICAL.Time);\n * (result isntanceof ICAL.Time)\n * // => true\n *\n *\n * @param {Object} data object initialization data\n * @param {Object} type object type (like ICAL.Time)\n * @return {?} An instance of the found type.\n */\nfunction formatClassType(data, type) {\n if (typeof(data) === 'undefined') {\n return undefined;\n }\n\n if (data instanceof type) {\n return data;\n }\n return new type(data);\n}\n\n/**\n * Identical to indexOf but will only match values when they are not preceded\n * by a backslash character.\n *\n * @param {String} buffer String to search\n * @param {String} search Value to look for\n * @param {Number} pos Start position\n * @return {Number} The position, or -1 if not found\n */\nfunction unescapedIndexOf(buffer, search, pos) {\n while ((pos = buffer.indexOf(search, pos)) !== -1) {\n if (pos > 0 && buffer[pos - 1] === '\\\\') {\n pos += 1;\n } else {\n return pos;\n }\n }\n return -1;\n}\n\n/**\n * Find the index for insertion using binary search.\n *\n * @param {Array} list The list to search\n * @param {?} seekVal The value to insert\n * @param {function(?,?)} cmpfunc The comparison func, that can\n * compare two seekVals\n * @return {Number} The insert position\n */\nfunction binsearchInsert(list, seekVal, cmpfunc) {\n if (!list.length)\n return 0;\n\n let low = 0, high = list.length - 1,\n mid, cmpval;\n\n while (low <= high) {\n mid = low + Math.floor((high - low) / 2);\n cmpval = cmpfunc(seekVal, list[mid]);\n\n if (cmpval < 0)\n high = mid - 1;\n else if (cmpval > 0)\n low = mid + 1;\n else\n break;\n }\n\n if (cmpval < 0)\n return mid; // insertion is displacing, so use mid outright.\n else if (cmpval > 0)\n return mid + 1;\n else\n return mid;\n}\n\n/**\n * Clone the passed object or primitive. By default a shallow clone will be\n * executed.\n *\n * @param {*} aSrc The thing to clone\n * @param {Boolean=} aDeep If true, a deep clone will be performed\n * @return {*} The copy of the thing\n */\nfunction clone(aSrc, aDeep) {\n if (!aSrc || typeof aSrc != \"object\") {\n return aSrc;\n } else if (aSrc instanceof Date) {\n return new Date(aSrc.getTime());\n } else if (\"clone\" in aSrc) {\n return aSrc.clone();\n } else if (Array.isArray(aSrc)) {\n let arr = [];\n for (let i = 0; i < aSrc.length; i++) {\n arr.push(aDeep ? clone(aSrc[i], true) : aSrc[i]);\n }\n return arr;\n } else {\n let obj = {};\n for (let [name, value] of Object.entries(aSrc)) {\n if (aDeep) {\n obj[name] = clone(value, true);\n } else {\n obj[name] = value;\n }\n }\n return obj;\n }\n}\n\n/**\n * Performs iCalendar line folding. A line ending character is inserted and\n * the next line begins with a whitespace.\n *\n * @example\n * SUMMARY:This line will be fold\n * ed right in the middle of a word.\n *\n * @param {String} aLine The line to fold\n * @return {String} The folded line\n */\nfunction foldline(aLine) {\n let result = \"\";\n let line = aLine || \"\", pos = 0, line_length = 0;\n //pos counts position in line for the UTF-16 presentation\n //line_length counts the bytes for the UTF-8 presentation\n while (line.length) {\n let cp = line.codePointAt(pos);\n if (cp < 128) ++line_length;\n else if (cp < 2048) line_length += 2;//needs 2 UTF-8 bytes\n else if (cp < 65536) line_length += 3;\n else line_length += 4; //cp is less than 1114112\n if (line_length < ICALmodule.foldLength + 1)\n pos += cp > 65535 ? 2 : 1;\n else {\n result += ICALmodule.newLineChar + \" \" + line.slice(0, Math.max(0, pos));\n line = line.slice(Math.max(0, pos));\n pos = line_length = 0;\n }\n }\n return result.slice(ICALmodule.newLineChar.length + 1);\n}\n\n/**\n * Pads the given string or number with zeros so it will have at least two\n * characters.\n *\n * @param {String|Number} data The string or number to pad\n * @return {String} The number padded as a string\n */\nfunction pad2(data) {\n if (typeof(data) !== 'string') {\n // handle fractions.\n if (typeof(data) === 'number') {\n data = parseInt(data);\n }\n data = String(data);\n }\n\n let len = data.length;\n\n switch (len) {\n case 0:\n return '00';\n case 1:\n return '0' + data;\n default:\n return data;\n }\n}\n\n/**\n * Truncates the given number, correctly handling negative numbers.\n *\n * @param {Number} number The number to truncate\n * @return {Number} The truncated number\n */\nfunction trunc(number) {\n return (number < 0 ? Math.ceil(number) : Math.floor(number));\n}\n\n/**\n * Poor-man's cross-browser object extension. Doesn't support all the\n * features, but enough for our usage. Note that the target's properties are\n * not overwritten with the source properties.\n *\n * @example\n * var child = ICAL.helpers.extend(parent, {\n * \"bar\": 123\n * });\n *\n * @param {Object} source The object to extend\n * @param {Object} target The object to extend with\n * @return {Object} Returns the target.\n */\nfunction extend(source, target) {\n for (let key in source) {\n let descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr && !Object.getOwnPropertyDescriptor(target, key)) {\n Object.defineProperty(target, key, descr);\n }\n }\n return target;\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n updateTimezones: updateTimezones,\n isStrictlyNaN: isStrictlyNaN,\n strictParseInt: strictParseInt,\n formatClassType: formatClassType,\n unescapedIndexOf: unescapedIndexOf,\n binsearchInsert: binsearchInsert,\n clone: clone,\n foldline: foldline,\n pad2: pad2,\n trunc: trunc,\n extend: extend\n});\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This class represents the \"utc-offset\" value type, with various calculation and manipulation\n * methods.\n *\n * @memberof ICAL\n */\nclass UtcOffset {\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed string.\n *\n * @param {String} aString The string to parse\n * @return {Duration} The created utc-offset instance\n */\n static fromString(aString) {\n // -05:00\n let options = {};\n //TODO: support seconds per rfc5545 ?\n options.factor = (aString[0] === '+') ? 1 : -1;\n options.hours = strictParseInt(aString.slice(1, 3));\n options.minutes = strictParseInt(aString.slice(4, 6));\n\n return new UtcOffset(options);\n }\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed seconds\n * value.\n *\n * @param {Number} aSeconds The number of seconds to convert\n */\n static fromSeconds(aSeconds) {\n let instance = new UtcOffset();\n instance.fromSeconds(aSeconds);\n return instance;\n }\n\n /**\n * Creates a new ICAL.UtcOffset instance.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n constructor(aData) {\n this.fromData(aData);\n }\n\n /**\n * The hours in the utc-offset\n * @type {Number}\n */\n hours = 0;\n\n /**\n * The minutes in the utc-offset\n * @type {Number}\n */\n minutes = 0;\n\n /**\n * The sign of the utc offset, 1 for positive offset, -1 for negative\n * offsets.\n * @type {Number}\n */\n factor = 1;\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"utc-offset\"\n */\n icaltype = \"utc-offset\";\n\n /**\n * Returns a clone of the utc offset object.\n *\n * @return {UtcOffset} The cloned object\n */\n clone() {\n return UtcOffset.fromSeconds(this.toSeconds());\n }\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n fromData(aData) {\n if (aData) {\n for (let [key, value] of Object.entries(aData)) {\n this[key] = value;\n }\n }\n this._normalize();\n }\n\n /**\n * Sets up the current instance from the given seconds value. The seconds\n * value is truncated to the minute. Offsets are wrapped when the world\n * ends, the hour after UTC+14:00 is UTC-12:00.\n *\n * @param {Number} aSeconds The seconds to convert into an offset\n */\n fromSeconds(aSeconds) {\n let secs = Math.abs(aSeconds);\n\n this.factor = aSeconds < 0 ? -1 : 1;\n this.hours = trunc(secs / 3600);\n\n secs -= (this.hours * 3600);\n this.minutes = trunc(secs / 60);\n return this;\n }\n\n /**\n * Convert the current offset to a value in seconds\n *\n * @return {Number} The offset in seconds\n */\n toSeconds() {\n return this.factor * (60 * this.minutes + 3600 * this.hours);\n }\n\n /**\n * Compare this utc offset with another one.\n *\n * @param {UtcOffset} other The other offset to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare(other) {\n let a = this.toSeconds();\n let b = other.toSeconds();\n return (a > b) - (b > a);\n }\n\n _normalize() {\n // Range: 97200 seconds (with 1 hour inbetween)\n let secs = this.toSeconds();\n let factor = this.factor;\n while (secs < -43200) { // = UTC-12:00\n secs += 97200;\n }\n while (secs > 50400) { // = UTC+14:00\n secs -= 97200;\n }\n\n this.fromSeconds(secs);\n\n // Avoid changing the factor when on zero seconds\n if (secs == 0) {\n this.factor = factor;\n }\n }\n\n /**\n * The iCalendar string representation of this utc-offset.\n * @return {String}\n */\n toICALString() {\n return design$1.icalendar.value['utc-offset'].toICAL(this.toString());\n }\n\n /**\n * The string representation of this utc-offset.\n * @return {String}\n */\n toString() {\n return (this.factor == 1 ? \"+\" : \"-\") + pad2(this.hours) + ':' + pad2(this.minutes);\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * Describes a vCard time, which has slight differences to the ICAL.Time.\n * Properties can be null if not specified, for example for dates with\n * reduced accuracy or truncation.\n *\n * Note that currently not all methods are correctly re-implemented for\n * VCardTime. For example, comparison will have undefined results when some\n * members are null.\n *\n * Also, normalization is not yet implemented for this class!\n *\n * @memberof ICAL\n * @extends {ICAL.Time}\n */\nclass VCardTime extends Time {\n /**\n * Returns a new ICAL.VCardTime instance from a date and/or time string.\n *\n * @param {String} aValue The string to create from\n * @param {String} aIcalType The type for this instance, e.g. date-and-or-time\n * @return {VCardTime} The date/time instance\n */\n static fromDateAndOrTimeString(aValue, aIcalType) {\n function part(v, s, e) {\n return v ? strictParseInt(v.slice(s, s + e)) : null;\n }\n let parts = aValue.split('T');\n let dt = parts[0], tmz = parts[1];\n let splitzone = tmz ? design$1.vcard.value.time._splitZone(tmz) : [];\n let zone = splitzone[0], tm = splitzone[1];\n\n let dtlen = dt ? dt.length : 0;\n let tmlen = tm ? tm.length : 0;\n\n let hasDashDate = dt && dt[0] == '-' && dt[1] == '-';\n let hasDashTime = tm && tm[0] == '-';\n\n let o = {\n year: hasDashDate ? null : part(dt, 0, 4),\n month: hasDashDate && (dtlen == 4 || dtlen == 7) ? part(dt, 2, 2) : dtlen == 7 ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 5, 2) : null,\n day: dtlen == 5 ? part(dt, 3, 2) : dtlen == 7 && hasDashDate ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 8, 2) : null,\n\n hour: hasDashTime ? null : part(tm, 0, 2),\n minute: hasDashTime && tmlen == 3 ? part(tm, 1, 2) : tmlen > 4 ? hasDashTime ? part(tm, 1, 2) : part(tm, 3, 2) : null,\n second: tmlen == 4 ? part(tm, 2, 2) : tmlen == 6 ? part(tm, 4, 2) : tmlen == 8 ? part(tm, 6, 2) : null\n };\n\n if (zone == 'Z') {\n zone = Timezone.utcTimezone;\n } else if (zone && zone[3] == ':') {\n zone = UtcOffset.fromString(zone);\n } else {\n zone = null;\n }\n\n return new VCardTime(o, zone, aIcalType);\n }\n\n\n /**\n * Creates a new ICAL.VCardTime instance.\n *\n * @param {Object} data The data for the time instance\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Timezone|UtcOffset} zone The timezone to use\n * @param {String} icaltype The type for this date/time object\n */\n constructor(data, zone, icaltype) {\n super(data, zone);\n this.icaltype = icaltype || \"date-and-or-time\";\n }\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"vcardtime\"\n */\n icalclass = \"vcardtime\";\n\n /**\n * The type name, to be used in the jCal object.\n * @type {String}\n * @default \"date-and-or-time\"\n */\n icaltype = \"date-and-or-time\";\n\n /**\n * Returns a clone of the vcard date/time object.\n *\n * @return {VCardTime} The cloned object\n */\n clone() {\n return new VCardTime(this._time, this.zone, this.icaltype);\n }\n\n _normalize() {\n return this;\n }\n\n /**\n * @inheritdoc\n */\n utcOffset() {\n if (this.zone instanceof UtcOffset) {\n return this.zone.toSeconds();\n } else {\n return Time.prototype.utcOffset.apply(this, arguments);\n }\n }\n\n /**\n * Returns an RFC 6350 compliant representation of this object.\n *\n * @return {String} vcard date/time string\n */\n toICALString() {\n return design$1.vcard.value[this.icaltype].toICAL(this.toString());\n }\n\n /**\n * The string representation of this date/time, in jCard form\n * (including : and - separators).\n * @return {String}\n */\n toString() {\n let y = this.year, m = this.month, d = this.day;\n let h = this.hour, mm = this.minute, s = this.second;\n\n let hasYear = y !== null, hasMonth = m !== null, hasDay = d !== null;\n let hasHour = h !== null, hasMinute = mm !== null, hasSecond = s !== null;\n\n let datepart = (hasYear ? pad2(y) + (hasMonth || hasDay ? '-' : '') : (hasMonth || hasDay ? '--' : '')) +\n (hasMonth ? pad2(m) : '') +\n (hasDay ? '-' + pad2(d) : '');\n let timepart = (hasHour ? pad2(h) : '-') + (hasHour && hasMinute ? ':' : '') +\n (hasMinute ? pad2(mm) : '') + (!hasHour && !hasMinute ? '-' : '') +\n (hasMinute && hasSecond ? ':' : '') +\n (hasSecond ? pad2(s) : '');\n\n let zone;\n if (this.zone === Timezone.utcTimezone) {\n zone = 'Z';\n } else if (this.zone instanceof UtcOffset) {\n zone = this.zone.toString();\n } else if (this.zone === Timezone.localTimezone) {\n zone = '';\n } else if (this.zone instanceof Timezone) {\n let offset = UtcOffset.fromSeconds(this.zone.utcOffset(this));\n zone = offset.toString();\n } else {\n zone = '';\n }\n\n switch (this.icaltype) {\n case \"time\":\n return timepart + zone;\n case \"date-and-or-time\":\n case \"date-time\":\n return datepart + (timepart == '--' ? '' : 'T' + timepart + zone);\n case \"date\":\n return datepart;\n }\n return null;\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n *\n * @ignore\n * @typedef {import(\"./types.js\").weekDay} weekDay\n * Imports the 'weekDay' type from the \"types.js\" module\n */\n\n/**\n * An iterator for a single recurrence rule. This class usually doesn't have to be instanciated\n * directly, the convenience method {@link ICAL.Recur#iterator} can be used.\n *\n * @memberof ICAL\n */\nclass RecurIterator {\n static _indexMap = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 1,\n \"BYHOUR\": 2,\n \"BYDAY\": 3,\n \"BYMONTHDAY\": 4,\n \"BYYEARDAY\": 5,\n \"BYWEEKNO\": 6,\n \"BYMONTH\": 7,\n \"BYSETPOS\": 8\n };\n\n static _expandMap = {\n \"SECONDLY\": [1, 1, 1, 1, 1, 1, 1, 1],\n \"MINUTELY\": [2, 1, 1, 1, 1, 1, 1, 1],\n \"HOURLY\": [2, 2, 1, 1, 1, 1, 1, 1],\n \"DAILY\": [2, 2, 2, 1, 1, 1, 1, 1],\n \"WEEKLY\": [2, 2, 2, 2, 3, 3, 1, 1],\n \"MONTHLY\": [2, 2, 2, 2, 2, 3, 3, 1],\n \"YEARLY\": [2, 2, 2, 2, 2, 2, 2, 2]\n };\n\n static UNKNOWN = 0;\n static CONTRACT = 1;\n static EXPAND = 2;\n static ILLEGAL = 3;\n\n /**\n * Creates a new ICAL.RecurIterator instance. The options object may contain additional members\n * when resuming iteration from a previous run.\n *\n * @param {Object} options The iterator options\n * @param {Recur} options.rule The rule to iterate.\n * @param {Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n constructor(options) {\n this.fromData(options);\n }\n\n /**\n * True when iteration is finished.\n * @type {Boolean}\n */\n completed = false;\n\n /**\n * The rule that is being iterated\n * @type {Recur}\n */\n rule = null;\n\n /**\n * The start date of the event being iterated.\n * @type {Time}\n */\n dtstart = null;\n\n /**\n * The last occurrence that was returned from the\n * {@link RecurIterator#next} method.\n * @type {Time}\n */\n last = null;\n\n /**\n * The sequence number from the occurrence\n * @type {Number}\n */\n occurrence_number = 0;\n\n /**\n * The indices used for the {@link ICAL.RecurIterator#by_data} object.\n * @type {Object}\n * @private\n */\n by_indices = null;\n\n /**\n * If true, the iterator has already been initialized\n * @type {Boolean}\n * @private\n */\n initialized = false;\n\n /**\n * The initializd by-data.\n * @type {Object}\n * @private\n */\n by_data = null;\n\n /**\n * The expanded yeardays\n * @type {Array}\n * @private\n */\n days = null;\n\n /**\n * The index in the {@link ICAL.RecurIterator#days} array.\n * @type {Number}\n * @private\n */\n days_index = 0;\n\n /**\n * Initialize the recurrence iterator from the passed data object. This\n * method is usually not called directly, you can initialize the iterator\n * through the constructor.\n *\n * @param {Object} options The iterator options\n * @param {Recur} options.rule The rule to iterate.\n * @param {Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n fromData(options) {\n this.rule = formatClassType(options.rule, Recur);\n\n if (!this.rule) {\n throw new Error('iterator requires a (ICAL.Recur) rule');\n }\n\n this.dtstart = formatClassType(options.dtstart, Time);\n\n if (!this.dtstart) {\n throw new Error('iterator requires a (ICAL.Time) dtstart');\n }\n\n if (options.by_data) {\n this.by_data = options.by_data;\n } else {\n this.by_data = clone(this.rule.parts, true);\n }\n\n if (options.occurrence_number)\n this.occurrence_number = options.occurrence_number;\n\n this.days = options.days || [];\n if (options.last) {\n this.last = formatClassType(options.last, Time);\n }\n\n this.by_indices = options.by_indices;\n\n if (!this.by_indices) {\n this.by_indices = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 0,\n \"BYHOUR\": 0,\n \"BYDAY\": 0,\n \"BYMONTH\": 0,\n \"BYWEEKNO\": 0,\n \"BYMONTHDAY\": 0\n };\n }\n\n this.initialized = options.initialized || false;\n\n if (!this.initialized) {\n try {\n this.init();\n } catch (e) {\n if (e instanceof InvalidRecurrenceRuleError) {\n // Init may error if there are no possible recurrence instances from\n // the rule, but we don't want to bubble this error up. Instead, we\n // create an empty iterator.\n this.completed = true;\n } else {\n // Propagate other errors to consumers.\n throw e;\n }\n }\n }\n }\n\n /**\n * Initialize the iterator\n * @private\n */\n init() {\n this.initialized = true;\n this.last = this.dtstart.clone();\n let parts = this.by_data;\n\n if (\"BYDAY\" in parts) {\n // libical does this earlier when the rule is loaded, but we postpone to\n // now so we can preserve the original order.\n this.sort_byday_rules(parts.BYDAY);\n }\n\n // If the BYYEARDAY appares, no other date rule part may appear\n if (\"BYYEARDAY\" in parts) {\n if (\"BYMONTH\" in parts || \"BYWEEKNO\" in parts ||\n \"BYMONTHDAY\" in parts || \"BYDAY\" in parts) {\n throw new Error(\"Invalid BYYEARDAY rule\");\n }\n }\n\n // BYWEEKNO and BYMONTHDAY rule parts may not both appear\n if (\"BYWEEKNO\" in parts && \"BYMONTHDAY\" in parts) {\n throw new Error(\"BYWEEKNO does not fit to BYMONTHDAY\");\n }\n\n // For MONTHLY recurrences (FREQ=MONTHLY) neither BYYEARDAY nor\n // BYWEEKNO may appear.\n if (this.rule.freq == \"MONTHLY\" &&\n (\"BYYEARDAY\" in parts || \"BYWEEKNO\" in parts)) {\n throw new Error(\"For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear\");\n }\n\n // For WEEKLY recurrences (FREQ=WEEKLY) neither BYMONTHDAY nor\n // BYYEARDAY may appear.\n if (this.rule.freq == \"WEEKLY\" &&\n (\"BYYEARDAY\" in parts || \"BYMONTHDAY\" in parts)) {\n throw new Error(\"For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear\");\n }\n\n // BYYEARDAY may only appear in YEARLY rules\n if (this.rule.freq != \"YEARLY\" && \"BYYEARDAY\" in parts) {\n throw new Error(\"BYYEARDAY may only appear in YEARLY rules\");\n }\n\n this.last.second = this.setup_defaults(\"BYSECOND\", \"SECONDLY\", this.dtstart.second);\n this.last.minute = this.setup_defaults(\"BYMINUTE\", \"MINUTELY\", this.dtstart.minute);\n this.last.hour = this.setup_defaults(\"BYHOUR\", \"HOURLY\", this.dtstart.hour);\n this.last.day = this.setup_defaults(\"BYMONTHDAY\", \"DAILY\", this.dtstart.day);\n this.last.month = this.setup_defaults(\"BYMONTH\", \"MONTHLY\", this.dtstart.month);\n\n if (this.rule.freq == \"WEEKLY\") {\n if (\"BYDAY\" in parts) {\n let [, dow] = this.ruleDayOfWeek(parts.BYDAY[0], this.rule.wkst);\n let wkdy = dow - this.last.dayOfWeek(this.rule.wkst);\n if ((this.last.dayOfWeek(this.rule.wkst) < dow && wkdy >= 0) || wkdy < 0) {\n // Initial time is after first day of BYDAY data\n this.last.day += wkdy;\n }\n } else {\n let dayName = Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());\n parts.BYDAY = [dayName];\n }\n }\n\n if (this.rule.freq == \"YEARLY\") {\n // Some yearly recurrence rules may be specific enough to not actually\n // occur on a yearly basis, e.g. the 29th day of February or the fifth\n // Monday of a given month. The standard isn't clear on the intended\n // behavior in these cases, but `libical` at least will iterate until it\n // finds a matching year.\n // CAREFUL: Some rules may specify an occurrence that can never happen,\n // e.g. the first Monday of April so long as it falls on the 15th\n // through the 21st. Detecting these is non-trivial, so ensure that we\n // stop iterating at some point.\n const untilYear = this.rule.until ? this.rule.until.year : 20000;\n while (this.last.year <= untilYear) {\n this.expand_year_days(this.last.year);\n if (this.days.length > 0) {\n break;\n }\n this.increment_year(this.rule.interval);\n }\n\n if (this.days.length == 0) {\n throw new InvalidRecurrenceRuleError();\n }\n\n this._nextByYearDay();\n }\n\n if (this.rule.freq == \"MONTHLY\") {\n if (this.has_by_data(\"BYDAY\")) {\n let tempLast = null;\n let initLast = this.last.clone();\n let daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n\n // Check every weekday in BYDAY with relative dow and pos.\n for (let bydow of this.by_data.BYDAY) {\n this.last = initLast.clone();\n let [pos, dow] = this.ruleDayOfWeek(bydow);\n let dayOfMonth = this.last.nthWeekDay(dow, pos);\n\n // If |pos| >= 6, the byday is invalid for a monthly rule.\n if (pos >= 6 || pos <= -6) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n // If a Byday with pos=+/-5 is not in the current month it\n // must be searched in the next months.\n if (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n // Skip if we have already found a \"last\" in this month.\n if (tempLast && tempLast.month == initLast.month) {\n continue;\n }\n while (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n this.increment_month();\n daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n dayOfMonth = this.last.nthWeekDay(dow, pos);\n }\n }\n\n this.last.day = dayOfMonth;\n if (!tempLast || this.last.compare(tempLast) < 0) {\n tempLast = this.last.clone();\n }\n }\n this.last = tempLast.clone();\n\n //XXX: This feels like a hack, but we need to initialize\n // the BYMONTHDAY case correctly and byDayAndMonthDay handles\n // this case. It accepts a special flag which will avoid incrementing\n // the initial value without the flag days that match the start time\n // would be missed.\n if (this.has_by_data('BYMONTHDAY')) {\n this._byDayAndMonthDay(true);\n }\n\n if (this.last.day > daysInMonth || this.last.day == 0) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n // Change the day value so that normalisation won't change the month.\n this.last.day = 1;\n\n // Get a sorted list of days in the starting month that match the rule.\n let normalized = this.normalizeByMonthDayRules(\n this.last.year,\n this.last.month,\n this.rule.parts.BYMONTHDAY\n ).filter(d => d >= this.last.day);\n\n if (normalized.length) {\n // There's at least one valid day, use it.\n this.last.day = normalized[0];\n this.by_data.BYMONTHDAY = normalized;\n } else {\n // There's no occurrence in this month, find the next valid month.\n // The longest possible sequence of skipped months is February-April-June,\n // so we might need to call next_month up to three times.\n if (!this.next_month() && !this.next_month() && !this.next_month()) {\n throw new Error(\"No possible occurrences\");\n }\n }\n }\n }\n }\n\n /**\n * Retrieve the next occurrence from the iterator.\n * @return {Time}\n */\n next(again = false) {\n let before = (this.last ? this.last.clone() : null);\n\n if ((this.rule.count && this.occurrence_number >= this.rule.count) ||\n (this.rule.until && this.last.compare(this.rule.until) > 0)) {\n this.completed = true;\n }\n\n if (this.completed) {\n return null;\n }\n\n if (this.occurrence_number == 0 && this.last.compare(this.dtstart) >= 0) {\n // First of all, give the instance that was initialized\n this.occurrence_number++;\n return this.last;\n }\n\n let valid;\n do {\n valid = 1;\n\n switch (this.rule.freq) {\n case \"SECONDLY\":\n this.next_second();\n break;\n case \"MINUTELY\":\n this.next_minute();\n break;\n case \"HOURLY\":\n this.next_hour();\n break;\n case \"DAILY\":\n this.next_day();\n break;\n case \"WEEKLY\":\n this.next_week();\n break;\n case \"MONTHLY\":\n valid = this.next_month();\n break;\n case \"YEARLY\":\n this.next_year();\n break;\n\n default:\n return null;\n }\n } while (!this.check_contracting_rules() ||\n this.last.compare(this.dtstart) < 0 ||\n !valid);\n\n if (this.last.compare(before) == 0) {\n if (again) {\n throw new Error(\"Same occurrence found twice, protecting you from death by recursion\");\n }\n this.next(true);\n }\n\n if (this.rule.until && this.last.compare(this.rule.until) > 0) {\n this.completed = true;\n return null;\n } else {\n this.occurrence_number++;\n return this.last;\n }\n }\n\n next_second() {\n return this.next_generic(\"BYSECOND\", \"SECONDLY\", \"second\", \"minute\");\n }\n\n increment_second(inc) {\n return this.increment_generic(inc, \"second\", 60, \"minute\");\n }\n\n next_minute() {\n return this.next_generic(\"BYMINUTE\", \"MINUTELY\",\n \"minute\", \"hour\", \"next_second\");\n }\n\n increment_minute(inc) {\n return this.increment_generic(inc, \"minute\", 60, \"hour\");\n }\n\n next_hour() {\n return this.next_generic(\"BYHOUR\", \"HOURLY\", \"hour\",\n \"monthday\", \"next_minute\");\n }\n\n increment_hour(inc) {\n this.increment_generic(inc, \"hour\", 24, \"monthday\");\n }\n\n next_day() {\n let this_freq = (this.rule.freq == \"DAILY\");\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (this_freq) {\n this.increment_monthday(this.rule.interval);\n } else {\n this.increment_monthday(1);\n }\n\n return 0;\n }\n\n next_week() {\n let end_of_data = 0;\n\n if (this.next_weekday_by_week() == 0) {\n return end_of_data;\n }\n\n if (this.has_by_data(\"BYWEEKNO\")) {\n this.by_indices.BYWEEKNO++;\n\n if (this.by_indices.BYWEEKNO == this.by_data.BYWEEKNO.length) {\n this.by_indices.BYWEEKNO = 0;\n end_of_data = 1;\n }\n\n // HACK should be first month of the year\n this.last.month = 1;\n this.last.day = 1;\n\n let week_no = this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];\n\n this.last.day += 7 * week_no;\n\n if (end_of_data) {\n this.increment_year(1);\n }\n } else {\n // Jump to the next week\n this.increment_monthday(7 * this.rule.interval);\n }\n\n return end_of_data;\n }\n\n /**\n * Normalize each by day rule for a given year/month.\n * Takes into account ordering and negative rules\n *\n * @private\n * @param {Number} year Current year.\n * @param {Number} month Current month.\n * @param {Array} rules Array of rules.\n *\n * @return {Array} sorted and normalized rules.\n * Negative rules will be expanded to their\n * correct positive values for easier processing.\n */\n normalizeByMonthDayRules(year, month, rules) {\n let daysInMonth = Time.daysInMonth(month, year);\n\n // XXX: This is probably bad for performance to allocate\n // a new array for each month we scan, if possible\n // we should try to optimize this...\n let newRules = [];\n\n let ruleIdx = 0;\n let len = rules.length;\n let rule;\n\n for (; ruleIdx < len; ruleIdx++) {\n rule = parseInt(rules[ruleIdx], 10);\n if (isNaN(rule)) {\n throw new Error('Invalid BYMONTHDAY value');\n }\n\n // if this rule falls outside of given\n // month discard it.\n if (Math.abs(rule) > daysInMonth) {\n continue;\n }\n\n // negative case\n if (rule < 0) {\n // we add (not subtract it is a negative number)\n // one from the rule because 1 === last day of month\n rule = daysInMonth + (rule + 1);\n } else if (rule === 0) {\n // skip zero: it is invalid.\n continue;\n }\n\n // only add unique items...\n if (newRules.indexOf(rule) === -1) {\n newRules.push(rule);\n }\n\n }\n\n // unique and sort\n return newRules.sort(function(a, b) { return a - b; });\n }\n\n /**\n * NOTES:\n * We are given a list of dates in the month (BYMONTHDAY) (23, etc..)\n * Also we are given a list of days (BYDAY) (MO, 2SU, etc..) when\n * both conditions match a given date (this.last.day) iteration stops.\n *\n * @private\n * @param {Boolean=} isInit When given true will not increment the\n * current day (this.last).\n */\n _byDayAndMonthDay(isInit) {\n let byMonthDay; // setup in initMonth\n let byDay = this.by_data.BYDAY;\n\n let date;\n let dateIdx = 0;\n let dateLen; // setup in initMonth\n let dayLen = byDay.length;\n\n // we are not valid by default\n let dataIsValid = 0;\n\n let daysInMonth;\n let self = this;\n // we need a copy of this, because a DateTime gets normalized\n // automatically if the day is out of range. At some points we\n // set the last day to 0 to start counting.\n let lastDay = this.last.day;\n\n function initMonth() {\n daysInMonth = Time.daysInMonth(\n self.last.month, self.last.year\n );\n\n byMonthDay = self.normalizeByMonthDayRules(\n self.last.year,\n self.last.month,\n self.by_data.BYMONTHDAY\n );\n\n dateLen = byMonthDay.length;\n\n // For the case of more than one occurrence in one month\n // we have to be sure to start searching after the last\n // found date or at the last BYMONTHDAY, unless we are\n // initializing the iterator because in this case we have\n // to consider the last found date too.\n while (byMonthDay[dateIdx] <= lastDay &&\n !(isInit && byMonthDay[dateIdx] == lastDay) &&\n dateIdx < dateLen - 1) {\n dateIdx++;\n }\n }\n\n function nextMonth() {\n // since the day is incremented at the start\n // of the loop below, we need to start at 0\n lastDay = 0;\n self.increment_month();\n dateIdx = 0;\n initMonth();\n }\n\n initMonth();\n\n // should come after initMonth\n if (isInit) {\n lastDay -= 1;\n }\n\n // Use a counter to avoid an infinite loop with malformed rules.\n // Stop checking after 4 years so we consider also a leap year.\n let monthsCounter = 48;\n\n while (!dataIsValid && monthsCounter) {\n monthsCounter--;\n // increment the current date. This is really\n // important otherwise we may fall into the infinite\n // loop trap. The initial date takes care of the case\n // where the current date is the date we are looking\n // for.\n date = lastDay + 1;\n\n if (date > daysInMonth) {\n nextMonth();\n continue;\n }\n\n // find next date\n let next = byMonthDay[dateIdx++];\n\n // this logic is dependent on the BYMONTHDAYS\n // being in order (which is done by #normalizeByMonthDayRules)\n if (next >= date) {\n // if the next month day is in the future jump to it.\n lastDay = next;\n } else {\n // in this case the 'next' monthday has past\n // we must move to the month.\n nextMonth();\n continue;\n }\n\n // Now we can loop through the day rules to see\n // if one matches the current month date.\n for (let dayIdx = 0; dayIdx < dayLen; dayIdx++) {\n let parts = this.ruleDayOfWeek(byDay[dayIdx]);\n let pos = parts[0];\n let dow = parts[1];\n\n this.last.day = lastDay;\n if (this.last.isNthWeekDay(dow, pos)) {\n // when we find the valid one we can mark\n // the conditions as met and break the loop.\n // (Because we have this condition above\n // it will also break the parent loop).\n dataIsValid = 1;\n break;\n }\n }\n\n // It is completely possible that the combination\n // cannot be matched in the current month.\n // When we reach the end of possible combinations\n // in the current month we iterate to the next one.\n // since dateIdx is incremented right after getting\n // \"next\", we don't need dateLen -1 here.\n if (!dataIsValid && dateIdx === dateLen) {\n nextMonth();\n continue;\n }\n }\n\n if (monthsCounter <= 0) {\n // Checked 4 years without finding a Byday that matches\n // a Bymonthday. Maybe the rule is not correct.\n throw new Error(\"Malformed values in BYDAY combined with BYMONTHDAY parts\");\n }\n\n\n return dataIsValid;\n }\n\n next_month() {\n let data_valid = 1;\n\n if (this.next_hour() == 0) {\n return data_valid;\n }\n\n if (this.has_by_data(\"BYDAY\") && this.has_by_data(\"BYMONTHDAY\")) {\n data_valid = this._byDayAndMonthDay();\n } else if (this.has_by_data(\"BYDAY\")) {\n let daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n let setpos = 0;\n let setpos_total = 0;\n\n if (this.has_by_data(\"BYSETPOS\")) {\n let last_day = this.last.day;\n for (let day = 1; day <= daysInMonth; day++) {\n this.last.day = day;\n if (this.is_day_in_byday(this.last)) {\n setpos_total++;\n if (day <= last_day) {\n setpos++;\n }\n }\n }\n this.last.day = last_day;\n }\n\n data_valid = 0;\n let day;\n for (day = this.last.day + 1; day <= daysInMonth; day++) {\n this.last.day = day;\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") ||\n this.check_set_position(++setpos) ||\n this.check_set_position(setpos - setpos_total - 1)) {\n\n data_valid = 1;\n break;\n }\n }\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n this.increment_month();\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") || this.check_set_position(1)) {\n data_valid = 1;\n }\n } else {\n data_valid = 0;\n }\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_indices.BYMONTHDAY++;\n\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n this.by_indices.BYMONTHDAY = 0;\n this.increment_month();\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n return 0;\n }\n }\n\n let daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n let day = this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];\n\n if (day < 0) {\n day = daysInMonth + day + 1;\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n data_valid = this.is_day_in_byday(this.last);\n } else {\n this.last.day = day;\n }\n } else {\n this.increment_month();\n let daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n if (this.by_data.BYMONTHDAY[0] > daysInMonth) {\n data_valid = 0;\n } else {\n this.last.day = this.by_data.BYMONTHDAY[0];\n }\n }\n\n return data_valid;\n }\n\n next_weekday_by_week() {\n let end_of_data = 0;\n\n if (this.next_hour() == 0) {\n return end_of_data;\n }\n\n if (!this.has_by_data(\"BYDAY\")) {\n return 1;\n }\n\n for (;;) {\n let tt = new Time();\n this.by_indices.BYDAY++;\n\n if (this.by_indices.BYDAY == Object.keys(this.by_data.BYDAY).length) {\n this.by_indices.BYDAY = 0;\n end_of_data = 1;\n }\n\n let coded_day = this.by_data.BYDAY[this.by_indices.BYDAY];\n let parts = this.ruleDayOfWeek(coded_day);\n let dow = parts[1];\n\n dow -= this.rule.wkst;\n\n if (dow < 0) {\n dow += 7;\n }\n\n tt.year = this.last.year;\n tt.month = this.last.month;\n tt.day = this.last.day;\n\n let startOfWeek = tt.startDoyWeek(this.rule.wkst);\n\n if (dow + startOfWeek < 1) {\n // The selected date is in the previous year\n if (!end_of_data) {\n continue;\n }\n }\n\n let next = Time.fromDayOfYear(startOfWeek + dow, this.last.year);\n\n /**\n * The normalization horrors below are due to\n * the fact that when the year/month/day changes\n * it can effect the other operations that come after.\n */\n this.last.year = next.year;\n this.last.month = next.month;\n this.last.day = next.day;\n\n return end_of_data;\n }\n }\n\n next_year() {\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (++this.days_index == this.days.length) {\n this.days_index = 0;\n do {\n this.increment_year(this.rule.interval);\n if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_data.BYMONTHDAY = this.normalizeByMonthDayRules(\n this.last.year,\n this.last.month,\n this.rule.parts.BYMONTHDAY\n );\n }\n this.expand_year_days(this.last.year);\n } while (this.days.length == 0);\n }\n\n this._nextByYearDay();\n\n return 1;\n }\n\n _nextByYearDay() {\n let doy = this.days[this.days_index];\n let year = this.last.year;\n if (doy < 1) {\n // Time.fromDayOfYear(doy, year) indexes relative to the\n // start of the given year. That is different from the\n // semantics of BYYEARDAY where negative indexes are an\n // offset from the end of the given year.\n doy += 1;\n year += 1;\n }\n let next = Time.fromDayOfYear(doy, year);\n this.last.day = next.day;\n this.last.month = next.month;\n }\n\n /**\n * @param dow (eg: '1TU', '-1MO')\n * @param {weekDay=} aWeekStart The week start weekday\n * @return [pos, numericDow] (eg: [1, 3]) numericDow is relative to aWeekStart\n */\n ruleDayOfWeek(dow, aWeekStart) {\n let matches = dow.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);\n if (matches) {\n let pos = parseInt(matches[1] || 0, 10);\n dow = Recur.icalDayToNumericDay(matches[2], aWeekStart);\n return [pos, dow];\n } else {\n return [0, 0];\n }\n }\n\n next_generic(aRuleType, aInterval, aDateAttr, aFollowingAttr, aPreviousIncr) {\n let has_by_rule = (aRuleType in this.by_data);\n let this_freq = (this.rule.freq == aInterval);\n let end_of_data = 0;\n\n if (aPreviousIncr && this[aPreviousIncr]() == 0) {\n return end_of_data;\n }\n\n if (has_by_rule) {\n this.by_indices[aRuleType]++;\n let dta = this.by_data[aRuleType];\n\n if (this.by_indices[aRuleType] == dta.length) {\n this.by_indices[aRuleType] = 0;\n end_of_data = 1;\n }\n this.last[aDateAttr] = dta[this.by_indices[aRuleType]];\n } else if (this_freq) {\n this[\"increment_\" + aDateAttr](this.rule.interval);\n }\n\n if (has_by_rule && end_of_data && this_freq) {\n this[\"increment_\" + aFollowingAttr](1);\n }\n\n return end_of_data;\n }\n\n increment_monthday(inc) {\n for (let i = 0; i < inc; i++) {\n let daysInMonth = Time.daysInMonth(this.last.month, this.last.year);\n this.last.day++;\n\n if (this.last.day > daysInMonth) {\n this.last.day -= daysInMonth;\n this.increment_month();\n }\n }\n }\n\n increment_month() {\n this.last.day = 1;\n if (this.has_by_data(\"BYMONTH\")) {\n this.by_indices.BYMONTH++;\n\n if (this.by_indices.BYMONTH == this.by_data.BYMONTH.length) {\n this.by_indices.BYMONTH = 0;\n this.increment_year(1);\n }\n\n this.last.month = this.by_data.BYMONTH[this.by_indices.BYMONTH];\n } else {\n if (this.rule.freq == \"MONTHLY\") {\n this.last.month += this.rule.interval;\n } else {\n this.last.month++;\n }\n\n this.last.month--;\n let years = trunc(this.last.month / 12);\n this.last.month %= 12;\n this.last.month++;\n\n if (years != 0) {\n this.increment_year(years);\n }\n }\n\n if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_data.BYMONTHDAY = this.normalizeByMonthDayRules(\n this.last.year,\n this.last.month,\n this.rule.parts.BYMONTHDAY\n );\n }\n }\n\n increment_year(inc) {\n // Don't jump into the next month if this.last is Feb 29.\n this.last.day = 1;\n this.last.year += inc;\n }\n\n increment_generic(inc, aDateAttr, aFactor, aNextIncrement) {\n this.last[aDateAttr] += inc;\n let nextunit = trunc(this.last[aDateAttr] / aFactor);\n this.last[aDateAttr] %= aFactor;\n if (nextunit != 0) {\n this[\"increment_\" + aNextIncrement](nextunit);\n }\n }\n\n has_by_data(aRuleType) {\n return (aRuleType in this.rule.parts);\n }\n\n expand_year_days(aYear) {\n let t = new Time();\n this.days = [];\n\n // We need our own copy with a few keys set\n let parts = {};\n let rules = [\"BYDAY\", \"BYWEEKNO\", \"BYMONTHDAY\", \"BYMONTH\", \"BYYEARDAY\"];\n for (let part of rules) {\n if (part in this.rule.parts) {\n parts[part] = this.rule.parts[part];\n }\n }\n\n if (\"BYMONTH\" in parts && \"BYWEEKNO\" in parts) {\n let valid = 1;\n let validWeeks = {};\n t.year = aYear;\n t.isDate = true;\n\n for (let monthIdx = 0; monthIdx < this.by_data.BYMONTH.length; monthIdx++) {\n let month = this.by_data.BYMONTH[monthIdx];\n t.month = month;\n t.day = 1;\n let first_week = t.weekNumber(this.rule.wkst);\n t.day = Time.daysInMonth(month, aYear);\n let last_week = t.weekNumber(this.rule.wkst);\n for (monthIdx = first_week; monthIdx < last_week; monthIdx++) {\n validWeeks[monthIdx] = 1;\n }\n }\n\n for (let weekIdx = 0; weekIdx < this.by_data.BYWEEKNO.length && valid; weekIdx++) {\n let weekno = this.by_data.BYWEEKNO[weekIdx];\n if (weekno < 52) {\n valid &= validWeeks[weekIdx];\n } else {\n valid = 0;\n }\n }\n\n if (valid) {\n delete parts.BYMONTH;\n } else {\n delete parts.BYWEEKNO;\n }\n }\n\n let partCount = Object.keys(parts).length;\n\n if (partCount == 0) {\n let t1 = this.dtstart.clone();\n t1.year = this.last.year;\n this.days.push(t1.dayOfYear());\n } else if (partCount == 1 && \"BYMONTH\" in parts) {\n for (let month of this.by_data.BYMONTH) {\n let t2 = this.dtstart.clone();\n t2.year = aYear;\n t2.month = month;\n t2.isDate = true;\n this.days.push(t2.dayOfYear());\n }\n } else if (partCount == 1 && \"BYMONTHDAY\" in parts) {\n for (let monthday of this.by_data.BYMONTHDAY) {\n let t3 = this.dtstart.clone();\n if (monthday < 0) {\n let daysInMonth = Time.daysInMonth(t3.month, aYear);\n monthday = monthday + daysInMonth + 1;\n }\n t3.day = monthday;\n t3.year = aYear;\n t3.isDate = true;\n this.days.push(t3.dayOfYear());\n }\n } else if (partCount == 2 &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n for (let month of this.by_data.BYMONTH) {\n let daysInMonth = Time.daysInMonth(month, aYear);\n for (let monthday of this.by_data.BYMONTHDAY) {\n if (monthday < 0) {\n monthday = monthday + daysInMonth + 1;\n }\n t.day = monthday;\n t.month = month;\n t.year = aYear;\n t.isDate = true;\n\n this.days.push(t.dayOfYear());\n }\n }\n } else if (partCount == 1 && \"BYWEEKNO\" in parts) ; else if (partCount == 2 &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) ; else if (partCount == 1 && \"BYDAY\" in parts) {\n this.days = this.days.concat(this.expand_by_day(aYear));\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTH\" in parts) {\n for (let month of this.by_data.BYMONTH) {\n let daysInMonth = Time.daysInMonth(month, aYear);\n\n t.year = aYear;\n t.month = month;\n t.day = 1;\n t.isDate = true;\n\n let first_dow = t.dayOfWeek();\n let doy_offset = t.dayOfYear() - 1;\n\n t.day = daysInMonth;\n let last_dow = t.dayOfWeek();\n\n if (this.has_by_data(\"BYSETPOS\")) {\n let by_month_day = [];\n for (let day = 1; day <= daysInMonth; day++) {\n t.day = day;\n if (this.is_day_in_byday(t)) {\n by_month_day.push(day);\n }\n }\n\n for (let spIndex = 0; spIndex < by_month_day.length; spIndex++) {\n if (this.check_set_position(spIndex + 1) ||\n this.check_set_position(spIndex - by_month_day.length)) {\n this.days.push(doy_offset + by_month_day[spIndex]);\n }\n }\n } else {\n for (let coded_day of this.by_data.BYDAY) {\n let bydayParts = this.ruleDayOfWeek(coded_day);\n let pos = bydayParts[0];\n let dow = bydayParts[1];\n let month_day;\n\n let first_matching_day = ((dow + 7 - first_dow) % 7) + 1;\n let last_matching_day = daysInMonth - ((last_dow + 7 - dow) % 7);\n\n if (pos == 0) {\n for (let day = first_matching_day; day <= daysInMonth; day += 7) {\n this.days.push(doy_offset + day);\n }\n } else if (pos > 0) {\n month_day = first_matching_day + (pos - 1) * 7;\n\n if (month_day <= daysInMonth) {\n this.days.push(doy_offset + month_day);\n }\n } else {\n month_day = last_matching_day + (pos + 1) * 7;\n\n if (month_day > 0) {\n this.days.push(doy_offset + month_day);\n }\n }\n }\n }\n }\n // Return dates in order of occurrence (1,2,3,...) instead\n // of by groups of weekdays (1,8,15,...,2,9,16,...).\n this.days.sort(function(a, b) { return a - b; }); // Comparator function allows to sort numbers.\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTHDAY\" in parts) {\n let expandedDays = this.expand_by_day(aYear);\n\n for (let day of expandedDays) {\n let tt = Time.fromDayOfYear(day, aYear);\n if (this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n let expandedDays = this.expand_by_day(aYear);\n\n for (let day of expandedDays) {\n let tt = Time.fromDayOfYear(day, aYear);\n\n if (this.by_data.BYMONTH.indexOf(tt.month) >= 0 &&\n this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYWEEKNO\" in parts) {\n let expandedDays = this.expand_by_day(aYear);\n\n for (let day of expandedDays) {\n let tt = Time.fromDayOfYear(day, aYear);\n let weekno = tt.weekNumber(this.rule.wkst);\n\n if (this.by_data.BYWEEKNO.indexOf(weekno)) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) ; else if (partCount == 1 && \"BYYEARDAY\" in parts) {\n this.days = this.days.concat(this.by_data.BYYEARDAY);\n } else {\n this.days = [];\n }\n\n let daysInYear = Time.isLeapYear(aYear) ? 366 : 365;\n this.days.sort((a, b) => {\n if (a < 0) a += daysInYear + 1;\n if (b < 0) b += daysInYear + 1;\n return a - b;\n });\n\n return 0;\n }\n\n expand_by_day(aYear) {\n\n let days_list = [];\n let tmp = this.last.clone();\n\n tmp.year = aYear;\n tmp.month = 1;\n tmp.day = 1;\n tmp.isDate = true;\n\n let start_dow = tmp.dayOfWeek();\n\n tmp.month = 12;\n tmp.day = 31;\n tmp.isDate = true;\n\n let end_dow = tmp.dayOfWeek();\n let end_year_day = tmp.dayOfYear();\n\n for (let day of this.by_data.BYDAY) {\n let parts = this.ruleDayOfWeek(day);\n let pos = parts[0];\n let dow = parts[1];\n\n if (pos == 0) {\n let tmp_start_doy = ((dow + 7 - start_dow) % 7) + 1;\n\n for (let doy = tmp_start_doy; doy <= end_year_day; doy += 7) {\n days_list.push(doy);\n }\n\n } else if (pos > 0) {\n let first;\n if (dow >= start_dow) {\n first = dow - start_dow + 1;\n } else {\n first = dow - start_dow + 8;\n }\n\n days_list.push(first + (pos - 1) * 7);\n } else {\n let last;\n pos = -pos;\n\n if (dow <= end_dow) {\n last = end_year_day - end_dow + dow;\n } else {\n last = end_year_day - end_dow + dow - 7;\n }\n\n days_list.push(last - (pos - 1) * 7);\n }\n }\n return days_list;\n }\n\n is_day_in_byday(tt) {\n if (this.by_data.BYDAY) {\n for (let day of this.by_data.BYDAY) {\n let parts = this.ruleDayOfWeek(day);\n let pos = parts[0];\n let dow = parts[1];\n let this_dow = tt.dayOfWeek();\n\n if ((pos == 0 && dow == this_dow) ||\n (tt.nthWeekDay(dow, pos) == tt.day)) {\n return 1;\n }\n }\n }\n\n return 0;\n }\n\n /**\n * Checks if given value is in BYSETPOS.\n *\n * @private\n * @param {Numeric} aPos position to check for.\n * @return {Boolean} false unless BYSETPOS rules exist\n * and the given value is present in rules.\n */\n check_set_position(aPos) {\n if (this.has_by_data('BYSETPOS')) {\n let idx = this.by_data.BYSETPOS.indexOf(aPos);\n // negative numbers are not false-y\n return idx !== -1;\n }\n return false;\n }\n\n sort_byday_rules(aRules) {\n for (let i = 0; i < aRules.length; i++) {\n for (let j = 0; j < i; j++) {\n let one = this.ruleDayOfWeek(aRules[j], this.rule.wkst)[1];\n let two = this.ruleDayOfWeek(aRules[i], this.rule.wkst)[1];\n\n if (one > two) {\n let tmp = aRules[i];\n aRules[i] = aRules[j];\n aRules[j] = tmp;\n }\n }\n }\n }\n\n check_contract_restriction(aRuleType, v) {\n let indexMapValue = RecurIterator._indexMap[aRuleType];\n let ruleMapValue = RecurIterator._expandMap[this.rule.freq][indexMapValue];\n let pass = false;\n\n if (aRuleType in this.by_data &&\n ruleMapValue == RecurIterator.CONTRACT) {\n\n let ruleType = this.by_data[aRuleType];\n\n for (let bydata of ruleType) {\n if (bydata == v) {\n pass = true;\n break;\n }\n }\n } else {\n // Not a contracting byrule or has no data, test passes\n pass = true;\n }\n return pass;\n }\n\n check_contracting_rules() {\n let dow = this.last.dayOfWeek();\n let weekNo = this.last.weekNumber(this.rule.wkst);\n let doy = this.last.dayOfYear();\n\n return (this.check_contract_restriction(\"BYSECOND\", this.last.second) &&\n this.check_contract_restriction(\"BYMINUTE\", this.last.minute) &&\n this.check_contract_restriction(\"BYHOUR\", this.last.hour) &&\n this.check_contract_restriction(\"BYDAY\", Recur.numericDayToIcalDay(dow)) &&\n this.check_contract_restriction(\"BYWEEKNO\", weekNo) &&\n this.check_contract_restriction(\"BYMONTHDAY\", this.last.day) &&\n this.check_contract_restriction(\"BYMONTH\", this.last.month) &&\n this.check_contract_restriction(\"BYYEARDAY\", doy));\n }\n\n setup_defaults(aRuleType, req, deftime) {\n let indexMapValue = RecurIterator._indexMap[aRuleType];\n let ruleMapValue = RecurIterator._expandMap[this.rule.freq][indexMapValue];\n\n if (ruleMapValue != RecurIterator.CONTRACT) {\n if (!(aRuleType in this.by_data)) {\n this.by_data[aRuleType] = [deftime];\n }\n if (this.rule.freq != req) {\n return this.by_data[aRuleType][0];\n }\n }\n return deftime;\n }\n\n /**\n * Convert iterator into a serialize-able object. Will preserve current\n * iteration sequence to ensure the seamless continuation of the recurrence\n * rule.\n * @return {Object}\n */\n toJSON() {\n let result = Object.create(null);\n\n result.initialized = this.initialized;\n result.rule = this.rule.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.by_data = this.by_data;\n result.days = this.days;\n result.last = this.last.toJSON();\n result.by_indices = this.by_indices;\n result.occurrence_number = this.occurrence_number;\n\n return result;\n }\n}\n\n/**\n * An error indicating that a recurrence rule is invalid and produces no\n * occurrences.\n *\n * @extends {Error}\n * @class\n */\nclass InvalidRecurrenceRuleError extends Error {\n constructor() {\n super(\"Recurrence rule has no valid occurrences\");\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n *\n * @ignore\n * @typedef {import(\"./types.js\").weekDay} weekDay\n * Imports the 'weekDay' type from the \"types.js\" module\n * @typedef {import(\"./types.js\").frequencyValues} frequencyValues\n * Imports the 'frequencyValues' type from the \"types.js\" module\n */\n\nconst VALID_DAY_NAMES = /^(SU|MO|TU|WE|TH|FR|SA)$/;\nconst VALID_BYDAY_PART = /^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/;\nconst DOW_MAP = {\n SU: Time.SUNDAY,\n MO: Time.MONDAY,\n TU: Time.TUESDAY,\n WE: Time.WEDNESDAY,\n TH: Time.THURSDAY,\n FR: Time.FRIDAY,\n SA: Time.SATURDAY\n};\n\nconst REVERSE_DOW_MAP = Object.fromEntries(Object.entries(DOW_MAP).map(entry => entry.reverse()));\n\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY',\n 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n\n/**\n * This class represents the \"recur\" value type, used for example by RRULE. It provides methods to\n * calculate occurrences among others.\n *\n * @memberof ICAL\n */\nclass Recur {\n /**\n * Creates a new {@link ICAL.Recur} instance from the passed string.\n *\n * @param {String} string The string to parse\n * @return {Recur} The created recurrence instance\n */\n static fromString(string) {\n let data = this._stringToData(string, false);\n return new Recur(data);\n }\n\n /**\n * Creates a new {@link ICAL.Recur} instance using members from the passed\n * data object.\n *\n * @param {Object} aData An object with members of the recurrence\n * @param {frequencyValues=} aData.freq The frequency value\n * @param {Number=} aData.interval The INTERVAL value\n * @param {weekDay=} aData.wkst The week start value\n * @param {Time=} aData.until The end of the recurrence set\n * @param {Number=} aData.count The number of occurrences\n * @param {Array.=} aData.bysecond The seconds for the BYSECOND part\n * @param {Array.=} aData.byminute The minutes for the BYMINUTE part\n * @param {Array.=} aData.byhour The hours for the BYHOUR part\n * @param {Array.=} aData.byday The BYDAY values\n * @param {Array.=} aData.bymonthday The days for the BYMONTHDAY part\n * @param {Array.=} aData.byyearday The days for the BYYEARDAY part\n * @param {Array.=} aData.byweekno The weeks for the BYWEEKNO part\n * @param {Array.=} aData.bymonth The month for the BYMONTH part\n * @param {Array.=} aData.bysetpos The positionals for the BYSETPOS part\n */\n static fromData(aData) {\n return new Recur(aData);\n }\n\n /**\n * Converts a recurrence string to a data object, suitable for the fromData\n * method.\n *\n * @private\n * @param {String} string The string to parse\n * @param {Boolean} fmtIcal If true, the string is considered to be an\n * iCalendar string\n * @return {Recur} The recurrence instance\n */\n static _stringToData(string, fmtIcal) {\n let dict = Object.create(null);\n\n // split is slower in FF but fast enough.\n // v8 however this is faster then manual split?\n let values = string.split(';');\n let len = values.length;\n\n for (let i = 0; i < len; i++) {\n let parts = values[i].split('=');\n let ucname = parts[0].toUpperCase();\n let lcname = parts[0].toLowerCase();\n let name = (fmtIcal ? lcname : ucname);\n let value = parts[1];\n\n if (ucname in partDesign) {\n let partArr = value.split(',');\n let partSet = new Set();\n\n for (let part of partArr) {\n partSet.add(partDesign[ucname](part));\n }\n partArr = [...partSet];\n\n dict[name] = (partArr.length == 1 ? partArr[0] : partArr);\n } else if (ucname in optionDesign) {\n optionDesign[ucname](value, dict, fmtIcal);\n } else {\n // Don't swallow unknown values. Just set them as they are.\n dict[lcname] = value;\n }\n }\n\n return dict;\n }\n\n /**\n * Convert an ical representation of a day (SU, MO, etc..)\n * into a numeric value of that day.\n *\n * @param {String} string The iCalendar day name\n * @param {weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Number} Numeric value of given day\n */\n static icalDayToNumericDay(string, aWeekStart) {\n //XXX: this is here so we can deal\n // with possibly invalid string values.\n let firstDow = aWeekStart || Time.SUNDAY;\n return ((DOW_MAP[string] - firstDow + 7) % 7) + 1;\n }\n\n /**\n * Convert a numeric day value into its ical representation (SU, MO, etc..)\n *\n * @param {Number} num Numeric value of given day\n * @param {weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {String} The ICAL day value, e.g SU,MO,...\n */\n static numericDayToIcalDay(num, aWeekStart) {\n //XXX: this is here so we can deal with possibly invalid number values.\n // Also, this allows consistent mapping between day numbers and day\n // names for external users.\n let firstDow = aWeekStart || Time.SUNDAY;\n let dow = (num + firstDow - Time.SUNDAY);\n if (dow > 7) {\n dow -= 7;\n }\n return REVERSE_DOW_MAP[dow];\n }\n\n /**\n * Create a new instance of the Recur class.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {weekDay=} data.wkst The week start value\n * @param {Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.=} data.byhour The hours for the BYHOUR part\n * @param {Array.=} data.byday The BYDAY values\n * @param {Array.=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.=} data.bymonth The month for the BYMONTH part\n * @param {Array.=} data.bysetpos The positionals for the BYSETPOS part\n */\n constructor(data) {\n this.wrappedJSObject = this;\n this.parts = {};\n\n if (data && typeof(data) === 'object') {\n this.fromData(data);\n }\n }\n\n /**\n * An object holding the BY-parts of the recurrence rule\n * @memberof ICAL.Recur\n * @typedef {Object} byParts\n * @property {Array.=} BYSECOND The seconds for the BYSECOND part\n * @property {Array.=} BYMINUTE The minutes for the BYMINUTE part\n * @property {Array.=} BYHOUR The hours for the BYHOUR part\n * @property {Array.=} BYDAY The BYDAY values\n * @property {Array.=} BYMONTHDAY The days for the BYMONTHDAY part\n * @property {Array.=} BYYEARDAY The days for the BYYEARDAY part\n * @property {Array.=} BYWEEKNO The weeks for the BYWEEKNO part\n * @property {Array.=} BYMONTH The month for the BYMONTH part\n * @property {Array.=} BYSETPOS The positionals for the BYSETPOS part\n */\n\n /**\n * An object holding the BY-parts of the recurrence rule\n * @type {byParts}\n */\n parts = null;\n\n /**\n * The interval value for the recurrence rule.\n * @type {Number}\n */\n interval = 1;\n\n /**\n * The week start day\n *\n * @type {weekDay}\n * @default ICAL.Time.MONDAY\n */\n wkst = Time.MONDAY;\n\n /**\n * The end of the recurrence\n * @type {?Time}\n */\n until = null;\n\n /**\n * The maximum number of occurrences\n * @type {?Number}\n */\n count = null;\n\n /**\n * The frequency value.\n * @type {frequencyValues}\n */\n freq = null;\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalrecur\"\n */\n icalclass = \"icalrecur\";\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"recur\"\n */\n icaltype = \"recur\";\n\n /**\n * Create a new iterator for this recurrence rule. The passed start date\n * must be the start date of the event, not the start of the range to\n * search in.\n *\n * @example\n * let recur = comp.getFirstPropertyValue('rrule');\n * let dtstart = comp.getFirstPropertyValue('dtstart');\n * let iter = recur.iterator(dtstart);\n * for (let next = iter.next(); next; next = iter.next()) {\n * if (next.compare(rangeStart) < 0) {\n * continue;\n * }\n * console.log(next.toString());\n * }\n *\n * @param {Time} aStart The item's start date\n * @return {RecurIterator} The recurrence iterator\n */\n iterator(aStart) {\n return new RecurIterator({\n rule: this,\n dtstart: aStart\n });\n }\n\n /**\n * Returns a clone of the recurrence object.\n *\n * @return {Recur} The cloned object\n */\n clone() {\n return new Recur(this.toJSON());\n }\n\n /**\n * Checks if the current rule is finite, i.e. has a count or until part.\n *\n * @return {Boolean} True, if the rule is finite\n */\n isFinite() {\n return !!(this.count || this.until);\n }\n\n /**\n * Checks if the current rule has a count part, and not limited by an until\n * part.\n *\n * @return {Boolean} True, if the rule is by count\n */\n isByCount() {\n return !!(this.count && !this.until);\n }\n\n /**\n * Adds a component (part) to the recurrence rule. This is not a component\n * in the sense of {@link ICAL.Component}, but a part of the recurrence\n * rule, i.e. BYMONTH.\n *\n * @param {String} aType The name of the component part\n * @param {Array|String} aValue The component value\n */\n addComponent(aType, aValue) {\n let ucname = aType.toUpperCase();\n if (ucname in this.parts) {\n this.parts[ucname].push(aValue);\n } else {\n this.parts[ucname] = [aValue];\n }\n }\n\n /**\n * Sets the component value for the given by-part.\n *\n * @param {String} aType The component part name\n * @param {Array} aValues The component values\n */\n setComponent(aType, aValues) {\n this.parts[aType.toUpperCase()] = aValues.slice();\n }\n\n /**\n * Gets (a copy) of the requested component value.\n *\n * @param {String} aType The component part name\n * @return {Array} The component part value\n */\n getComponent(aType) {\n let ucname = aType.toUpperCase();\n return (ucname in this.parts ? this.parts[ucname].slice() : []);\n }\n\n /**\n * Retrieves the next occurrence after the given recurrence id. See the\n * guide on {@tutorial terminology} for more details.\n *\n * NOTE: Currently, this method iterates all occurrences from the start\n * date. It should not be called in a loop for performance reasons. If you\n * would like to get more than one occurrence, you can iterate the\n * occurrences manually, see the example on the\n * {@link ICAL.Recur#iterator iterator} method.\n *\n * @param {Time} aStartTime The start of the event series\n * @param {Time} aRecurrenceId The date of the last occurrence\n * @return {Time} The next occurrence after\n */\n getNextOccurrence(aStartTime, aRecurrenceId) {\n let iter = this.iterator(aStartTime);\n let next;\n\n do {\n next = iter.next();\n } while (next && next.compare(aRecurrenceId) <= 0);\n\n if (next && aRecurrenceId.zone) {\n next.zone = aRecurrenceId.zone;\n }\n\n return next;\n }\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {weekDay=} data.wkst The week start value\n * @param {Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.=} data.byhour The hours for the BYHOUR part\n * @param {Array.=} data.byday The BYDAY values\n * @param {Array.=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.=} data.bymonth The month for the BYMONTH part\n * @param {Array.=} data.bysetpos The positionals for the BYSETPOS part\n */\n fromData(data) {\n for (let key in data) {\n let uckey = key.toUpperCase();\n\n if (uckey in partDesign) {\n if (Array.isArray(data[key])) {\n this.parts[uckey] = data[key];\n } else {\n this.parts[uckey] = [data[key]];\n }\n } else {\n this[key] = data[key];\n }\n }\n\n if (this.interval && typeof this.interval != \"number\") {\n optionDesign.INTERVAL(this.interval, this);\n }\n\n if (this.wkst && typeof this.wkst != \"number\") {\n this.wkst = Recur.icalDayToNumericDay(this.wkst);\n }\n\n if (this.until && !(this.until instanceof Time)) {\n this.until = Time.fromString(this.until);\n }\n }\n\n /**\n * The jCal representation of this recurrence type.\n * @return {Object}\n */\n toJSON() {\n let res = Object.create(null);\n res.freq = this.freq;\n\n if (this.count) {\n res.count = this.count;\n }\n\n if (this.interval > 1) {\n res.interval = this.interval;\n }\n\n for (let [k, kparts] of Object.entries(this.parts)) {\n if (Array.isArray(kparts) && kparts.length == 1) {\n res[k.toLowerCase()] = kparts[0];\n } else {\n res[k.toLowerCase()] = clone(kparts);\n }\n }\n\n if (this.until) {\n res.until = this.until.toString();\n }\n if ('wkst' in this && this.wkst !== Time.DEFAULT_WEEK_START) {\n res.wkst = Recur.numericDayToIcalDay(this.wkst);\n }\n return res;\n }\n\n /**\n * The string representation of this recurrence rule.\n * @return {String}\n */\n toString() {\n // TODO retain order\n let str = \"FREQ=\" + this.freq;\n if (this.count) {\n str += \";COUNT=\" + this.count;\n }\n if (this.interval > 1) {\n str += \";INTERVAL=\" + this.interval;\n }\n for (let [k, v] of Object.entries(this.parts)) {\n str += \";\" + k + \"=\" + v;\n }\n if (this.until) {\n str += ';UNTIL=' + this.until.toICALString();\n }\n if ('wkst' in this && this.wkst !== Time.DEFAULT_WEEK_START) {\n str += ';WKST=' + Recur.numericDayToIcalDay(this.wkst);\n }\n return str;\n }\n}\n\nfunction parseNumericValue(type, min, max, value) {\n let result = value;\n\n if (value[0] === '+') {\n result = value.slice(1);\n }\n\n result = strictParseInt(result);\n\n if (min !== undefined && value < min) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be > ' + min\n );\n }\n\n if (max !== undefined && value > max) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be < ' + min\n );\n }\n\n return result;\n}\n\nconst optionDesign = {\n FREQ: function(value, dict, fmtIcal) {\n // yes this is actually equal or faster then regex.\n // upside here is we can enumerate the valid values.\n if (ALLOWED_FREQ.indexOf(value) !== -1) {\n dict.freq = value;\n } else {\n throw new Error(\n 'invalid frequency \"' + value + '\" expected: \"' +\n ALLOWED_FREQ.join(', ') + '\"'\n );\n }\n },\n\n COUNT: function(value, dict, fmtIcal) {\n dict.count = strictParseInt(value);\n },\n\n INTERVAL: function(value, dict, fmtIcal) {\n dict.interval = strictParseInt(value);\n if (dict.interval < 1) {\n // 0 or negative values are not allowed, some engines seem to generate\n // it though. Assume 1 instead.\n dict.interval = 1;\n }\n },\n\n UNTIL: function(value, dict, fmtIcal) {\n if (value.length > 10) {\n dict.until = design$1.icalendar.value['date-time'].fromICAL(value);\n } else {\n dict.until = design$1.icalendar.value.date.fromICAL(value);\n }\n if (!fmtIcal) {\n dict.until = Time.fromString(dict.until);\n }\n },\n\n WKST: function(value, dict, fmtIcal) {\n if (VALID_DAY_NAMES.test(value)) {\n dict.wkst = Recur.icalDayToNumericDay(value);\n } else {\n throw new Error('invalid WKST value \"' + value + '\"');\n }\n }\n};\n\nconst partDesign = {\n BYSECOND: parseNumericValue.bind(undefined, 'BYSECOND', 0, 60),\n BYMINUTE: parseNumericValue.bind(undefined, 'BYMINUTE', 0, 59),\n BYHOUR: parseNumericValue.bind(undefined, 'BYHOUR', 0, 23),\n BYDAY: function(value) {\n if (VALID_BYDAY_PART.test(value)) {\n return value;\n } else {\n throw new Error('invalid BYDAY value \"' + value + '\"');\n }\n },\n BYMONTHDAY: parseNumericValue.bind(undefined, 'BYMONTHDAY', -31, 31),\n BYYEARDAY: parseNumericValue.bind(undefined, 'BYYEARDAY', -366, 366),\n BYWEEKNO: parseNumericValue.bind(undefined, 'BYWEEKNO', -53, 53),\n BYMONTH: parseNumericValue.bind(undefined, 'BYMONTH', 1, 12),\n BYSETPOS: parseNumericValue.bind(undefined, 'BYSETPOS', -366, 366)\n};\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n * @ignore\n * @typedef {import(\"./types.js\").jCalComponent} jCalComponent\n * Imports the 'occurrenceDetails' type from the \"types.js\" module\n */\n\n/**\n * This class represents the \"period\" value type, with various calculation and manipulation methods.\n *\n * @memberof ICAL\n */\nclass Period {\n /**\n * Creates a new {@link ICAL.Period} instance from the passed string.\n *\n * @param {String} str The string to parse\n * @param {Property} prop The property this period will be on\n * @return {Period} The created period instance\n */\n static fromString(str, prop) {\n let parts = str.split('/');\n\n if (parts.length !== 2) {\n throw new Error(\n 'Invalid string value: \"' + str + '\" must contain a \"/\" char.'\n );\n }\n\n let options = {\n start: Time.fromDateTimeString(parts[0], prop)\n };\n\n let end = parts[1];\n\n if (Duration.isValueString(end)) {\n options.duration = Duration.fromString(end);\n } else {\n options.end = Time.fromDateTimeString(end, prop);\n }\n\n return new Period(options);\n }\n\n /**\n * Creates a new {@link ICAL.Period} instance from the given data object.\n * The passed data object cannot contain both and end date and a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {Time=} aData.start The start of the period\n * @param {Time=} aData.end The end of the period\n * @param {Duration=} aData.duration The duration of the period\n * @return {Period} The period instance\n */\n static fromData(aData) {\n return new Period(aData);\n }\n\n /**\n * Returns a new period instance from the given jCal data array. The first\n * member is always the start date string, the second member is either a\n * duration or end date string.\n *\n * @param {jCalComponent} aData The jCal data array\n * @param {Property} aProp The property this jCal data is on\n * @param {Boolean} aLenient If true, data value can be both date and date-time\n * @return {Period} The period instance\n */\n static fromJSON(aData, aProp, aLenient) {\n function fromDateOrDateTimeString(aValue, dateProp) {\n if (aLenient) {\n return Time.fromString(aValue, dateProp);\n } else {\n return Time.fromDateTimeString(aValue, dateProp);\n }\n }\n\n if (Duration.isValueString(aData[1])) {\n return Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n duration: Duration.fromString(aData[1])\n });\n } else {\n return Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n end: fromDateOrDateTimeString(aData[1], aProp)\n });\n }\n }\n\n /**\n * Creates a new ICAL.Period instance. The passed data object cannot contain both and end date and\n * a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {Time=} aData.start The start of the period\n * @param {Time=} aData.end The end of the period\n * @param {Duration=} aData.duration The duration of the period\n */\n constructor(aData) {\n this.wrappedJSObject = this;\n\n if (aData && 'start' in aData) {\n if (aData.start && !(aData.start instanceof Time)) {\n throw new TypeError('.start must be an instance of ICAL.Time');\n }\n this.start = aData.start;\n }\n\n if (aData && aData.end && aData.duration) {\n throw new Error('cannot accept both end and duration');\n }\n\n if (aData && 'end' in aData) {\n if (aData.end && !(aData.end instanceof Time)) {\n throw new TypeError('.end must be an instance of ICAL.Time');\n }\n this.end = aData.end;\n }\n\n if (aData && 'duration' in aData) {\n if (aData.duration && !(aData.duration instanceof Duration)) {\n throw new TypeError('.duration must be an instance of ICAL.Duration');\n }\n this.duration = aData.duration;\n }\n }\n\n\n /**\n * The start of the period\n * @type {Time}\n */\n start = null;\n\n /**\n * The end of the period\n * @type {Time}\n */\n end = null;\n\n /**\n * The duration of the period\n * @type {Duration}\n */\n duration = null;\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalperiod\"\n */\n icalclass = \"icalperiod\";\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"period\"\n */\n icaltype = \"period\";\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {Period} The cloned object\n */\n clone() {\n return Period.fromData({\n start: this.start ? this.start.clone() : null,\n end: this.end ? this.end.clone() : null,\n duration: this.duration ? this.duration.clone() : null\n });\n }\n\n /**\n * Calculates the duration of the period, either directly or by subtracting\n * start from end date.\n *\n * @return {Duration} The calculated duration\n */\n getDuration() {\n if (this.duration) {\n return this.duration;\n } else {\n return this.end.subtractDate(this.start);\n }\n }\n\n /**\n * Calculates the end date of the period, either directly or by adding\n * duration to start date.\n *\n * @return {Time} The calculated end date\n */\n getEnd() {\n if (this.end) {\n return this.end;\n } else {\n let end = this.start.clone();\n end.addDuration(this.duration);\n return end;\n }\n }\n\n /**\n * The string representation of this period.\n * @return {String}\n */\n toString() {\n return this.start + \"/\" + (this.end || this.duration);\n }\n\n /**\n * The jCal representation of this period type.\n * @return {Object}\n */\n toJSON() {\n return [this.start.toString(), (this.end || this.duration).toString()];\n }\n\n /**\n * The iCalendar string representation of this period.\n * @return {String}\n */\n toICALString() {\n return this.start.toICALString() + \"/\" +\n (this.end || this.duration).toICALString();\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n * @ignore\n * @typedef {import(\"./types.js\").designSet} designSet\n * Imports the 'designSet' type from the \"types.js\" module\n */\n\n/** @module ICAL.design */\n\nconst FROM_ICAL_NEWLINE = /\\\\\\\\|\\\\;|\\\\,|\\\\[Nn]/g;\nconst TO_ICAL_NEWLINE = /\\\\|;|,|\\n/g;\nconst FROM_VCARD_NEWLINE = /\\\\\\\\|\\\\,|\\\\[Nn]/g;\nconst TO_VCARD_NEWLINE = /\\\\|,|\\n/g;\n\nfunction createTextType(fromNewline, toNewline) {\n let result = {\n matches: /.*/,\n\n fromICAL: function(aValue, structuredEscape) {\n return replaceNewline(aValue, fromNewline, structuredEscape);\n },\n\n toICAL: function(aValue, structuredEscape) {\n let regEx = toNewline;\n if (structuredEscape)\n regEx = new RegExp(regEx.source + '|' + structuredEscape, regEx.flags);\n return aValue.replace(regEx, function(str) {\n switch (str) {\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \";\":\n return \"\\\\;\";\n case \",\":\n return \"\\\\,\";\n case \"\\n\":\n return \"\\\\n\";\n /* c8 ignore next 2 */\n default:\n return str;\n }\n });\n }\n };\n return result;\n}\n\n// default types used multiple times\nconst DEFAULT_TYPE_TEXT = { defaultType: \"text\" };\nconst DEFAULT_TYPE_TEXT_MULTI = { defaultType: \"text\", multiValue: \",\" };\nconst DEFAULT_TYPE_TEXT_STRUCTURED = { defaultType: \"text\", structuredValue: \";\" };\nconst DEFAULT_TYPE_INTEGER = { defaultType: \"integer\" };\nconst DEFAULT_TYPE_DATETIME_DATE = { defaultType: \"date-time\", allowedTypes: [\"date-time\", \"date\"] };\nconst DEFAULT_TYPE_DATETIME = { defaultType: \"date-time\" };\nconst DEFAULT_TYPE_URI = { defaultType: \"uri\" };\nconst DEFAULT_TYPE_UTCOFFSET = { defaultType: \"utc-offset\" };\nconst DEFAULT_TYPE_RECUR = { defaultType: \"recur\" };\nconst DEFAULT_TYPE_DATE_ANDOR_TIME = { defaultType: \"date-and-or-time\", allowedTypes: [\"date-time\", \"date\", \"text\"] };\n\nfunction replaceNewlineReplace(string) {\n switch (string) {\n case \"\\\\\\\\\":\n return \"\\\\\";\n case \"\\\\;\":\n return \";\";\n case \"\\\\,\":\n return \",\";\n case \"\\\\n\":\n case \"\\\\N\":\n return \"\\n\";\n /* c8 ignore next 2 */\n default:\n return string;\n }\n}\n\nfunction replaceNewline(value, newline, structuredEscape) {\n // avoid regex when possible.\n if (value.indexOf('\\\\') === -1) {\n return value;\n }\n if (structuredEscape)\n newline = new RegExp(newline.source + '|\\\\\\\\' + structuredEscape, newline.flags);\n return value.replace(newline, replaceNewlineReplace);\n}\n\nlet commonProperties = {\n \"categories\": DEFAULT_TYPE_TEXT_MULTI,\n \"url\": DEFAULT_TYPE_URI,\n \"version\": DEFAULT_TYPE_TEXT,\n \"uid\": DEFAULT_TYPE_TEXT\n};\n\nlet commonValues = {\n \"boolean\": {\n values: [\"TRUE\", \"FALSE\"],\n\n fromICAL: function(aValue) {\n switch (aValue) {\n case 'TRUE':\n return true;\n case 'FALSE':\n return false;\n default:\n //TODO: parser warning\n return false;\n }\n },\n\n toICAL: function(aValue) {\n if (aValue) {\n return 'TRUE';\n }\n return 'FALSE';\n }\n\n },\n float: {\n matches: /^[+-]?\\d+\\.\\d+$/,\n\n fromICAL: function(aValue) {\n let parsed = parseFloat(aValue);\n if (isStrictlyNaN(parsed)) {\n // TODO: parser warning\n return 0.0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n integer: {\n fromICAL: function(aValue) {\n let parsed = parseInt(aValue);\n if (isStrictlyNaN(parsed)) {\n return 0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n \"utc-offset\": {\n toICAL: function(aValue) {\n if (aValue.length < 7) {\n // no seconds\n // -0500\n return aValue.slice(0, 3) +\n aValue.slice(4, 6);\n } else {\n // seconds\n // -050000\n return aValue.slice(0, 3) +\n aValue.slice(4, 6) +\n aValue.slice(7, 9);\n }\n },\n\n fromICAL: function(aValue) {\n if (aValue.length < 6) {\n // no seconds\n // -05:00\n return aValue.slice(0, 3) + ':' +\n aValue.slice(3, 5);\n } else {\n // seconds\n // -05:00:00\n return aValue.slice(0, 3) + ':' +\n aValue.slice(3, 5) + ':' +\n aValue.slice(5, 7);\n }\n },\n\n decorate: function(aValue) {\n return UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n};\n\nlet icalParams = {\n // Although the syntax is DQUOTE uri DQUOTE, I don't think we should\n // enforce anything aside from it being a valid content line.\n //\n // At least some params require - if multi values are used - DQUOTEs\n // for each of its values - e.g. delegated-from=\"uri1\",\"uri2\"\n // To indicate this, I introduced the new k/v pair\n // multiValueSeparateDQuote: true\n //\n // \"ALTREP\": { ... },\n\n // CN just wants a param-value\n // \"CN\": { ... }\n\n \"cutype\": {\n values: [\"INDIVIDUAL\", \"GROUP\", \"RESOURCE\", \"ROOM\", \"UNKNOWN\"],\n allowXName: true,\n allowIanaToken: true\n },\n\n \"delegated-from\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"delegated-to\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n // \"DIR\": { ... }, // See ALTREP\n \"encoding\": {\n values: [\"8BIT\", \"BASE64\"]\n },\n // \"FMTTYPE\": { ... }, // See ALTREP\n \"fbtype\": {\n values: [\"FREE\", \"BUSY\", \"BUSY-UNAVAILABLE\", \"BUSY-TENTATIVE\"],\n allowXName: true,\n allowIanaToken: true\n },\n // \"LANGUAGE\": { ... }, // See ALTREP\n \"member\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"partstat\": {\n // TODO These values are actually different per-component\n values: [\"NEEDS-ACTION\", \"ACCEPTED\", \"DECLINED\", \"TENTATIVE\",\n \"DELEGATED\", \"COMPLETED\", \"IN-PROCESS\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"range\": {\n values: [\"THISANDFUTURE\"]\n },\n \"related\": {\n values: [\"START\", \"END\"]\n },\n \"reltype\": {\n values: [\"PARENT\", \"CHILD\", \"SIBLING\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"role\": {\n values: [\"REQ-PARTICIPANT\", \"CHAIR\",\n \"OPT-PARTICIPANT\", \"NON-PARTICIPANT\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"rsvp\": {\n values: [\"TRUE\", \"FALSE\"]\n },\n \"sent-by\": {\n valueType: \"cal-address\"\n },\n \"tzid\": {\n matches: /^\\//\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"binary\", \"boolean\", \"cal-address\", \"date\", \"date-time\",\n \"duration\", \"float\", \"integer\", \"period\", \"recur\", \"text\",\n \"time\", \"uri\", \"utc-offset\"],\n allowXName: true,\n allowIanaToken: true\n }\n};\n\n// When adding a value here, be sure to add it to the parameter types!\nconst icalValues = extend(commonValues, {\n text: createTextType(FROM_ICAL_NEWLINE, TO_ICAL_NEWLINE),\n\n uri: {\n // TODO\n /* ... */\n },\n\n \"binary\": {\n decorate: function(aString) {\n return Binary.fromString(aString);\n },\n\n undecorate: function(aBinary) {\n return aBinary.toString();\n }\n },\n \"cal-address\": {\n // needs to be an uri\n },\n \"date\": {\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return Time.fromDateString(aValue, aProp);\n } else {\n return Time.fromString(aValue, aProp);\n }\n },\n\n /**\n * undecorates a time object.\n */\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n // from: 20120901\n // to: 2012-09-01\n if (!design.strict && aValue.length >= 15) {\n // This is probably a date-time, e.g. 20120901T130000Z\n return icalValues[\"date-time\"].fromICAL(aValue);\n } else {\n return aValue.slice(0, 4) + '-' +\n aValue.slice(4, 6) + '-' +\n aValue.slice(6, 8);\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01\n // to: 20120901\n let len = aValue.length;\n\n if (len == 10) {\n return aValue.slice(0, 4) +\n aValue.slice(5, 7) +\n aValue.slice(8, 10);\n } else if (len >= 19) {\n return icalValues[\"date-time\"].toICAL(aValue);\n } else {\n //TODO: serialize warning?\n return aValue;\n }\n\n }\n },\n \"date-time\": {\n fromICAL: function(aValue) {\n // from: 20120901T130000\n // to: 2012-09-01T13:00:00\n if (!design.strict && aValue.length == 8) {\n // This is probably a date, e.g. 20120901\n return icalValues.date.fromICAL(aValue);\n } else {\n let result = aValue.slice(0, 4) + '-' +\n aValue.slice(4, 6) + '-' +\n aValue.slice(6, 8) + 'T' +\n aValue.slice(9, 11) + ':' +\n aValue.slice(11, 13) + ':' +\n aValue.slice(13, 15);\n\n if (aValue[15] && aValue[15] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01T13:00:00\n // to: 20120901T130000\n let len = aValue.length;\n\n if (len == 10 && !design.strict) {\n return icalValues.date.toICAL(aValue);\n } else if (len >= 19) {\n let result = aValue.slice(0, 4) +\n aValue.slice(5, 7) +\n // grab the (DDTHH) segment\n aValue.slice(8, 13) +\n // MM\n aValue.slice(14, 16) +\n // SS\n aValue.slice(17, 19);\n\n if (aValue[19] && aValue[19] === 'Z') {\n result += 'Z';\n }\n return result;\n } else {\n // TODO: error\n return aValue;\n }\n },\n\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return Time.fromDateTimeString(aValue, aProp);\n } else {\n return Time.fromString(aValue, aProp);\n }\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n duration: {\n decorate: function(aValue) {\n return Duration.fromString(aValue);\n },\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n period: {\n fromICAL: function(string) {\n let parts = string.split('/');\n parts[0] = icalValues['date-time'].fromICAL(parts[0]);\n\n if (!Duration.isValueString(parts[1])) {\n parts[1] = icalValues['date-time'].fromICAL(parts[1]);\n }\n\n return parts;\n },\n\n toICAL: function(parts) {\n parts = parts.slice();\n if (!design.strict && parts[0].length == 10) {\n parts[0] = icalValues.date.toICAL(parts[0]);\n } else {\n parts[0] = icalValues['date-time'].toICAL(parts[0]);\n }\n\n if (!Duration.isValueString(parts[1])) {\n if (!design.strict && parts[1].length == 10) {\n parts[1] = icalValues.date.toICAL(parts[1]);\n } else {\n parts[1] = icalValues['date-time'].toICAL(parts[1]);\n }\n }\n\n return parts.join(\"/\");\n },\n\n decorate: function(aValue, aProp) {\n return Period.fromJSON(aValue, aProp, !design.strict);\n },\n\n undecorate: function(aValue) {\n return aValue.toJSON();\n }\n },\n recur: {\n fromICAL: function(string) {\n return Recur._stringToData(string, true);\n },\n\n toICAL: function(data) {\n let str = \"\";\n for (let [k, val] of Object.entries(data)) {\n if (k == \"until\") {\n if (val.length > 10) {\n val = icalValues['date-time'].toICAL(val);\n } else {\n val = icalValues.date.toICAL(val);\n }\n } else if (k == \"wkst\") {\n if (typeof val === 'number') {\n val = Recur.numericDayToIcalDay(val);\n }\n } else if (Array.isArray(val)) {\n val = val.join(\",\");\n }\n str += k.toUpperCase() + \"=\" + val + \";\";\n }\n return str.slice(0, Math.max(0, str.length - 1));\n },\n\n decorate: function decorate(aValue) {\n return Recur.fromData(aValue);\n },\n\n undecorate: function(aRecur) {\n return aRecur.toJSON();\n }\n },\n\n time: {\n fromICAL: function(aValue) {\n // from: MMHHSS(Z)?\n // to: HH:MM:SS(Z)?\n if (aValue.length < 6) {\n // TODO: parser exception?\n return aValue;\n }\n\n // HH::MM::SSZ?\n let result = aValue.slice(0, 2) + ':' +\n aValue.slice(2, 4) + ':' +\n aValue.slice(4, 6);\n\n if (aValue[6] === 'Z') {\n result += 'Z';\n }\n\n return result;\n },\n\n toICAL: function(aValue) {\n // from: HH:MM:SS(Z)?\n // to: MMHHSS(Z)?\n if (aValue.length < 8) {\n //TODO: error\n return aValue;\n }\n\n let result = aValue.slice(0, 2) +\n aValue.slice(3, 5) +\n aValue.slice(6, 8);\n\n if (aValue[8] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n }\n});\n\nlet icalProperties = extend(commonProperties, {\n\n \"action\": DEFAULT_TYPE_TEXT,\n \"attach\": { defaultType: \"uri\" },\n \"attendee\": { defaultType: \"cal-address\" },\n \"calscale\": DEFAULT_TYPE_TEXT,\n \"class\": DEFAULT_TYPE_TEXT,\n \"comment\": DEFAULT_TYPE_TEXT,\n \"completed\": DEFAULT_TYPE_DATETIME,\n \"contact\": DEFAULT_TYPE_TEXT,\n \"created\": DEFAULT_TYPE_DATETIME,\n \"description\": DEFAULT_TYPE_TEXT,\n \"dtend\": DEFAULT_TYPE_DATETIME_DATE,\n \"dtstamp\": DEFAULT_TYPE_DATETIME,\n \"dtstart\": DEFAULT_TYPE_DATETIME_DATE,\n \"due\": DEFAULT_TYPE_DATETIME_DATE,\n \"duration\": { defaultType: \"duration\" },\n \"exdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n multiValue: ','\n },\n \"exrule\": DEFAULT_TYPE_RECUR,\n \"freebusy\": { defaultType: \"period\", multiValue: \",\" },\n \"geo\": { defaultType: \"float\", structuredValue: \";\" },\n \"last-modified\": DEFAULT_TYPE_DATETIME,\n \"location\": DEFAULT_TYPE_TEXT,\n \"method\": DEFAULT_TYPE_TEXT,\n \"organizer\": { defaultType: \"cal-address\" },\n \"percent-complete\": DEFAULT_TYPE_INTEGER,\n \"priority\": DEFAULT_TYPE_INTEGER,\n \"prodid\": DEFAULT_TYPE_TEXT,\n \"related-to\": DEFAULT_TYPE_TEXT,\n \"repeat\": DEFAULT_TYPE_INTEGER,\n \"rdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\", \"period\"],\n multiValue: ',',\n detectType: function(string) {\n if (string.indexOf('/') !== -1) {\n return 'period';\n }\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"recurrence-id\": DEFAULT_TYPE_DATETIME_DATE,\n \"resources\": DEFAULT_TYPE_TEXT_MULTI,\n \"request-status\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"rrule\": DEFAULT_TYPE_RECUR,\n \"sequence\": DEFAULT_TYPE_INTEGER,\n \"status\": DEFAULT_TYPE_TEXT,\n \"summary\": DEFAULT_TYPE_TEXT,\n \"transp\": DEFAULT_TYPE_TEXT,\n \"trigger\": { defaultType: \"duration\", allowedTypes: [\"duration\", \"date-time\"] },\n \"tzoffsetfrom\": DEFAULT_TYPE_UTCOFFSET,\n \"tzoffsetto\": DEFAULT_TYPE_UTCOFFSET,\n \"tzurl\": DEFAULT_TYPE_URI,\n \"tzid\": DEFAULT_TYPE_TEXT,\n \"tzname\": DEFAULT_TYPE_TEXT\n});\n\n// When adding a value here, be sure to add it to the parameter types!\nconst vcardValues = extend(commonValues, {\n text: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n uri: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n\n date: {\n decorate: function(aValue) {\n return VCardTime.fromDateAndOrTimeString(aValue, \"date\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n if (aValue.length == 8) {\n return icalValues.date.fromICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 6) {\n return aValue.slice(0, 4) + '-' + aValue.slice(4);\n } else {\n return aValue;\n }\n },\n toICAL: function(aValue) {\n if (aValue.length == 10) {\n return icalValues.date.toICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 7) {\n return aValue.slice(0, 4) + aValue.slice(5);\n } else {\n return aValue;\n }\n }\n },\n\n time: {\n decorate: function(aValue) {\n return VCardTime.fromDateAndOrTimeString(\"T\" + aValue, \"time\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n let splitzone = vcardValues.time._splitZone(aValue, true);\n let zone = splitzone[0], value = splitzone[1];\n\n //console.log(\"SPLIT: \",splitzone);\n\n if (value.length == 6) {\n value = value.slice(0, 2) + ':' +\n value.slice(2, 4) + ':' +\n value.slice(4, 6);\n } else if (value.length == 4 && value[0] != '-') {\n value = value.slice(0, 2) + ':' + value.slice(2, 4);\n } else if (value.length == 5) {\n value = value.slice(0, 3) + ':' + value.slice(3, 5);\n }\n\n if (zone.length == 5 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.slice(0, 3) + ':' + zone.slice(3);\n }\n\n return value + zone;\n },\n\n toICAL: function(aValue) {\n let splitzone = vcardValues.time._splitZone(aValue);\n let zone = splitzone[0], value = splitzone[1];\n\n if (value.length == 8) {\n value = value.slice(0, 2) +\n value.slice(3, 5) +\n value.slice(6, 8);\n } else if (value.length == 5 && value[0] != '-') {\n value = value.slice(0, 2) + value.slice(3, 5);\n } else if (value.length == 6) {\n value = value.slice(0, 3) + value.slice(4, 6);\n }\n\n if (zone.length == 6 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.slice(0, 3) + zone.slice(4);\n }\n\n return value + zone;\n },\n\n _splitZone: function(aValue, isFromIcal) {\n let lastChar = aValue.length - 1;\n let signChar = aValue.length - (isFromIcal ? 5 : 6);\n let sign = aValue[signChar];\n let zone, value;\n\n if (aValue[lastChar] == 'Z') {\n zone = aValue[lastChar];\n value = aValue.slice(0, Math.max(0, lastChar));\n } else if (aValue.length > 6 && (sign == '-' || sign == '+')) {\n zone = aValue.slice(signChar);\n value = aValue.slice(0, Math.max(0, signChar));\n } else {\n zone = \"\";\n value = aValue;\n }\n\n return [zone, value];\n }\n },\n\n \"date-time\": {\n decorate: function(aValue) {\n return VCardTime.fromDateAndOrTimeString(aValue, \"date-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n return vcardValues['date-and-or-time'].fromICAL(aValue);\n },\n\n toICAL: function(aValue) {\n return vcardValues['date-and-or-time'].toICAL(aValue);\n }\n },\n\n \"date-and-or-time\": {\n decorate: function(aValue) {\n return VCardTime.fromDateAndOrTimeString(aValue, \"date-and-or-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n let parts = aValue.split('T');\n return (parts[0] ? vcardValues.date.fromICAL(parts[0]) : '') +\n (parts[1] ? 'T' + vcardValues.time.fromICAL(parts[1]) : '');\n },\n\n toICAL: function(aValue) {\n let parts = aValue.split('T');\n return vcardValues.date.toICAL(parts[0]) +\n (parts[1] ? 'T' + vcardValues.time.toICAL(parts[1]) : '');\n\n }\n },\n timestamp: icalValues['date-time'],\n \"language-tag\": {\n matches: /^[a-zA-Z0-9-]+$/ // Could go with a more strict regex here\n },\n \"phone-number\": {\n fromICAL: function(aValue) {\n return Array.from(aValue).filter(function(c) {\n return c === '\\\\' ? undefined : c;\n }).join('');\n },\n toICAL: function(aValue) {\n return Array.from(aValue).map(function(c) {\n return c === ',' || c === \";\" ? '\\\\' + c : c;\n }).join('');\n }\n }\n});\n\nlet vcardParams = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"time\", \"date-time\", \"date-and-or-time\",\n \"timestamp\", \"boolean\", \"integer\", \"float\", \"utc-offset\",\n \"language-tag\"],\n allowXName: true,\n allowIanaToken: true\n }\n};\n\nlet vcardProperties = extend(commonProperties, {\n \"adr\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"anniversary\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"bday\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"caladruri\": DEFAULT_TYPE_URI,\n \"caluri\": DEFAULT_TYPE_URI,\n \"clientpidmap\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"email\": DEFAULT_TYPE_TEXT,\n \"fburl\": DEFAULT_TYPE_URI,\n \"fn\": DEFAULT_TYPE_TEXT,\n \"gender\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"geo\": DEFAULT_TYPE_URI,\n \"impp\": DEFAULT_TYPE_URI,\n \"key\": DEFAULT_TYPE_URI,\n \"kind\": DEFAULT_TYPE_TEXT,\n \"lang\": { defaultType: \"language-tag\" },\n \"logo\": DEFAULT_TYPE_URI,\n \"member\": DEFAULT_TYPE_URI,\n \"n\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"nickname\": DEFAULT_TYPE_TEXT_MULTI,\n \"note\": DEFAULT_TYPE_TEXT,\n \"org\": { defaultType: \"text\", structuredValue: \";\" },\n \"photo\": DEFAULT_TYPE_URI,\n \"related\": DEFAULT_TYPE_URI,\n \"rev\": { defaultType: \"timestamp\" },\n \"role\": DEFAULT_TYPE_TEXT,\n \"sound\": DEFAULT_TYPE_URI,\n \"source\": DEFAULT_TYPE_URI,\n \"tel\": { defaultType: \"uri\", allowedTypes: [\"uri\", \"text\"] },\n \"title\": DEFAULT_TYPE_TEXT,\n \"tz\": { defaultType: \"text\", allowedTypes: [\"text\", \"utc-offset\", \"uri\"] },\n \"xml\": DEFAULT_TYPE_TEXT\n});\n\nlet vcard3Values = extend(commonValues, {\n binary: icalValues.binary,\n date: vcardValues.date,\n \"date-time\": vcardValues[\"date-time\"],\n \"phone-number\": vcardValues[\"phone-number\"],\n uri: icalValues.uri,\n text: icalValues.text,\n time: icalValues.time,\n vcard: icalValues.text,\n \"utc-offset\": {\n toICAL: function(aValue) {\n return aValue.slice(0, 7);\n },\n\n fromICAL: function(aValue) {\n return aValue.slice(0, 7);\n },\n\n decorate: function(aValue) {\n return UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n});\n\nlet vcard3Params = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"date-time\", \"phone-number\", \"time\",\n \"boolean\", \"integer\", \"float\", \"utc-offset\", \"vcard\", \"binary\"],\n allowXName: true,\n allowIanaToken: true\n }\n};\n\nlet vcard3Properties = extend(commonProperties, {\n fn: DEFAULT_TYPE_TEXT,\n n: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n nickname: DEFAULT_TYPE_TEXT_MULTI,\n photo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n bday: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n\n adr: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n label: DEFAULT_TYPE_TEXT,\n\n tel: { defaultType: \"phone-number\" },\n email: DEFAULT_TYPE_TEXT,\n mailer: DEFAULT_TYPE_TEXT,\n\n tz: { defaultType: \"utc-offset\", allowedTypes: [\"utc-offset\", \"text\"] },\n geo: { defaultType: \"float\", structuredValue: \";\" },\n\n title: DEFAULT_TYPE_TEXT,\n role: DEFAULT_TYPE_TEXT,\n logo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n agent: { defaultType: \"vcard\", allowedTypes: [\"vcard\", \"text\", \"uri\"] },\n org: DEFAULT_TYPE_TEXT_STRUCTURED,\n\n note: DEFAULT_TYPE_TEXT_MULTI,\n prodid: DEFAULT_TYPE_TEXT,\n rev: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"sort-string\": DEFAULT_TYPE_TEXT,\n sound: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n\n class: DEFAULT_TYPE_TEXT,\n key: { defaultType: \"binary\", allowedTypes: [\"binary\", \"text\"] }\n});\n\n/**\n * iCalendar design set\n * @type {designSet}\n */\nlet icalSet = {\n value: icalValues,\n param: icalParams,\n property: icalProperties,\n propertyGroups: false\n};\n\n/**\n * vCard 4.0 design set\n * @type {designSet}\n */\nlet vcardSet = {\n value: vcardValues,\n param: vcardParams,\n property: vcardProperties,\n propertyGroups: true\n};\n\n/**\n * vCard 3.0 design set\n * @type {designSet}\n */\nlet vcard3Set = {\n value: vcard3Values,\n param: vcard3Params,\n property: vcard3Properties,\n propertyGroups: true\n};\n\n/**\n * The design data, used by the parser to determine types for properties and\n * other metadata needed to produce correct jCard/jCal data.\n *\n * @alias ICAL.design\n * @exports module:ICAL.design\n */\nconst design = {\n /**\n * Can be set to false to make the parser more lenient.\n */\n strict: true,\n\n /**\n * The default set for new properties and components if none is specified.\n * @type {designSet}\n */\n defaultSet: icalSet,\n\n /**\n * The default type for unknown properties\n * @type {String}\n */\n defaultType: 'unknown',\n\n /**\n * Holds the design set for known top-level components\n *\n * @type {Object}\n * @property {designSet} vcard vCard VCARD\n * @property {designSet} vevent iCalendar VEVENT\n * @property {designSet} vtodo iCalendar VTODO\n * @property {designSet} vjournal iCalendar VJOURNAL\n * @property {designSet} valarm iCalendar VALARM\n * @property {designSet} vtimezone iCalendar VTIMEZONE\n * @property {designSet} daylight iCalendar DAYLIGHT\n * @property {designSet} standard iCalendar STANDARD\n *\n * @example\n * let propertyName = 'fn';\n * let componentDesign = ICAL.design.components.vcard;\n * let propertyDetails = componentDesign.property[propertyName];\n * if (propertyDetails.defaultType == 'text') {\n * // Yep, sure is...\n * }\n */\n components: {\n vcard: vcardSet,\n vcard3: vcard3Set,\n vevent: icalSet,\n vtodo: icalSet,\n vjournal: icalSet,\n valarm: icalSet,\n vtimezone: icalSet,\n daylight: icalSet,\n standard: icalSet\n },\n\n\n /**\n * The design set for iCalendar (rfc5545/rfc7265) components.\n * @type {designSet}\n */\n icalendar: icalSet,\n\n /**\n * The design set for vCard (rfc6350/rfc7095) components.\n * @type {designSet}\n */\n vcard: vcardSet,\n\n /**\n * The design set for vCard (rfc2425/rfc2426/rfc7095) components.\n * @type {designSet}\n */\n vcard3: vcard3Set,\n\n /**\n * Gets the design set for the given component name.\n *\n * @param {String} componentName The name of the component\n * @return {designSet} The design set for the component\n */\n getDesignSet: function(componentName) {\n let isInDesign = componentName && componentName in design.components;\n return isInDesign ? design.components[componentName] : design.defaultSet;\n }\n};\nvar design$1 = design;\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n *\n * @ignore\n * @typedef {import(\"./types.js\").designSet} designSet\n * Imports the 'designSet' type from the \"types.js\" module\n */\n\nconst LINE_ENDING = '\\r\\n';\nconst DEFAULT_VALUE_TYPE = 'unknown';\nconst RFC6868_REPLACE_MAP = { '\"': \"^'\", \"\\n\": \"^n\", \"^\": \"^^\" };\n\n/**\n * Convert a full jCal/jCard array into a iCalendar/vCard string.\n *\n * @function ICAL.stringify\n * @variation function\n * @param {Array} jCal The jCal/jCard document\n * @return {String} The stringified iCalendar/vCard document\n */\nfunction stringify(jCal) {\n if (typeof jCal[0] == \"string\") {\n // This is a single component\n jCal = [jCal];\n }\n\n let i = 0;\n let len = jCal.length;\n let result = '';\n\n for (; i < len; i++) {\n result += stringify.component(jCal[i]) + LINE_ENDING;\n }\n\n return result;\n}\n\n/**\n * Converts an jCal component array into a ICAL string.\n * Recursive will resolve sub-components.\n *\n * Exact component/property order is not saved all\n * properties will come before subcomponents.\n *\n * @function ICAL.stringify.component\n * @param {Array} component\n * jCal/jCard fragment of a component\n * @param {designSet} designSet\n * The design data to use for this component\n * @return {String} The iCalendar/vCard string\n */\nstringify.component = function(component, designSet) {\n let name = component[0].toUpperCase();\n let result = 'BEGIN:' + name + LINE_ENDING;\n\n let props = component[1];\n let propIdx = 0;\n let propLen = props.length;\n\n let designSetName = component[0];\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (designSetName === 'vcard' && component[1].length > 0 &&\n !(component[1][0][0] === \"version\" && component[1][0][3] === \"4.0\")) {\n designSetName = \"vcard3\";\n }\n designSet = designSet || design$1.getDesignSet(designSetName);\n\n for (; propIdx < propLen; propIdx++) {\n result += stringify.property(props[propIdx], designSet) + LINE_ENDING;\n }\n\n // Ignore subcomponents if none exist, e.g. in vCard.\n let comps = component[2] || [];\n let compIdx = 0;\n let compLen = comps.length;\n\n for (; compIdx < compLen; compIdx++) {\n result += stringify.component(comps[compIdx], designSet) + LINE_ENDING;\n }\n\n result += 'END:' + name;\n return result;\n};\n\n/**\n * Converts a single jCal/jCard property to a iCalendar/vCard string.\n *\n * @function ICAL.stringify.property\n * @param {Array} property\n * jCal/jCard property array\n * @param {designSet} designSet\n * The design data to use for this property\n * @param {Boolean} noFold\n * If true, the line is not folded\n * @return {String} The iCalendar/vCard string\n */\nstringify.property = function(property, designSet, noFold) {\n let name = property[0].toUpperCase();\n let jsName = property[0];\n let params = property[1];\n\n if (!designSet) {\n designSet = design$1.defaultSet;\n }\n\n let groupName = params.group;\n let line;\n if (designSet.propertyGroups && groupName) {\n line = groupName.toUpperCase() + \".\" + name;\n } else {\n line = name;\n }\n\n for (let [paramName, value] of Object.entries(params)) {\n if (designSet.propertyGroups && paramName == 'group') {\n continue;\n }\n\n let paramDesign = designSet.param[paramName];\n let multiValue = paramDesign && paramDesign.multiValue;\n if (multiValue && Array.isArray(value)) {\n value = value.map(function(val) {\n val = stringify._rfc6868Unescape(val);\n val = stringify.paramPropertyValue(val, paramDesign.multiValueSeparateDQuote);\n return val;\n });\n value = stringify.multiValue(value, multiValue, \"unknown\", null, designSet);\n } else {\n value = stringify._rfc6868Unescape(value);\n value = stringify.paramPropertyValue(value);\n }\n\n line += ';' + paramName.toUpperCase() + '=' + value;\n }\n\n if (property.length === 3) {\n // If there are no values, we must assume a blank value\n return line + ':';\n }\n\n let valueType = property[2];\n\n let propDetails;\n let multiValue = false;\n let structuredValue = false;\n let isDefault = false;\n\n if (jsName in designSet.property) {\n propDetails = designSet.property[jsName];\n\n if ('multiValue' in propDetails) {\n multiValue = propDetails.multiValue;\n }\n\n if (('structuredValue' in propDetails) && Array.isArray(property[3])) {\n structuredValue = propDetails.structuredValue;\n }\n\n if ('defaultType' in propDetails) {\n if (valueType === propDetails.defaultType) {\n isDefault = true;\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n\n // push the VALUE property if type is not the default\n // for the current property.\n if (!isDefault) {\n // value will never contain ;/:/, so we don't escape it here.\n line += ';VALUE=' + valueType.toUpperCase();\n }\n\n line += ':';\n\n if (multiValue && structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, multiValue, designSet, structuredValue\n );\n } else if (multiValue) {\n line += stringify.multiValue(\n property.slice(3), multiValue, valueType, null, designSet, false\n );\n } else if (structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, null, designSet, structuredValue\n );\n } else {\n line += stringify.value(property[3], valueType, designSet, false);\n }\n\n return noFold ? line : foldline(line);\n};\n\n/**\n * Handles escaping of property values that may contain:\n *\n * COLON (:), SEMICOLON (;), or COMMA (,)\n *\n * If any of the above are present the result is wrapped\n * in double quotes.\n *\n * @function ICAL.stringify.paramPropertyValue\n * @param {String} value Raw property value\n * @param {boolean} force If value should be escaped even when unnecessary\n * @return {String} Given or escaped value when needed\n */\nstringify.paramPropertyValue = function(value, force) {\n if (!force &&\n (value.indexOf(',') === -1) &&\n (value.indexOf(':') === -1) &&\n (value.indexOf(';') === -1)) {\n\n return value;\n }\n\n return '\"' + value + '\"';\n};\n\n/**\n * Converts an array of ical values into a single\n * string based on a type and a delimiter value (like \",\").\n *\n * @function ICAL.stringify.multiValue\n * @param {Array} values List of values to convert\n * @param {String} delim Used to join the values (\",\", \";\", \":\")\n * @param {String} type Lowecase ical value type\n * (like boolean, date-time, etc..)\n * @param {?String} innerMulti If set, each value will again be processed\n * Used for structured values\n * @param {designSet} designSet\n * The design data to use for this property\n *\n * @return {String} iCalendar/vCard string for value\n */\nstringify.multiValue = function(values, delim, type, innerMulti, designSet, structuredValue) {\n let result = '';\n let len = values.length;\n let i = 0;\n\n for (; i < len; i++) {\n if (innerMulti && Array.isArray(values[i])) {\n result += stringify.multiValue(values[i], innerMulti, type, null, designSet, structuredValue);\n } else {\n result += stringify.value(values[i], type, designSet, structuredValue);\n }\n\n if (i !== (len - 1)) {\n result += delim;\n }\n }\n\n return result;\n};\n\n/**\n * Processes a single ical value runs the associated \"toICAL\" method from the\n * design value type if available to convert the value.\n *\n * @function ICAL.stringify.value\n * @param {String|Number} value A formatted value\n * @param {String} type Lowercase iCalendar/vCard value type\n * (like boolean, date-time, etc..)\n * @return {String} iCalendar/vCard value for single value\n */\nstringify.value = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'toICAL' in designSet.value[type]) {\n return designSet.value[type].toICAL(value, structuredValue);\n }\n return value;\n};\n\n/**\n * Internal helper for rfc6868. Exposing this on ICAL.stringify so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @param {String} val The value to unescape\n * @return {String} The escaped value\n */\nstringify._rfc6868Unescape = function(val) {\n return val.replace(/[\\n^\"]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n};\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\nconst NAME_INDEX$1 = 0;\nconst PROP_INDEX = 1;\nconst TYPE_INDEX = 2;\nconst VALUE_INDEX = 3;\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n * @ignore\n * @typedef {import(\"./types.js\").designSet} designSet\n * Imports the 'designSet' type from the \"types.js\" module\n * @typedef {import(\"./types.js\").Geo} Geo\n * Imports the 'Geo' type from the \"types.js\" module\n */\n\n/**\n * Provides a layer on top of the raw jCal object for manipulating a single property, with its\n * parameters and value.\n *\n * @memberof ICAL\n */\nclass Property {\n /**\n * Create an {@link ICAL.Property} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n * @param {designSet=} designSet The design data to use for this property\n * @return {Property} The created iCalendar property\n */\n static fromString(str, designSet) {\n return new Property(parse.property(str, designSet));\n }\n\n /**\n * Creates a new ICAL.Property instance.\n *\n * It is important to note that mutations done in the wrapper directly mutate the jCal object used\n * to initialize.\n *\n * Can also be used to create new properties by passing the name of the property (as a String).\n *\n * @param {Array|String} jCal Raw jCal representation OR the new name of the property\n * @param {Component=} parent Parent component\n */\n constructor(jCal, parent) {\n this._parent = parent || null;\n\n if (typeof(jCal) === 'string') {\n // We are creating the property by name and need to detect the type\n this.jCal = [jCal, {}, design$1.defaultType];\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n } else {\n this.jCal = jCal;\n }\n this._updateType();\n }\n\n /**\n * The value type for this property\n * @type {String}\n */\n get type() {\n return this.jCal[TYPE_INDEX];\n }\n\n /**\n * The name of this property, in lowercase.\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX$1];\n }\n\n /**\n * The parent component for this property.\n * @type {Component}\n */\n get parent() {\n return this._parent;\n }\n\n set parent(p) {\n // Before setting the parent, check if the design set has changed. If it\n // has, we later need to update the type if it was unknown before.\n let designSetChanged = !this._parent || (p && p._designSet != this._parent._designSet);\n\n this._parent = p;\n\n if (this.type == design$1.defaultType && designSetChanged) {\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n this._updateType();\n }\n }\n\n /**\n * The design set for this property, e.g. icalendar vs vcard\n *\n * @type {designSet}\n * @private\n */\n get _designSet() {\n return this.parent ? this.parent._designSet : design$1.defaultSet;\n }\n\n /**\n * Updates the type metadata from the current jCal type and design set.\n *\n * @private\n */\n _updateType() {\n let designSet = this._designSet;\n\n if (this.type in designSet.value) {\n if ('decorate' in designSet.value[this.type]) {\n this.isDecorated = true;\n } else {\n this.isDecorated = false;\n }\n\n if (this.name in designSet.property) {\n this.isMultiValue = ('multiValue' in designSet.property[this.name]);\n this.isStructuredValue = ('structuredValue' in designSet.property[this.name]);\n }\n }\n }\n\n /**\n * Hydrate a single value. The act of hydrating means turning the raw jCal\n * value into a potentially wrapped object, for example {@link ICAL.Time}.\n *\n * @private\n * @param {Number} index The index of the value to hydrate\n * @return {?Object} The decorated value.\n */\n _hydrateValue(index) {\n if (this._values && this._values[index]) {\n return this._values[index];\n }\n\n // for the case where there is no value.\n if (this.jCal.length <= (VALUE_INDEX + index)) {\n return null;\n }\n\n if (this.isDecorated) {\n if (!this._values) {\n this._values = [];\n }\n return (this._values[index] = this._decorate(\n this.jCal[VALUE_INDEX + index]\n ));\n } else {\n return this.jCal[VALUE_INDEX + index];\n }\n }\n\n /**\n * Decorate a single value, returning its wrapped object. This is used by\n * the hydrate function to actually wrap the value.\n *\n * @private\n * @param {?} value The value to decorate\n * @return {Object} The decorated value\n */\n _decorate(value) {\n return this._designSet.value[this.type].decorate(value, this);\n }\n\n /**\n * Undecorate a single value, returning its raw jCal data.\n *\n * @private\n * @param {Object} value The value to undecorate\n * @return {?} The undecorated value\n */\n _undecorate(value) {\n return this._designSet.value[this.type].undecorate(value, this);\n }\n\n /**\n * Sets the value at the given index while also hydrating it. The passed\n * value can either be a decorated or undecorated value.\n *\n * @private\n * @param {?} value The value to set\n * @param {Number} index The index to set it at\n */\n _setDecoratedValue(value, index) {\n if (!this._values) {\n this._values = [];\n }\n\n if (typeof(value) === 'object' && 'icaltype' in value) {\n // decorated value\n this.jCal[VALUE_INDEX + index] = this._undecorate(value);\n this._values[index] = value;\n } else {\n // undecorated value\n this.jCal[VALUE_INDEX + index] = value;\n this._values[index] = this._decorate(value);\n }\n }\n\n /**\n * Gets a parameter on the property.\n *\n * @param {String} name Parameter name (lowercase)\n * @return {Array|String} Parameter value\n */\n getParameter(name) {\n if (name in this.jCal[PROP_INDEX]) {\n return this.jCal[PROP_INDEX][name];\n } else {\n return undefined;\n }\n }\n\n /**\n * Gets first parameter on the property.\n *\n * @param {String} name Parameter name (lowercase)\n * @return {String} Parameter value\n */\n getFirstParameter(name) {\n let parameters = this.getParameter(name);\n\n if (Array.isArray(parameters)) {\n return parameters[0];\n }\n\n return parameters;\n }\n\n /**\n * Sets a parameter on the property.\n *\n * @param {String} name The parameter name\n * @param {Array|String} value The parameter value\n */\n setParameter(name, value) {\n let lcname = name.toLowerCase();\n if (typeof value === \"string\" &&\n lcname in this._designSet.param &&\n 'multiValue' in this._designSet.param[lcname]) {\n value = [value];\n }\n this.jCal[PROP_INDEX][name] = value;\n }\n\n /**\n * Removes a parameter\n *\n * @param {String} name The parameter name\n */\n removeParameter(name) {\n delete this.jCal[PROP_INDEX][name];\n }\n\n /**\n * Get the default type based on this property's name.\n *\n * @return {String} The default type for this property\n */\n getDefaultType() {\n let name = this.jCal[NAME_INDEX$1];\n let designSet = this._designSet;\n\n if (name in designSet.property) {\n let details = designSet.property[name];\n if ('defaultType' in details) {\n return details.defaultType;\n }\n }\n return design$1.defaultType;\n }\n\n /**\n * Sets type of property and clears out any existing values of the current\n * type.\n *\n * @param {String} type New iCAL type (see design.*.values)\n */\n resetType(type) {\n this.removeAllValues();\n this.jCal[TYPE_INDEX] = type;\n this._updateType();\n }\n\n /**\n * Finds the first property value.\n *\n * @return {Binary | Duration | Period |\n * Recur | Time | UtcOffset | Geo | string | null} First property value\n */\n getFirstValue() {\n return this._hydrateValue(0);\n }\n\n /**\n * Gets all values on the property.\n *\n * NOTE: this creates an array during each call.\n *\n * @return {Array} List of values\n */\n getValues() {\n let len = this.jCal.length - VALUE_INDEX;\n\n if (len < 1) {\n // it is possible for a property to have no value.\n return [];\n }\n\n let i = 0;\n let result = [];\n\n for (; i < len; i++) {\n result[i] = this._hydrateValue(i);\n }\n\n return result;\n }\n\n /**\n * Removes all values from this property\n */\n removeAllValues() {\n if (this._values) {\n this._values.length = 0;\n }\n this.jCal.length = 3;\n }\n\n /**\n * Sets the values of the property. Will overwrite the existing values.\n * This can only be used for multi-value properties.\n *\n * @param {Array} values An array of values\n */\n setValues(values) {\n if (!this.isMultiValue) {\n throw new Error(\n this.name + ': does not not support mulitValue.\\n' +\n 'override isMultiValue'\n );\n }\n\n let len = values.length;\n let i = 0;\n this.removeAllValues();\n\n if (len > 0 &&\n typeof(values[0]) === 'object' &&\n 'icaltype' in values[0]) {\n this.resetType(values[0].icaltype);\n }\n\n if (this.isDecorated) {\n for (; i < len; i++) {\n this._setDecoratedValue(values[i], i);\n }\n } else {\n for (; i < len; i++) {\n this.jCal[VALUE_INDEX + i] = values[i];\n }\n }\n }\n\n /**\n * Sets the current value of the property. If this is a multi-value\n * property, all other values will be removed.\n *\n * @param {String|Object} value New property value.\n */\n setValue(value) {\n this.removeAllValues();\n if (typeof(value) === 'object' && 'icaltype' in value) {\n this.resetType(value.icaltype);\n }\n\n if (this.isDecorated) {\n this._setDecoratedValue(value, 0);\n } else {\n this.jCal[VALUE_INDEX] = value;\n }\n }\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON() {\n return this.jCal;\n }\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toICALString() {\n return stringify.property(\n this.jCal, this._designSet, true\n );\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n * @ignore\n * @typedef {import(\"./types.js\").designSet} designSet\n * Imports the 'designSet' type from the \"types.js\" module\n * @typedef {import(\"./types.js\").Geo} Geo\n * Imports the 'Geo' type from the \"types.js\" module\n */\n\nconst NAME_INDEX = 0;\nconst PROPERTY_INDEX = 1;\nconst COMPONENT_INDEX = 2;\n\n/**\n * Wraps a jCal component, adding convenience methods to add, remove and update subcomponents and\n * properties.\n *\n * @memberof ICAL\n */\nclass Component {\n /**\n * Create an {@link ICAL.Component} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n */\n static fromString(str) {\n return new Component(parse.component(str));\n }\n\n /**\n * Creates a new Component instance.\n *\n * @param {Array|String} jCal Raw jCal component data OR name of new\n * component\n * @param {Component=} parent Parent component to associate\n */\n constructor(jCal, parent) {\n if (typeof(jCal) === 'string') {\n // jCal spec (name, properties, components)\n jCal = [jCal, [], []];\n }\n\n // mostly for legacy reasons.\n this.jCal = jCal;\n\n this.parent = parent || null;\n\n if (!this.parent && this.name === 'vcalendar') {\n this._timezoneCache = new Map();\n }\n }\n\n /**\n * Hydrated properties are inserted into the _properties array at the same\n * position as in the jCal array, so it is possible that the array contains\n * undefined values for unhydrdated properties. To avoid iterating the\n * array when checking if all properties have been hydrated, we save the\n * count here.\n *\n * @type {Number}\n * @private\n */\n _hydratedPropertyCount = 0;\n\n /**\n * The same count as for _hydratedPropertyCount, but for subcomponents\n *\n * @type {Number}\n * @private\n */\n _hydratedComponentCount = 0;\n\n /**\n * A cache of hydrated time zone objects which may be used by consumers, keyed\n * by time zone ID.\n *\n * @type {Map}\n * @private\n */\n _timezoneCache = null;\n\n /**\n * @private\n */\n _components = null;\n\n /**\n * @private\n */\n _properties = null;\n\n /**\n * The name of this component\n *\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX];\n }\n\n /**\n * The design set for this component, e.g. icalendar vs vcard\n *\n * @type {designSet}\n * @private\n */\n get _designSet() {\n let parentDesign = this.parent && this.parent._designSet;\n return parentDesign || design$1.getDesignSet(this.name);\n }\n\n /**\n * @private\n */\n _hydrateComponent(index) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (this._components[index]) {\n return this._components[index];\n }\n\n let comp = new Component(\n this.jCal[COMPONENT_INDEX][index],\n this\n );\n\n this._hydratedComponentCount++;\n return (this._components[index] = comp);\n }\n\n /**\n * @private\n */\n _hydrateProperty(index) {\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (this._properties[index]) {\n return this._properties[index];\n }\n\n let prop = new Property(\n this.jCal[PROPERTY_INDEX][index],\n this\n );\n\n this._hydratedPropertyCount++;\n return (this._properties[index] = prop);\n }\n\n /**\n * Finds first sub component, optionally filtered by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {?Component} The found subcomponent\n */\n getFirstSubcomponent(name) {\n if (name) {\n let i = 0;\n let comps = this.jCal[COMPONENT_INDEX];\n let len = comps.length;\n\n for (; i < len; i++) {\n if (comps[i][NAME_INDEX] === name) {\n let result = this._hydrateComponent(i);\n return result;\n }\n }\n } else {\n if (this.jCal[COMPONENT_INDEX].length) {\n return this._hydrateComponent(0);\n }\n }\n\n // ensure we return a value (strict mode)\n return null;\n }\n\n /**\n * Finds all sub components, optionally filtering by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {Component[]} The found sub components\n */\n getAllSubcomponents(name) {\n let jCalLen = this.jCal[COMPONENT_INDEX].length;\n let i = 0;\n\n if (name) {\n let comps = this.jCal[COMPONENT_INDEX];\n let result = [];\n\n for (; i < jCalLen; i++) {\n if (name === comps[i][NAME_INDEX]) {\n result.push(\n this._hydrateComponent(i)\n );\n }\n }\n return result;\n } else {\n if (!this._components ||\n (this._hydratedComponentCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateComponent(i);\n }\n }\n\n return this._components || [];\n }\n }\n\n /**\n * Returns true when a named property exists.\n *\n * @param {String} name The property name\n * @return {Boolean} True, when property is found\n */\n hasProperty(name) {\n let props = this.jCal[PROPERTY_INDEX];\n let len = props.length;\n\n let i = 0;\n for (; i < len; i++) {\n // 0 is property name\n if (props[i][NAME_INDEX] === name) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Finds the first property, optionally with the given name.\n *\n * @param {String=} name Lowercase property name\n * @return {?Property} The found property\n */\n getFirstProperty(name) {\n if (name) {\n let i = 0;\n let props = this.jCal[PROPERTY_INDEX];\n let len = props.length;\n\n for (; i < len; i++) {\n if (props[i][NAME_INDEX] === name) {\n let result = this._hydrateProperty(i);\n return result;\n }\n }\n } else {\n if (this.jCal[PROPERTY_INDEX].length) {\n return this._hydrateProperty(0);\n }\n }\n\n return null;\n }\n\n /**\n * Returns first property's value, if available.\n *\n * @param {String=} name Lowercase property name\n * @return {Binary | Duration | Period |\n * Recur | Time | UtcOffset | Geo | string | null} The found property value.\n */\n getFirstPropertyValue(name) {\n let prop = this.getFirstProperty(name);\n if (prop) {\n return prop.getFirstValue();\n }\n\n return null;\n }\n\n /**\n * Get all properties in the component, optionally filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Property[]} List of properties\n */\n getAllProperties(name) {\n let jCalLen = this.jCal[PROPERTY_INDEX].length;\n let i = 0;\n\n if (name) {\n let props = this.jCal[PROPERTY_INDEX];\n let result = [];\n\n for (; i < jCalLen; i++) {\n if (name === props[i][NAME_INDEX]) {\n result.push(\n this._hydrateProperty(i)\n );\n }\n }\n return result;\n } else {\n if (!this._properties ||\n (this._hydratedPropertyCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateProperty(i);\n }\n }\n\n return this._properties || [];\n }\n }\n\n /**\n * @private\n */\n _removeObjectByIndex(jCalIndex, cache, index) {\n cache = cache || [];\n // remove cached version\n if (cache[index]) {\n let obj = cache[index];\n if (\"parent\" in obj) {\n obj.parent = null;\n }\n }\n\n cache.splice(index, 1);\n\n // remove it from the jCal\n this.jCal[jCalIndex].splice(index, 1);\n }\n\n /**\n * @private\n */\n _removeObject(jCalIndex, cache, nameOrObject) {\n let i = 0;\n let objects = this.jCal[jCalIndex];\n let len = objects.length;\n let cached = this[cache];\n\n if (typeof(nameOrObject) === 'string') {\n for (; i < len; i++) {\n if (objects[i][NAME_INDEX] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n } else if (cached) {\n for (; i < len; i++) {\n if (cached[i] && cached[i] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @private\n */\n _removeAllObjects(jCalIndex, cache, name) {\n let cached = this[cache];\n\n // Unfortunately we have to run through all children to reset their\n // parent property.\n let objects = this.jCal[jCalIndex];\n let i = objects.length - 1;\n\n // descending search required because splice\n // is used and will effect the indices.\n for (; i >= 0; i--) {\n if (!name || objects[i][NAME_INDEX] === name) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n }\n }\n }\n\n /**\n * Adds a single sub component.\n *\n * @param {Component} component The component to add\n * @return {Component} The passed in component\n */\n addSubcomponent(component) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (component.parent) {\n component.parent.removeSubcomponent(component);\n }\n\n let idx = this.jCal[COMPONENT_INDEX].push(component.jCal);\n this._components[idx - 1] = component;\n this._hydratedComponentCount++;\n component.parent = this;\n return component;\n }\n\n /**\n * Removes a single component by name or the instance of a specific\n * component.\n *\n * @param {Component|String} nameOrComp Name of component, or component\n * @return {Boolean} True when comp is removed\n */\n removeSubcomponent(nameOrComp) {\n let removed = this._removeObject(COMPONENT_INDEX, '_components', nameOrComp);\n if (removed) {\n this._hydratedComponentCount--;\n }\n return removed;\n }\n\n /**\n * Removes all components or (if given) all components by a particular\n * name.\n *\n * @param {String=} name Lowercase component name\n */\n removeAllSubcomponents(name) {\n let removed = this._removeAllObjects(COMPONENT_INDEX, '_components', name);\n this._hydratedComponentCount = 0;\n return removed;\n }\n\n /**\n * Adds an {@link ICAL.Property} to the component.\n *\n * @param {Property} property The property to add\n * @return {Property} The passed in property\n */\n addProperty(property) {\n if (!(property instanceof Property)) {\n throw new TypeError('must be instance of ICAL.Property');\n }\n\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (property.parent) {\n property.parent.removeProperty(property);\n }\n\n let idx = this.jCal[PROPERTY_INDEX].push(property.jCal);\n this._properties[idx - 1] = property;\n this._hydratedPropertyCount++;\n property.parent = this;\n return property;\n }\n\n /**\n * Helper method to add a property with a value to the component.\n *\n * @param {String} name Property name to add\n * @param {String|Number|Object} value Property value\n * @return {Property} The created property\n */\n addPropertyWithValue(name, value) {\n let prop = new Property(name);\n prop.setValue(value);\n\n this.addProperty(prop);\n\n return prop;\n }\n\n /**\n * Helper method that will update or create a property of the given name\n * and sets its value. If multiple properties with the given name exist,\n * only the first is updated.\n *\n * @param {String} name Property name to update\n * @param {String|Number|Object} value Property value\n * @return {Property} The created property\n */\n updatePropertyWithValue(name, value) {\n let prop = this.getFirstProperty(name);\n\n if (prop) {\n prop.setValue(value);\n } else {\n prop = this.addPropertyWithValue(name, value);\n }\n\n return prop;\n }\n\n /**\n * Removes a single property by name or the instance of the specific\n * property.\n *\n * @param {String|Property} nameOrProp Property name or instance to remove\n * @return {Boolean} True, when deleted\n */\n removeProperty(nameOrProp) {\n let removed = this._removeObject(PROPERTY_INDEX, '_properties', nameOrProp);\n if (removed) {\n this._hydratedPropertyCount--;\n }\n return removed;\n }\n\n /**\n * Removes all properties associated with this component, optionally\n * filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Boolean} True, when deleted\n */\n removeAllProperties(name) {\n let removed = this._removeAllObjects(PROPERTY_INDEX, '_properties', name);\n this._hydratedPropertyCount = 0;\n return removed;\n }\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON() {\n return this.jCal;\n }\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toString() {\n return stringify.component(\n this.jCal, this._designSet\n );\n }\n\n /**\n * Retrieve a time zone definition from the component tree, if any is present.\n * If the tree contains no time zone definitions or the TZID cannot be\n * matched, returns null.\n *\n * @param {String} tzid The ID of the time zone to retrieve\n * @return {Timezone} The time zone corresponding to the ID, or null\n */\n getTimeZoneByID(tzid) {\n // VTIMEZONE components can only appear as a child of the VCALENDAR\n // component; walk the tree if we're not the root.\n if (this.parent) {\n return this.parent.getTimeZoneByID(tzid);\n }\n\n // If there is no time zone cache, we are probably parsing an incomplete\n // file and will have no time zone definitions.\n if (!this._timezoneCache) {\n return null;\n }\n\n if (this._timezoneCache.has(tzid)) {\n return this._timezoneCache.get(tzid);\n }\n\n // If the time zone is not already cached, hydrate it from the\n // subcomponents.\n const zones = this.getAllSubcomponents('vtimezone');\n for (const zone of zones) {\n if (zone.getFirstProperty('tzid').getFirstValue() === tzid) {\n const hydratedZone = new Timezone({\n component: zone,\n tzid: tzid,\n });\n\n this._timezoneCache.set(tzid, hydratedZone);\n\n return hydratedZone;\n }\n }\n\n // Per the standard, we should always have a time zone defined in a file\n // for any referenced TZID, but don't blow up if the file is invalid.\n return null;\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * Primary class for expanding recurring rules. Can take multiple rrules, rdates, exdate(s) and\n * iterate (in order) over each next occurrence.\n *\n * Once initialized this class can also be serialized saved and continue iteration from the last\n * point.\n *\n * NOTE: it is intended that this class is to be used with {@link ICAL.Event} which handles recurrence\n * exceptions.\n *\n * @example\n * // assuming event is a parsed ical component\n * var event;\n *\n * var expand = new ICAL.RecurExpansion({\n * component: event,\n * dtstart: event.getFirstPropertyValue('dtstart')\n * });\n *\n * // remember there are infinite rules so it is a good idea to limit the scope of the iterations\n * // then resume later on.\n *\n * // next is always an ICAL.Time or null\n * var next;\n *\n * while (someCondition && (next = expand.next())) {\n * // do something with next\n * }\n *\n * // save instance for later\n * var json = JSON.stringify(expand);\n *\n * //...\n *\n * // NOTE: if the component's properties have changed you will need to rebuild the class and start\n * // over. This only works when the component's recurrence info is the same.\n * var expand = new ICAL.RecurExpansion(JSON.parse(json));\n *\n * @memberof ICAL\n */\nclass RecurExpansion {\n /**\n * Creates a new ICAL.RecurExpansion instance.\n *\n * The options object can be filled with the specified initial values. It can also contain\n * additional members, as a result of serializing a previous expansion state, as shown in the\n * example.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {Time} options.dtstart\n * Start time of the event\n * @param {Component=} options.component\n * Component for expansion, required if not resuming.\n */\n constructor(options) {\n this.ruleDates = [];\n this.exDates = [];\n this.fromData(options);\n }\n\n /**\n * True when iteration is fully completed.\n * @type {Boolean}\n */\n complete = false;\n\n /**\n * Array of rrule iterators.\n *\n * @type {RecurIterator[]}\n * @private\n */\n ruleIterators = null;\n\n /**\n * Array of rdate instances.\n *\n * @type {Time[]}\n * @private\n */\n ruleDates = null;\n\n /**\n * Array of exdate instances.\n *\n * @type {Time[]}\n * @private\n */\n exDates = null;\n\n /**\n * Current position in ruleDates array.\n * @type {Number}\n * @private\n */\n ruleDateInc = 0;\n\n /**\n * Current position in exDates array\n * @type {Number}\n * @private\n */\n exDateInc = 0;\n\n /**\n * Current negative date.\n *\n * @type {Time}\n * @private\n */\n exDate = null;\n\n /**\n * Current additional date.\n *\n * @type {Time}\n * @private\n */\n ruleDate = null;\n\n /**\n * Start date of recurring rules.\n *\n * @type {Time}\n */\n dtstart = null;\n\n /**\n * Last expanded time\n *\n * @type {Time}\n */\n last = null;\n\n /**\n * Initialize the recurrence expansion from the data object. The options\n * object may also contain additional members, see the\n * {@link ICAL.RecurExpansion constructor} for more details.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {Time} options.dtstart\n * Start time of the event\n * @param {Component=} options.component\n * Component for expansion, required if not resuming.\n */\n fromData(options) {\n let start = formatClassType(options.dtstart, Time);\n\n if (!start) {\n throw new Error('.dtstart (ICAL.Time) must be given');\n } else {\n this.dtstart = start;\n }\n\n if (options.component) {\n this._init(options.component);\n } else {\n this.last = formatClassType(options.last, Time) || start.clone();\n\n if (!options.ruleIterators) {\n throw new Error('.ruleIterators or .component must be given');\n }\n\n this.ruleIterators = options.ruleIterators.map(function(item) {\n return formatClassType(item, RecurIterator);\n });\n\n this.ruleDateInc = options.ruleDateInc;\n this.exDateInc = options.exDateInc;\n\n if (options.ruleDates) {\n this.ruleDates = options.ruleDates.map(item => formatClassType(item, Time));\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (options.exDates) {\n this.exDates = options.exDates.map(item => formatClassType(item, Time));\n this.exDate = this.exDates[this.exDateInc];\n }\n\n if (typeof(options.complete) !== 'undefined') {\n this.complete = options.complete;\n }\n }\n }\n\n /**\n * Retrieve the next occurrence in the series.\n * @return {Time}\n */\n next() {\n let iter;\n let next;\n let compare;\n\n let maxTries = 500;\n let currentTry = 0;\n\n while (true) {\n if (currentTry++ > maxTries) {\n throw new Error(\n 'max tries have occurred, rule may be impossible to fulfill.'\n );\n }\n\n next = this.ruleDate;\n iter = this._nextRecurrenceIter(this.last);\n\n // no more matches\n // because we increment the rule day or rule\n // _after_ we choose a value this should be\n // the only spot where we need to worry about the\n // end of events.\n if (!next && !iter) {\n // there are no more iterators or rdates\n this.complete = true;\n break;\n }\n\n // no next rule day or recurrence rule is first.\n if (!next || (iter && next.compare(iter.last) > 0)) {\n // must be cloned, recur will reuse the time element.\n next = iter.last.clone();\n // move to next so we can continue\n iter.next();\n }\n\n // if the ruleDate is still next increment it.\n if (this.ruleDate === next) {\n this._nextRuleDay();\n }\n\n this.last = next;\n\n // check the negative rules\n if (this.exDate) {\n compare = this.exDate.compare(this.last);\n\n if (compare < 0) {\n this._nextExDay();\n }\n\n // if the current rule is excluded skip it.\n if (compare === 0) {\n this._nextExDay();\n continue;\n }\n }\n\n //XXX: The spec states that after we resolve the final\n // list of dates we execute exdate this seems somewhat counter\n // intuitive to what I have seen most servers do so for now\n // I exclude based on the original date not the one that may\n // have been modified by the exception.\n return this.last;\n }\n }\n\n /**\n * Converts object into a serialize-able format. This format can be passed\n * back into the expansion to resume iteration.\n * @return {Object}\n */\n toJSON() {\n function toJSON(item) {\n return item.toJSON();\n }\n\n let result = Object.create(null);\n result.ruleIterators = this.ruleIterators.map(toJSON);\n\n if (this.ruleDates) {\n result.ruleDates = this.ruleDates.map(toJSON);\n }\n\n if (this.exDates) {\n result.exDates = this.exDates.map(toJSON);\n }\n\n result.ruleDateInc = this.ruleDateInc;\n result.exDateInc = this.exDateInc;\n result.last = this.last.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.complete = this.complete;\n\n return result;\n }\n\n /**\n * Extract all dates from the properties in the given component. The\n * properties will be filtered by the property name.\n *\n * @private\n * @param {Component} component The component to search in\n * @param {String} propertyName The property name to search for\n * @return {Time[]} The extracted dates.\n */\n _extractDates(component, propertyName) {\n let result = [];\n let props = component.getAllProperties(propertyName);\n\n for (let i = 0, len = props.length; i < len; i++) {\n for (let prop of props[i].getValues()) {\n let idx = binsearchInsert(\n result,\n prop,\n (a, b) => a.compare(b)\n );\n\n // ordered insert\n result.splice(idx, 0, prop);\n }\n }\n\n return result;\n }\n\n /**\n * Initialize the recurrence expansion.\n *\n * @private\n * @param {Component} component The component to initialize from.\n */\n _init(component) {\n this.ruleIterators = [];\n\n this.last = this.dtstart.clone();\n\n // to provide api consistency non-recurring\n // events can also use the iterator though it will\n // only return a single time.\n if (!component.hasProperty('rdate') &&\n !component.hasProperty('rrule') &&\n !component.hasProperty('recurrence-id')) {\n this.ruleDate = this.last.clone();\n this.complete = true;\n return;\n }\n\n if (component.hasProperty('rdate')) {\n this.ruleDates = this._extractDates(component, 'rdate');\n\n // special hack for cases where first rdate is prior\n // to the start date. We only check for the first rdate.\n // This is mostly for google's crazy recurring date logic\n // (contacts birthdays).\n if ((this.ruleDates[0]) &&\n (this.ruleDates[0].compare(this.dtstart) < 0)) {\n\n this.ruleDateInc = 0;\n this.last = this.ruleDates[0].clone();\n } else {\n this.ruleDateInc = binsearchInsert(\n this.ruleDates,\n this.last,\n (a, b) => a.compare(b)\n );\n }\n\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (component.hasProperty('rrule')) {\n let rules = component.getAllProperties('rrule');\n let i = 0;\n let len = rules.length;\n\n let rule;\n let iter;\n\n for (; i < len; i++) {\n rule = rules[i].getFirstValue();\n iter = rule.iterator(this.dtstart);\n this.ruleIterators.push(iter);\n\n // increment to the next occurrence so future\n // calls to next return times beyond the initial iteration.\n // XXX: I find this suspicious might be a bug?\n iter.next();\n }\n }\n\n if (component.hasProperty('exdate')) {\n this.exDates = this._extractDates(component, 'exdate');\n // if we have a .last day we increment the index to beyond it.\n this.exDateInc = binsearchInsert(\n this.exDates,\n this.last,\n (a, b) => a.compare(b)\n );\n\n this.exDate = this.exDates[this.exDateInc];\n }\n }\n\n /**\n * Advance to the next exdate\n * @private\n */\n _nextExDay() {\n this.exDate = this.exDates[++this.exDateInc];\n }\n\n /**\n * Advance to the next rule date\n * @private\n */\n _nextRuleDay() {\n this.ruleDate = this.ruleDates[++this.ruleDateInc];\n }\n\n /**\n * Find and return the recurrence rule with the most recent event and\n * return it.\n *\n * @private\n * @return {?RecurIterator} Found iterator.\n */\n _nextRecurrenceIter() {\n let iters = this.ruleIterators;\n\n if (iters.length === 0) {\n return null;\n }\n\n let len = iters.length;\n let iter;\n let iterTime;\n let iterIdx = 0;\n let chosenIter;\n\n // loop through each iterator\n for (; iterIdx < len; iterIdx++) {\n iter = iters[iterIdx];\n iterTime = iter.last;\n\n // if iteration is complete\n // then we must exclude it from\n // the search and remove it.\n if (iter.completed) {\n len--;\n if (iterIdx !== 0) {\n iterIdx--;\n }\n iters.splice(iterIdx, 1);\n continue;\n }\n\n // find the most recent possible choice\n if (!chosenIter || chosenIter.last.compare(iterTime) > 0) {\n // that iterator is saved\n chosenIter = iter;\n }\n }\n\n // the chosen iterator is returned but not mutated\n // this iterator contains the most recent event.\n return chosenIter;\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * This lets typescript resolve our custom types in the\n * generated d.ts files (jsdoc typedefs are converted to typescript types).\n * Ignore prevents the typedefs from being documented more than once.\n * @ignore\n * @typedef {import(\"./types.js\").frequencyValues} frequencyValues\n * Imports the 'frequencyValues' type from the \"types.js\" module\n * @typedef {import(\"./types.js\").occurrenceDetails} occurrenceDetails\n * Imports the 'occurrenceDetails' type from the \"types.js\" module\n */\n\n/**\n * ICAL.js is organized into multiple layers. The bottom layer is a raw jCal\n * object, followed by the component/property layer. The highest level is the\n * event representation, which this class is part of. See the\n * {@tutorial layers} guide for more details.\n *\n * @memberof ICAL\n */\nclass Event {\n /**\n * Creates a new ICAL.Event instance.\n *\n * @param {Component=} component The ICAL.Component to base this event on\n * @param {Object} [options] Options for this event\n * @param {Boolean=} options.strictExceptions When true, will verify exceptions are related by\n * their UUID\n * @param {Array=} options.exceptions\n * Exceptions to this event, either as components or events. If not\n * specified exceptions will automatically be set in relation of\n * component's parent\n */\n constructor(component, options) {\n if (!(component instanceof Component)) {\n options = component;\n component = null;\n }\n\n if (component) {\n this.component = component;\n } else {\n this.component = new Component('vevent');\n }\n\n this._rangeExceptionCache = Object.create(null);\n this.exceptions = Object.create(null);\n this.rangeExceptions = [];\n\n if (options && options.strictExceptions) {\n this.strictExceptions = options.strictExceptions;\n }\n\n if (options && options.exceptions) {\n options.exceptions.forEach(this.relateException, this);\n } else if (this.component.parent && !this.isRecurrenceException()) {\n this.component.parent.getAllSubcomponents('vevent').forEach(function(event) {\n if (event.hasProperty('recurrence-id')) {\n this.relateException(event);\n }\n }, this);\n }\n }\n\n\n static THISANDFUTURE = 'THISANDFUTURE';\n\n /**\n * List of related event exceptions.\n *\n * @type {Event[]}\n */\n exceptions = null;\n\n /**\n * When true, will verify exceptions are related by their UUID.\n *\n * @type {Boolean}\n */\n strictExceptions = false;\n\n /**\n * Relates a given event exception to this object. If the given component\n * does not share the UID of this event it cannot be related and will throw\n * an exception.\n *\n * If this component is an exception it cannot have other exceptions\n * related to it.\n *\n * @param {Component|Event} obj Component or event\n */\n relateException(obj) {\n if (this.isRecurrenceException()) {\n throw new Error('cannot relate exception to exceptions');\n }\n\n if (obj instanceof Component) {\n obj = new Event(obj);\n }\n\n if (this.strictExceptions && obj.uid !== this.uid) {\n throw new Error('attempted to relate unrelated exception');\n }\n\n let id = obj.recurrenceId.toString();\n\n // we don't sort or manage exceptions directly\n // here the recurrence expander handles that.\n this.exceptions[id] = obj;\n\n // index RANGE=THISANDFUTURE exceptions so we can\n // look them up later in getOccurrenceDetails.\n if (obj.modifiesFuture()) {\n let item = [\n obj.recurrenceId.toUnixTime(), id\n ];\n\n // we keep them sorted so we can find the nearest\n // value later on...\n let idx = binsearchInsert(\n this.rangeExceptions,\n item,\n compareRangeException\n );\n\n this.rangeExceptions.splice(idx, 0, item);\n }\n }\n\n /**\n * Checks if this record is an exception and has the RANGE=THISANDFUTURE\n * value.\n *\n * @return {Boolean} True, when exception is within range\n */\n modifiesFuture() {\n if (!this.component.hasProperty('recurrence-id')) {\n return false;\n }\n\n let range = this.component.getFirstProperty('recurrence-id').getParameter('range');\n return range === Event.THISANDFUTURE;\n }\n\n /**\n * Finds the range exception nearest to the given date.\n *\n * @param {Time} time usually an occurrence time of an event\n * @return {?Event} the related event/exception or null\n */\n findRangeException(time) {\n if (!this.rangeExceptions.length) {\n return null;\n }\n\n let utc = time.toUnixTime();\n let idx = binsearchInsert(\n this.rangeExceptions,\n [utc],\n compareRangeException\n );\n\n idx -= 1;\n\n // occurs before\n if (idx < 0) {\n return null;\n }\n\n let rangeItem = this.rangeExceptions[idx];\n\n /* c8 ignore next 4 */\n if (utc < rangeItem[0]) {\n // sanity check only\n return null;\n }\n\n return rangeItem[1];\n }\n\n /**\n * Returns the occurrence details based on its start time. If the\n * occurrence has an exception will return the details for that exception.\n *\n * NOTE: this method is intend to be used in conjunction\n * with the {@link ICAL.Event#iterator iterator} method.\n *\n * @param {Time} occurrence time occurrence\n * @return {occurrenceDetails} Information about the occurrence\n */\n getOccurrenceDetails(occurrence) {\n let id = occurrence.toString();\n let utcId = occurrence.convertToZone(Timezone.utcTimezone).toString();\n let item;\n let result = {\n //XXX: Clone?\n recurrenceId: occurrence\n };\n\n if (id in this.exceptions) {\n item = result.item = this.exceptions[id];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else if (utcId in this.exceptions) {\n item = this.exceptions[utcId];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else {\n // range exceptions (RANGE=THISANDFUTURE) have a\n // lower priority then direct exceptions but\n // must be accounted for first. Their item is\n // always the first exception with the range prop.\n let rangeExceptionId = this.findRangeException(\n occurrence\n );\n let end;\n\n if (rangeExceptionId) {\n let exception = this.exceptions[rangeExceptionId];\n\n // range exception must modify standard time\n // by the difference (if any) in start/end times.\n result.item = exception;\n\n let startDiff = this._rangeExceptionCache[rangeExceptionId];\n\n if (!startDiff) {\n let original = exception.recurrenceId.clone();\n let newStart = exception.startDate.clone();\n\n // zones must be same otherwise subtract may be incorrect.\n original.zone = newStart.zone;\n startDiff = newStart.subtractDate(original);\n\n this._rangeExceptionCache[rangeExceptionId] = startDiff;\n }\n\n let start = occurrence.clone();\n start.zone = exception.startDate.zone;\n start.addDuration(startDiff);\n\n end = start.clone();\n end.addDuration(exception.duration);\n\n result.startDate = start;\n result.endDate = end;\n } else {\n // no range exception standard expansion\n end = occurrence.clone();\n end.addDuration(this.duration);\n\n result.endDate = end;\n result.startDate = occurrence;\n result.item = this;\n }\n }\n\n return result;\n }\n\n /**\n * Builds a recur expansion instance for a specific point in time (defaults\n * to startDate).\n *\n * @param {Time=} startTime Starting point for expansion\n * @return {RecurExpansion} Expansion object\n */\n iterator(startTime) {\n return new RecurExpansion({\n component: this.component,\n dtstart: startTime || this.startDate\n });\n }\n\n /**\n * Checks if the event is recurring\n *\n * @return {Boolean} True, if event is recurring\n */\n isRecurring() {\n let comp = this.component;\n return comp.hasProperty('rrule') || comp.hasProperty('rdate');\n }\n\n /**\n * Checks if the event describes a recurrence exception. See\n * {@tutorial terminology} for details.\n *\n * @return {Boolean} True, if the event describes a recurrence exception\n */\n isRecurrenceException() {\n return this.component.hasProperty('recurrence-id');\n }\n\n /**\n * Returns the types of recurrences this event may have.\n *\n * Returned as an object with the following possible keys:\n *\n * - YEARLY\n * - MONTHLY\n * - WEEKLY\n * - DAILY\n * - MINUTELY\n * - SECONDLY\n *\n * @return {Object.}\n * Object of recurrence flags\n */\n getRecurrenceTypes() {\n let rules = this.component.getAllProperties('rrule');\n let i = 0;\n let len = rules.length;\n let result = Object.create(null);\n\n for (; i < len; i++) {\n let value = rules[i].getFirstValue();\n result[value.freq] = true;\n }\n\n return result;\n }\n\n /**\n * The uid of this event\n * @type {String}\n */\n get uid() {\n return this._firstProp('uid');\n }\n\n set uid(value) {\n this._setProp('uid', value);\n }\n\n /**\n * The start date\n * @type {Time}\n */\n get startDate() {\n return this._firstProp('dtstart');\n }\n\n set startDate(value) {\n this._setTime('dtstart', value);\n }\n\n /**\n * The end date. This can be the result directly from the property, or the\n * end date calculated from start date and duration. Setting the property\n * will remove any duration properties.\n * @type {Time}\n */\n get endDate() {\n let endDate = this._firstProp('dtend');\n if (!endDate) {\n let duration = this._firstProp('duration');\n endDate = this.startDate.clone();\n if (duration) {\n endDate.addDuration(duration);\n } else if (endDate.isDate) {\n endDate.day += 1;\n }\n }\n return endDate;\n }\n\n set endDate(value) {\n if (this.component.hasProperty('duration')) {\n this.component.removeProperty('duration');\n }\n this._setTime('dtend', value);\n }\n\n /**\n * The duration. This can be the result directly from the property, or the\n * duration calculated from start date and end date. Setting the property\n * will remove any `dtend` properties.\n * @type {Duration}\n */\n get duration() {\n let duration = this._firstProp('duration');\n if (!duration) {\n return this.endDate.subtractDateTz(this.startDate);\n }\n return duration;\n }\n\n set duration(value) {\n if (this.component.hasProperty('dtend')) {\n this.component.removeProperty('dtend');\n }\n\n this._setProp('duration', value);\n }\n\n /**\n * The location of the event.\n * @type {String}\n */\n get location() {\n return this._firstProp('location');\n }\n\n set location(value) {\n this._setProp('location', value);\n }\n\n /**\n * The attendees in the event\n * @type {Property[]}\n */\n get attendees() {\n //XXX: This is way lame we should have a better\n // data structure for this later.\n return this.component.getAllProperties('attendee');\n }\n\n /**\n * The event summary\n * @type {String}\n */\n get summary() {\n return this._firstProp('summary');\n }\n\n set summary(value) {\n this._setProp('summary', value);\n }\n\n /**\n * The event description.\n * @type {String}\n */\n get description() {\n return this._firstProp('description');\n }\n\n set description(value) {\n this._setProp('description', value);\n }\n\n /**\n * The event color from [rfc7986](https://datatracker.ietf.org/doc/html/rfc7986)\n * @type {String}\n */\n get color() {\n return this._firstProp('color');\n }\n\n set color(value) {\n this._setProp('color', value);\n }\n\n /**\n * The organizer value as an uri. In most cases this is a mailto: uri, but\n * it can also be something else, like urn:uuid:...\n * @type {String}\n */\n get organizer() {\n return this._firstProp('organizer');\n }\n\n set organizer(value) {\n this._setProp('organizer', value);\n }\n\n /**\n * The sequence value for this event. Used for scheduling\n * see {@tutorial terminology}.\n * @type {Number}\n */\n get sequence() {\n return this._firstProp('sequence');\n }\n\n set sequence(value) {\n this._setProp('sequence', value);\n }\n\n /**\n * The recurrence id for this event. See {@tutorial terminology} for details.\n * @type {Time}\n */\n get recurrenceId() {\n return this._firstProp('recurrence-id');\n }\n\n set recurrenceId(value) {\n this._setTime('recurrence-id', value);\n }\n\n /**\n * Set/update a time property's value.\n * This will also update the TZID of the property.\n *\n * TODO: this method handles the case where we are switching\n * from a known timezone to an implied timezone (one without TZID).\n * This does _not_ handle the case of moving between a known\n * (by TimezoneService) timezone to an unknown timezone...\n *\n * We will not add/remove/update the VTIMEZONE subcomponents\n * leading to invalid ICAL data...\n * @private\n * @param {String} propName The property name\n * @param {Time} time The time to set\n */\n _setTime(propName, time) {\n let prop = this.component.getFirstProperty(propName);\n\n if (!prop) {\n prop = new Property(propName);\n this.component.addProperty(prop);\n }\n\n // utc and local don't get a tzid\n if (\n time.zone === Timezone.localTimezone ||\n time.zone === Timezone.utcTimezone\n ) {\n // remove the tzid\n prop.removeParameter('tzid');\n } else {\n prop.setParameter('tzid', time.zone.tzid);\n }\n\n prop.setValue(time);\n }\n\n _setProp(name, value) {\n this.component.updatePropertyWithValue(name, value);\n }\n\n _firstProp(name) {\n return this.component.getFirstPropertyValue(name);\n }\n\n /**\n * The string representation of this event.\n * @return {String}\n */\n toString() {\n return this.component.toString();\n }\n}\n\nfunction compareRangeException(a, b) {\n if (a[0] > b[0]) return 1;\n if (b[0] > a[0]) return -1;\n return 0;\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * The ComponentParser is used to process a String or jCal Object,\n * firing callbacks for various found components, as well as completion.\n *\n * @example\n * var options = {\n * // when false no events will be emitted for type\n * parseEvent: true,\n * parseTimezone: true\n * };\n *\n * var parser = new ICAL.ComponentParser(options);\n *\n * parser.onevent(eventComponent) {\n * //...\n * }\n *\n * // ontimezone, etc...\n *\n * parser.oncomplete = function() {\n *\n * };\n *\n * parser.process(stringOrComponent);\n *\n * @memberof ICAL\n */\nclass ComponentParser {\n /**\n * Creates a new ICAL.ComponentParser instance.\n *\n * @param {Object=} options Component parser options\n * @param {Boolean} options.parseEvent Whether events should be parsed\n * @param {Boolean} options.parseTimezeone Whether timezones should be parsed\n */\n constructor(options) {\n if (typeof(options) === 'undefined') {\n options = {};\n }\n\n for (let [key, value] of Object.entries(options)) {\n this[key] = value;\n }\n }\n\n /**\n * When true, parse events\n *\n * @type {Boolean}\n */\n parseEvent = true;\n\n /**\n * When true, parse timezones\n *\n * @type {Boolean}\n */\n parseTimezone = true;\n\n\n /* SAX like events here for reference */\n\n /**\n * Fired when parsing is complete\n * @callback\n */\n oncomplete = /* c8 ignore next */ function() {};\n\n /**\n * Fired if an error occurs during parsing.\n *\n * @callback\n * @param {Error} err details of error\n */\n onerror = /* c8 ignore next */ function(err) {};\n\n /**\n * Fired when a top level component (VTIMEZONE) is found\n *\n * @callback\n * @param {Timezone} component Timezone object\n */\n ontimezone = /* c8 ignore next */ function(component) {};\n\n /**\n * Fired when a top level component (VEVENT) is found.\n *\n * @callback\n * @param {Event} component Top level component\n */\n onevent = /* c8 ignore next */ function(component) {};\n\n /**\n * Process a string or parse ical object. This function itself will return\n * nothing but will start the parsing process.\n *\n * Events must be registered prior to calling this method.\n *\n * @param {Component|String|Object} ical The component to process,\n * either in its final form, as a jCal Object, or string representation\n */\n process(ical) {\n //TODO: this is sync now in the future we will have a incremental parser.\n if (typeof(ical) === 'string') {\n ical = parse(ical);\n }\n\n if (!(ical instanceof Component)) {\n ical = new Component(ical);\n }\n\n let components = ical.getAllSubcomponents();\n let i = 0;\n let len = components.length;\n let component;\n\n for (; i < len; i++) {\n component = components[i];\n\n switch (component.name) {\n case 'vtimezone':\n if (this.parseTimezone) {\n let tzid = component.getFirstPropertyValue('tzid');\n if (tzid) {\n this.ontimezone(new Timezone({\n tzid: tzid,\n component: component\n }));\n }\n }\n break;\n case 'vevent':\n if (this.parseEvent) {\n this.onevent(new Event(component));\n }\n break;\n default:\n continue;\n }\n }\n\n //XXX: ideally we should do a \"nextTick\" here\n // so in all cases this is actually async.\n this.oncomplete();\n }\n}\n\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch */\n\n/**\n * The main ICAL module. Provides access to everything else.\n *\n * @alias ICAL\n * @namespace ICAL\n * @property {ICAL.design} design\n * @property {ICAL.helpers} helpers\n */\nvar ICALmodule = {\n /**\n * The number of characters before iCalendar line folding should occur\n * @type {Number}\n * @default 75\n */\n foldLength: 75,\n\n debug: false,\n\n /**\n * The character(s) to be used for a newline. The default value is provided by\n * rfc5545.\n * @type {String}\n * @default \"\\r\\n\"\n */\n newLineChar: '\\r\\n',\n\n Binary,\n Component,\n ComponentParser,\n Duration,\n Event,\n Period,\n Property,\n Recur,\n RecurExpansion,\n RecurIterator,\n Time,\n Timezone,\n TimezoneService,\n UtcOffset,\n VCardTime,\n\n parse,\n stringify,\n\n design: design$1,\n helpers\n};\n\nexport { ICALmodule as default };\n","import ICAL from \"ical.js\";\nclass Timezone {\n /**\n * Constructor\n *\n * @param {string | ICAL.Timezone | ICAL.Component} timezoneId Id of the timezone\n * @param {string?} ics The iCalendar timezone definition\n */\n constructor(timezoneId, ics) {\n this._timezoneId = null;\n this._ics = null;\n this._innerValue = null;\n this._initialized = false;\n if (timezoneId instanceof ICAL.Timezone) {\n this._innerValue = timezoneId;\n this._initialized = true;\n } else if (timezoneId instanceof ICAL.Component) {\n this._innerValue = new ICAL.Timezone(timezoneId);\n this._initialized = true;\n } else {\n this._timezoneId = timezoneId;\n this._ics = ics;\n }\n }\n /**\n * Gets the timezone id\n *\n * @return {string}\n */\n get timezoneId() {\n if (this._initialized) {\n return this._innerValue.tzid;\n }\n return this._timezoneId;\n }\n /**\n * Gets the UTC Offset for a given date in this timezone\n *\n * @param {number} year Year of the date\n * @param {number} month Month of the date (1-based)\n * @param {number} day Day of the date\n * @param {number} hour Hour of the date\n * @param {number} minute Minute of the date\n * @param {number} second Second of the date\n * @return {number}\n */\n offsetForArray(year, month, day, hour, minute, second) {\n this._initialize();\n const time = new ICAL.Time({\n year,\n month,\n day,\n hour,\n minute,\n second,\n isDate: false\n });\n return this._innerValue.utcOffset(time);\n }\n /**\n * Converts a timestamp to an array of year, month, day, hour, minute, second.\n *\n * @param {number} ms Timestamp in milliseconds\n * @return {number[]}\n */\n timestampToArray(ms) {\n this._initialize();\n const time = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0\n });\n time.fromUnixTime(Math.floor(ms / 1e3));\n const local = time.convertToZone(this._innerValue);\n return [\n local.year,\n local.month,\n // THIS is 1-based !\n local.day,\n local.hour,\n local.minute,\n local.second\n ];\n }\n /**\n * Returns\n *\n * @return {ICAL.Timezone}\n */\n toICALTimezone() {\n this._initialize();\n return this._innerValue;\n }\n /**\n * Returns the corresponding ICAL.\n *\n * @return {ICAL.Component}\n */\n toICALJs() {\n this._initialize();\n return this._innerValue.component;\n }\n /**\n * Initialises the inner ICAL.Timezone component\n *\n * @private\n */\n _initialize() {\n if (!this._initialized) {\n const jCal = ICAL.parse(this._ics);\n const icalComp = new ICAL.Component(jCal);\n this._innerValue = new ICAL.Timezone(icalComp);\n this._initialized = true;\n }\n }\n}\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone);\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone);\nconst version = \"2.2024a\";\nconst aliases = {\n \"AUS Central Standard Time\": {\n aliasTo: \"Australia/Darwin\"\n },\n \"AUS Eastern Standard Time\": {\n aliasTo: \"Australia/Sydney\"\n },\n \"Afghanistan Standard Time\": {\n aliasTo: \"Asia/Kabul\"\n },\n \"Africa/Asmera\": {\n aliasTo: \"Africa/Asmara\"\n },\n \"Africa/Timbuktu\": {\n aliasTo: \"Africa/Bamako\"\n },\n \"Alaskan Standard Time\": {\n aliasTo: \"America/Anchorage\"\n },\n \"America/Argentina/ComodRivadavia\": {\n aliasTo: \"America/Argentina/Catamarca\"\n },\n \"America/Buenos_Aires\": {\n aliasTo: \"America/Argentina/Buenos_Aires\"\n },\n \"America/Louisville\": {\n aliasTo: \"America/Kentucky/Louisville\"\n },\n \"America/Montreal\": {\n aliasTo: \"America/Toronto\"\n },\n \"America/Santa_Isabel\": {\n aliasTo: \"America/Tijuana\"\n },\n \"Arab Standard Time\": {\n aliasTo: \"Asia/Riyadh\"\n },\n \"Arabian Standard Time\": {\n aliasTo: \"Asia/Dubai\"\n },\n \"Arabic Standard Time\": {\n aliasTo: \"Asia/Baghdad\"\n },\n \"Argentina Standard Time\": {\n aliasTo: \"America/Argentina/Buenos_Aires\"\n },\n \"Asia/Calcutta\": {\n aliasTo: \"Asia/Kolkata\"\n },\n \"Asia/Katmandu\": {\n aliasTo: \"Asia/Kathmandu\"\n },\n \"Asia/Rangoon\": {\n aliasTo: \"Asia/Yangon\"\n },\n \"Asia/Saigon\": {\n aliasTo: \"Asia/Ho_Chi_Minh\"\n },\n \"Atlantic Standard Time\": {\n aliasTo: \"America/Halifax\"\n },\n \"Atlantic/Faeroe\": {\n aliasTo: \"Atlantic/Faroe\"\n },\n \"Atlantic/Jan_Mayen\": {\n aliasTo: \"Europe/Oslo\"\n },\n \"Azerbaijan Standard Time\": {\n aliasTo: \"Asia/Baku\"\n },\n \"Azores Standard Time\": {\n aliasTo: \"Atlantic/Azores\"\n },\n \"Bahia Standard Time\": {\n aliasTo: \"America/Bahia\"\n },\n \"Bangladesh Standard Time\": {\n aliasTo: \"Asia/Dhaka\"\n },\n \"Belarus Standard Time\": {\n aliasTo: \"Europe/Minsk\"\n },\n \"Canada Central Standard Time\": {\n aliasTo: \"America/Regina\"\n },\n \"Cape Verde Standard Time\": {\n aliasTo: \"Atlantic/Cape_Verde\"\n },\n \"Caucasus Standard Time\": {\n aliasTo: \"Asia/Yerevan\"\n },\n \"Cen. Australia Standard Time\": {\n aliasTo: \"Australia/Adelaide\"\n },\n \"Central America Standard Time\": {\n aliasTo: \"America/Guatemala\"\n },\n \"Central Asia Standard Time\": {\n aliasTo: \"Asia/Almaty\"\n },\n \"Central Brazilian Standard Time\": {\n aliasTo: \"America/Cuiaba\"\n },\n \"Central Europe Standard Time\": {\n aliasTo: \"Europe/Budapest\"\n },\n \"Central European Standard Time\": {\n aliasTo: \"Europe/Warsaw\"\n },\n \"Central Pacific Standard Time\": {\n aliasTo: \"Pacific/Guadalcanal\"\n },\n \"Central Standard Time\": {\n aliasTo: \"America/Chicago\"\n },\n \"Central Standard Time (Mexico)\": {\n aliasTo: \"America/Mexico_City\"\n },\n \"China Standard Time\": {\n aliasTo: \"Asia/Shanghai\"\n },\n \"E. Africa Standard Time\": {\n aliasTo: \"Africa/Nairobi\"\n },\n \"E. Australia Standard Time\": {\n aliasTo: \"Australia/Brisbane\"\n },\n \"E. South America Standard Time\": {\n aliasTo: \"America/Sao_Paulo\"\n },\n \"Eastern Standard Time\": {\n aliasTo: \"America/New_York\"\n },\n \"Egypt Standard Time\": {\n aliasTo: \"Africa/Cairo\"\n },\n \"Ekaterinburg Standard Time\": {\n aliasTo: \"Asia/Yekaterinburg\"\n },\n \"Etc/GMT\": {\n aliasTo: \"UTC\"\n },\n \"Etc/GMT+0\": {\n aliasTo: \"UTC\"\n },\n \"Etc/UCT\": {\n aliasTo: \"UTC\"\n },\n \"Etc/UTC\": {\n aliasTo: \"UTC\"\n },\n \"Etc/Unversal\": {\n aliasTo: \"UTC\"\n },\n \"Etc/Zulu\": {\n aliasTo: \"UTC\"\n },\n \"Europe/Belfast\": {\n aliasTo: \"Europe/London\"\n },\n \"FLE Standard Time\": {\n aliasTo: \"Europe/Kiev\"\n },\n \"Fiji Standard Time\": {\n aliasTo: \"Pacific/Fiji\"\n },\n GMT: {\n aliasTo: \"UTC\"\n },\n \"GMT Standard Time\": {\n aliasTo: \"Europe/London\"\n },\n \"GMT+0\": {\n aliasTo: \"UTC\"\n },\n GMT0: {\n aliasTo: \"UTC\"\n },\n \"GTB Standard Time\": {\n aliasTo: \"Europe/Bucharest\"\n },\n \"Georgian Standard Time\": {\n aliasTo: \"Asia/Tbilisi\"\n },\n \"Greenland Standard Time\": {\n aliasTo: \"America/Godthab\"\n },\n Greenwich: {\n aliasTo: \"UTC\"\n },\n \"Greenwich Standard Time\": {\n aliasTo: \"Atlantic/Reykjavik\"\n },\n \"Hawaiian Standard Time\": {\n aliasTo: \"Pacific/Honolulu\"\n },\n \"India Standard Time\": {\n aliasTo: \"Asia/Calcutta\"\n },\n \"Iran Standard Time\": {\n aliasTo: \"Asia/Tehran\"\n },\n \"Israel Standard Time\": {\n aliasTo: \"Asia/Jerusalem\"\n },\n \"Jordan Standard Time\": {\n aliasTo: \"Asia/Amman\"\n },\n \"Kaliningrad Standard Time\": {\n aliasTo: \"Europe/Kaliningrad\"\n },\n \"Korea Standard Time\": {\n aliasTo: \"Asia/Seoul\"\n },\n \"Libya Standard Time\": {\n aliasTo: \"Africa/Tripoli\"\n },\n \"Line Islands Standard Time\": {\n aliasTo: \"Pacific/Kiritimati\"\n },\n \"Magadan Standard Time\": {\n aliasTo: \"Asia/Magadan\"\n },\n \"Mauritius Standard Time\": {\n aliasTo: \"Indian/Mauritius\"\n },\n \"Middle East Standard Time\": {\n aliasTo: \"Asia/Beirut\"\n },\n \"Montevideo Standard Time\": {\n aliasTo: \"America/Montevideo\"\n },\n \"Morocco Standard Time\": {\n aliasTo: \"Africa/Casablanca\"\n },\n \"Mountain Standard Time\": {\n aliasTo: \"America/Denver\"\n },\n \"Mountain Standard Time (Mexico)\": {\n aliasTo: \"America/Chihuahua\"\n },\n \"Myanmar Standard Time\": {\n aliasTo: \"Asia/Rangoon\"\n },\n \"N. Central Asia Standard Time\": {\n aliasTo: \"Asia/Novosibirsk\"\n },\n \"Namibia Standard Time\": {\n aliasTo: \"Africa/Windhoek\"\n },\n \"Nepal Standard Time\": {\n aliasTo: \"Asia/Katmandu\"\n },\n \"New Zealand Standard Time\": {\n aliasTo: \"Pacific/Auckland\"\n },\n \"Newfoundland Standard Time\": {\n aliasTo: \"America/St_Johns\"\n },\n \"North Asia East Standard Time\": {\n aliasTo: \"Asia/Irkutsk\"\n },\n \"North Asia Standard Time\": {\n aliasTo: \"Asia/Krasnoyarsk\"\n },\n \"Pacific SA Standard Time\": {\n aliasTo: \"America/Santiago\"\n },\n \"Pacific Standard Time\": {\n aliasTo: \"America/Los_Angeles\"\n },\n \"Pacific Standard Time (Mexico)\": {\n aliasTo: \"America/Santa_Isabel\"\n },\n \"Pacific/Johnston\": {\n aliasTo: \"Pacific/Honolulu\"\n },\n \"Pakistan Standard Time\": {\n aliasTo: \"Asia/Karachi\"\n },\n \"Paraguay Standard Time\": {\n aliasTo: \"America/Asuncion\"\n },\n \"Romance Standard Time\": {\n aliasTo: \"Europe/Paris\"\n },\n \"Russia Time Zone 10\": {\n aliasTo: \"Asia/Srednekolymsk\"\n },\n \"Russia Time Zone 11\": {\n aliasTo: \"Asia/Kamchatka\"\n },\n \"Russia Time Zone 3\": {\n aliasTo: \"Europe/Samara\"\n },\n \"Russian Standard Time\": {\n aliasTo: \"Europe/Moscow\"\n },\n \"SA Eastern Standard Time\": {\n aliasTo: \"America/Cayenne\"\n },\n \"SA Pacific Standard Time\": {\n aliasTo: \"America/Bogota\"\n },\n \"SA Western Standard Time\": {\n aliasTo: \"America/La_Paz\"\n },\n \"SE Asia Standard Time\": {\n aliasTo: \"Asia/Bangkok\"\n },\n \"Samoa Standard Time\": {\n aliasTo: \"Pacific/Apia\"\n },\n \"Singapore Standard Time\": {\n aliasTo: \"Asia/Singapore\"\n },\n \"South Africa Standard Time\": {\n aliasTo: \"Africa/Johannesburg\"\n },\n \"Sri Lanka Standard Time\": {\n aliasTo: \"Asia/Colombo\"\n },\n \"Syria Standard Time\": {\n aliasTo: \"Asia/Damascus\"\n },\n \"Taipei Standard Time\": {\n aliasTo: \"Asia/Taipei\"\n },\n \"Tasmania Standard Time\": {\n aliasTo: \"Australia/Hobart\"\n },\n \"Tokyo Standard Time\": {\n aliasTo: \"Asia/Tokyo\"\n },\n \"Tonga Standard Time\": {\n aliasTo: \"Pacific/Tongatapu\"\n },\n \"Turkey Standard Time\": {\n aliasTo: \"Europe/Istanbul\"\n },\n UCT: {\n aliasTo: \"UTC\"\n },\n \"US Eastern Standard Time\": {\n aliasTo: \"America/Indiana/Indianapolis\"\n },\n \"US Mountain Standard Time\": {\n aliasTo: \"America/Phoenix\"\n },\n \"US/Central\": {\n aliasTo: \"America/Chicago\"\n },\n \"US/Eastern\": {\n aliasTo: \"America/New_York\"\n },\n \"US/Mountain\": {\n aliasTo: \"America/Denver\"\n },\n \"US/Pacific\": {\n aliasTo: \"America/Los_Angeles\"\n },\n \"US/Pacific-New\": {\n aliasTo: \"America/Los_Angeles\"\n },\n \"Ulaanbaatar Standard Time\": {\n aliasTo: \"Asia/Ulaanbaatar\"\n },\n Universal: {\n aliasTo: \"UTC\"\n },\n \"Venezuela Standard Time\": {\n aliasTo: \"America/Caracas\"\n },\n \"Vladivostok Standard Time\": {\n aliasTo: \"Asia/Vladivostok\"\n },\n \"W. Australia Standard Time\": {\n aliasTo: \"Australia/Perth\"\n },\n \"W. Central Africa Standard Time\": {\n aliasTo: \"Africa/Lagos\"\n },\n \"W. Europe Standard Time\": {\n aliasTo: \"Europe/Berlin\"\n },\n \"West Asia Standard Time\": {\n aliasTo: \"Asia/Tashkent\"\n },\n \"West Pacific Standard Time\": {\n aliasTo: \"Pacific/Port_Moresby\"\n },\n \"Yakutsk Standard Time\": {\n aliasTo: \"Asia/Yakutsk\"\n },\n Z: {\n aliasTo: \"UTC\"\n },\n Zulu: {\n aliasTo: \"UTC\"\n },\n utc: {\n aliasTo: \"UTC\"\n }\n};\nconst zones = {\n \"Africa/Abidjan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0051900\",\n longitude: \"-0040200\"\n },\n \"Africa/Accra\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Addis_Ababa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Algiers\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0364700\",\n longitude: \"+0030300\"\n },\n \"Africa/Asmara\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Asmera\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Bamako\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Bangui\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Banjul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Bissau\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0115100\",\n longitude: \"-0153500\"\n },\n \"Africa/Blantyre\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Brazzaville\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Bujumbura\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Cairo\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700424T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0300300\",\n longitude: \"+0311500\"\n },\n \"Africa/Casablanca\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0333900\",\n longitude: \"-0073500\"\n },\n \"Africa/Ceuta\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0355300\",\n longitude: \"-0051900\"\n },\n \"Africa/Conakry\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Dakar\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Dar_es_Salaam\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Djibouti\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Douala\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/El_Aaiun\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0270900\",\n longitude: \"-0131200\"\n },\n \"Africa/Freetown\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Gaborone\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Harare\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Johannesburg\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0261500\",\n longitude: \"+0280000\"\n },\n \"Africa/Juba\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0045100\",\n longitude: \"+0313700\"\n },\n \"Africa/Kampala\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Khartoum\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0153600\",\n longitude: \"+0323200\"\n },\n \"Africa/Kigali\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Kinshasa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Lagos\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0062700\",\n longitude: \"+0032400\"\n },\n \"Africa/Libreville\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Lome\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Luanda\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Lubumbashi\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Lusaka\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Malabo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Maputo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0255800\",\n longitude: \"+0323500\"\n },\n \"Africa/Maseru\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Mbabane\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Mogadishu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Monrovia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0061800\",\n longitude: \"-0104700\"\n },\n \"Africa/Nairobi\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0011700\",\n longitude: \"+0364900\"\n },\n \"Africa/Ndjamena\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0120700\",\n longitude: \"+0150300\"\n },\n \"Africa/Niamey\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Nouakchott\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Ouagadougou\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Porto-Novo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Sao_Tome\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0002000\",\n longitude: \"+0064400\"\n },\n \"Africa/Timbuktu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Africa/Tripoli\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0325400\",\n longitude: \"+0131100\"\n },\n \"Africa/Tunis\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0364800\",\n longitude: \"+0101100\"\n },\n \"Africa/Windhoek\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0223400\",\n longitude: \"+0170600\"\n },\n \"America/Adak\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0515248\",\n longitude: \"-1763929\"\n },\n \"America/Anchorage\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0611305\",\n longitude: \"-1495401\"\n },\n \"America/Anguilla\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Antigua\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Araguaina\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0071200\",\n longitude: \"-0481200\"\n },\n \"America/Argentina/Buenos_Aires\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0343600\",\n longitude: \"-0582700\"\n },\n \"America/Argentina/Catamarca\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0282800\",\n longitude: \"-0654700\"\n },\n \"America/Argentina/ComodRivadavia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Argentina/Cordoba\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0312400\",\n longitude: \"-0641100\"\n },\n \"America/Argentina/Jujuy\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0241100\",\n longitude: \"-0651800\"\n },\n \"America/Argentina/La_Rioja\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0292600\",\n longitude: \"-0665100\"\n },\n \"America/Argentina/Mendoza\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0325300\",\n longitude: \"-0684900\"\n },\n \"America/Argentina/Rio_Gallegos\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0513800\",\n longitude: \"-0691300\"\n },\n \"America/Argentina/Salta\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0244700\",\n longitude: \"-0652500\"\n },\n \"America/Argentina/San_Juan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0313200\",\n longitude: \"-0683100\"\n },\n \"America/Argentina/San_Luis\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0331900\",\n longitude: \"-0662100\"\n },\n \"America/Argentina/Tucuman\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0264900\",\n longitude: \"-0651300\"\n },\n \"America/Argentina/Ushuaia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0544800\",\n longitude: \"-0681800\"\n },\n \"America/Aruba\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Asuncion\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701004T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700322T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0251600\",\n longitude: \"-0574000\"\n },\n \"America/Atikokan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Atka\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Bahia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0125900\",\n longitude: \"-0383100\"\n },\n \"America/Bahia_Banderas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0204800\",\n longitude: \"-1051500\"\n },\n \"America/Barbados\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0130600\",\n longitude: \"-0593700\"\n },\n \"America/Belem\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0012700\",\n longitude: \"-0482900\"\n },\n \"America/Belize\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0173000\",\n longitude: \"-0881200\"\n },\n \"America/Blanc-Sablon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Boa_Vista\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0024900\",\n longitude: \"-0604000\"\n },\n \"America/Bogota\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0043600\",\n longitude: \"-0740500\"\n },\n \"America/Boise\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0433649\",\n longitude: \"-1161209\"\n },\n \"America/Buenos_Aires\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Cambridge_Bay\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0690650\",\n longitude: \"-1050310\"\n },\n \"America/Campo_Grande\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0202700\",\n longitude: \"-0543700\"\n },\n \"America/Cancun\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0210500\",\n longitude: \"-0864600\"\n },\n \"America/Caracas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0103000\",\n longitude: \"-0665600\"\n },\n \"America/Catamarca\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Cayenne\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0045600\",\n longitude: \"-0522000\"\n },\n \"America/Cayman\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Chicago\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0415100\",\n longitude: \"-0873900\"\n },\n \"America/Chihuahua\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0283800\",\n longitude: \"-1060500\"\n },\n \"America/Ciudad_Juarez\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0314400\",\n longitude: \"-1062900\"\n },\n \"America/Coral_Harbour\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Cordoba\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Costa_Rica\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0095600\",\n longitude: \"-0840500\"\n },\n \"America/Creston\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Cuiaba\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0153500\",\n longitude: \"-0560500\"\n },\n \"America/Curacao\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Danmarkshavn\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0764600\",\n longitude: \"-0184000\"\n },\n \"America/Dawson\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0640400\",\n longitude: \"-1392500\"\n },\n \"America/Dawson_Creek\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0554600\",\n longitude: \"-1201400\"\n },\n \"America/Denver\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0394421\",\n longitude: \"-1045903\"\n },\n \"America/Detroit\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0421953\",\n longitude: \"-0830245\"\n },\n \"America/Dominica\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Edmonton\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0533300\",\n longitude: \"-1132800\"\n },\n \"America/Eirunepe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0064000\",\n longitude: \"-0695200\"\n },\n \"America/El_Salvador\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0134200\",\n longitude: \"-0891200\"\n },\n \"America/Ensenada\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Fort_Nelson\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0584800\",\n longitude: \"-1224200\"\n },\n \"America/Fort_Wayne\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Fortaleza\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0034300\",\n longitude: \"-0383000\"\n },\n \"America/Glace_Bay\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0461200\",\n longitude: \"-0595700\"\n },\n \"America/Godthab\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700328T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Goose_Bay\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0532000\",\n longitude: \"-0602500\"\n },\n \"America/Grand_Turk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0212800\",\n longitude: \"-0710800\"\n },\n \"America/Grenada\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Guadeloupe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Guatemala\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0143800\",\n longitude: \"-0903100\"\n },\n \"America/Guayaquil\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0021000\",\n longitude: \"-0795000\"\n },\n \"America/Guyana\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0064800\",\n longitude: \"-0581000\"\n },\n \"America/Halifax\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0443900\",\n longitude: \"-0633600\"\n },\n \"America/Havana\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0230800\",\n longitude: \"-0822200\"\n },\n \"America/Hermosillo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0290400\",\n longitude: \"-1105800\"\n },\n \"America/Indiana/Indianapolis\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0394606\",\n longitude: \"-0860929\"\n },\n \"America/Indiana/Knox\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0411745\",\n longitude: \"-0863730\"\n },\n \"America/Indiana/Marengo\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0382232\",\n longitude: \"-0862041\"\n },\n \"America/Indiana/Petersburg\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0382931\",\n longitude: \"-0871643\"\n },\n \"America/Indiana/Tell_City\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0375711\",\n longitude: \"-0864541\"\n },\n \"America/Indiana/Vevay\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0384452\",\n longitude: \"-0850402\"\n },\n \"America/Indiana/Vincennes\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0384038\",\n longitude: \"-0873143\"\n },\n \"America/Indiana/Winamac\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0410305\",\n longitude: \"-0863611\"\n },\n \"America/Indianapolis\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Inuvik\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0682059\",\n longitude: \"-1334300\"\n },\n \"America/Iqaluit\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0634400\",\n longitude: \"-0682800\"\n },\n \"America/Jamaica\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0175805\",\n longitude: \"-0764736\"\n },\n \"America/Jujuy\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Juneau\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0581807\",\n longitude: \"-1342511\"\n },\n \"America/Kentucky/Louisville\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0381515\",\n longitude: \"-0854534\"\n },\n \"America/Kentucky/Monticello\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0364947\",\n longitude: \"-0845057\"\n },\n \"America/Knox_IN\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Kralendijk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/La_Paz\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0163000\",\n longitude: \"-0680900\"\n },\n \"America/Lima\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0120300\",\n longitude: \"-0770300\"\n },\n \"America/Los_Angeles\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0340308\",\n longitude: \"-1181434\"\n },\n \"America/Louisville\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Lower_Princes\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Maceio\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0094000\",\n longitude: \"-0354300\"\n },\n \"America/Managua\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0120900\",\n longitude: \"-0861700\"\n },\n \"America/Manaus\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0030800\",\n longitude: \"-0600100\"\n },\n \"America/Marigot\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Martinique\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0143600\",\n longitude: \"-0610500\"\n },\n \"America/Matamoros\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0255000\",\n longitude: \"-0973000\"\n },\n \"America/Mazatlan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0231300\",\n longitude: \"-1062500\"\n },\n \"America/Mendoza\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Menominee\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0450628\",\n longitude: \"-0873651\"\n },\n \"America/Merida\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0205800\",\n longitude: \"-0893700\"\n },\n \"America/Metlakatla\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0550737\",\n longitude: \"-1313435\"\n },\n \"America/Mexico_City\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0192400\",\n longitude: \"-0990900\"\n },\n \"America/Miquelon\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0470300\",\n longitude: \"-0562000\"\n },\n \"America/Moncton\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0460600\",\n longitude: \"-0644700\"\n },\n \"America/Monterrey\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0254000\",\n longitude: \"-1001900\"\n },\n \"America/Montevideo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0345433\",\n longitude: \"-0561245\"\n },\n \"America/Montreal\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Montserrat\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Nassau\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/New_York\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0404251\",\n longitude: \"-0740023\"\n },\n \"America/Nipigon\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Nome\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0643004\",\n longitude: \"-1652423\"\n },\n \"America/Noronha\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0035100\",\n longitude: \"-0322500\"\n },\n \"America/North_Dakota/Beulah\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0471551\",\n longitude: \"-1014640\"\n },\n \"America/North_Dakota/Center\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0470659\",\n longitude: \"-1011757\"\n },\n \"America/North_Dakota/New_Salem\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0465042\",\n longitude: \"-1012439\"\n },\n \"America/Nuuk\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700328T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0641100\",\n longitude: \"-0514400\"\n },\n \"America/Ojinaga\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0293400\",\n longitude: \"-1042500\"\n },\n \"America/Panama\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0085800\",\n longitude: \"-0793200\"\n },\n \"America/Pangnirtung\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Paramaribo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0055000\",\n longitude: \"-0551000\"\n },\n \"America/Phoenix\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0332654\",\n longitude: \"-1120424\"\n },\n \"America/Port-au-Prince\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0183200\",\n longitude: \"-0722000\"\n },\n \"America/Port_of_Spain\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Porto_Acre\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Porto_Velho\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0084600\",\n longitude: \"-0635400\"\n },\n \"America/Puerto_Rico\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0182806\",\n longitude: \"-0660622\"\n },\n \"America/Punta_Arenas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0530900\",\n longitude: \"-0705500\"\n },\n \"America/Rainy_River\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Rankin_Inlet\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0624900\",\n longitude: \"-0920459\"\n },\n \"America/Recife\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0080300\",\n longitude: \"-0345400\"\n },\n \"America/Regina\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0502400\",\n longitude: \"-1043900\"\n },\n \"America/Resolute\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0744144\",\n longitude: \"-0944945\"\n },\n \"America/Rio_Branco\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0095800\",\n longitude: \"-0674800\"\n },\n \"America/Rosario\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Santa_Isabel\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Santarem\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0022600\",\n longitude: \"-0545200\"\n },\n \"America/Santiago\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700405T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700906T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0332700\",\n longitude: \"-0704000\"\n },\n \"America/Santo_Domingo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0182800\",\n longitude: \"-0695400\"\n },\n \"America/Sao_Paulo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0233200\",\n longitude: \"-0463700\"\n },\n \"America/Scoresbysund\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700328T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0702900\",\n longitude: \"-0215800\"\n },\n \"America/Shiprock\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Sitka\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0571035\",\n longitude: \"-1351807\"\n },\n \"America/St_Barthelemy\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/St_Johns\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0473400\",\n longitude: \"-0524300\"\n },\n \"America/St_Kitts\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/St_Lucia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/St_Thomas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/St_Vincent\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Swift_Current\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0501700\",\n longitude: \"-1075000\"\n },\n \"America/Tegucigalpa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0140600\",\n longitude: \"-0871300\"\n },\n \"America/Thule\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0763400\",\n longitude: \"-0684700\"\n },\n \"America/Thunder_Bay\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Tijuana\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0323200\",\n longitude: \"-1170100\"\n },\n \"America/Toronto\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0433900\",\n longitude: \"-0792300\"\n },\n \"America/Tortola\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Vancouver\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0491600\",\n longitude: \"-1230700\"\n },\n \"America/Virgin\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"America/Whitehorse\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0604300\",\n longitude: \"-1350300\"\n },\n \"America/Winnipeg\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0495300\",\n longitude: \"-0970900\"\n },\n \"America/Yakutat\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0593249\",\n longitude: \"-1394338\"\n },\n \"America/Yellowknife\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Antarctica/Casey\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0661700\",\n longitude: \"+1103100\"\n },\n \"Antarctica/Davis\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0683500\",\n longitude: \"+0775800\"\n },\n \"Antarctica/DumontDUrville\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Antarctica/Macquarie\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0543000\",\n longitude: \"+1585700\"\n },\n \"Antarctica/Mawson\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0673600\",\n longitude: \"+0625300\"\n },\n \"Antarctica/McMurdo\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Antarctica/Palmer\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0644800\",\n longitude: \"-0640600\"\n },\n \"Antarctica/Rothera\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0673400\",\n longitude: \"-0680800\"\n },\n \"Antarctica/South_Pole\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Antarctica/Syowa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Antarctica/Troll\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:+02\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0720041\",\n longitude: \"+0023206\"\n },\n \"Antarctica/Vostok\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0782400\",\n longitude: \"+1065400\"\n },\n \"Arctic/Longyearbyen\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Aden\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Almaty\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0431500\",\n longitude: \"+0765700\"\n },\n \"Asia/Amman\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0315700\",\n longitude: \"+0355600\"\n },\n \"Asia/Anadyr\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0644500\",\n longitude: \"+1772900\"\n },\n \"Asia/Aqtau\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0443100\",\n longitude: \"+0501600\"\n },\n \"Asia/Aqtobe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0501700\",\n longitude: \"+0571000\"\n },\n \"Asia/Ashgabat\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0375700\",\n longitude: \"+0582300\"\n },\n \"Asia/Ashkhabad\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Atyrau\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0470700\",\n longitude: \"+0515600\"\n },\n \"Asia/Baghdad\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0332100\",\n longitude: \"+0442500\"\n },\n \"Asia/Bahrain\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Baku\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0402300\",\n longitude: \"+0495100\"\n },\n \"Asia/Bangkok\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0134500\",\n longitude: \"+1003100\"\n },\n \"Asia/Barnaul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0532200\",\n longitude: \"+0834500\"\n },\n \"Asia/Beirut\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0335300\",\n longitude: \"+0353000\"\n },\n \"Asia/Bishkek\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0425400\",\n longitude: \"+0743600\"\n },\n \"Asia/Brunei\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Calcutta\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Chita\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0520300\",\n longitude: \"+1132800\"\n },\n \"Asia/Choibalsan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0480400\",\n longitude: \"+1143000\"\n },\n \"Asia/Chongqing\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Chungking\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Colombo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:+0530\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0065600\",\n longitude: \"+0795100\"\n },\n \"Asia/Dacca\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Damascus\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0333000\",\n longitude: \"+0361800\"\n },\n \"Asia/Dhaka\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0234300\",\n longitude: \"+0902500\"\n },\n \"Asia/Dili\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0083300\",\n longitude: \"+1253500\"\n },\n \"Asia/Dubai\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0251800\",\n longitude: \"+0551800\"\n },\n \"Asia/Dushanbe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0383500\",\n longitude: \"+0684800\"\n },\n \"Asia/Famagusta\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0350700\",\n longitude: \"+0335700\"\n },\n \"Asia/Gaza\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700328T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0313000\",\n longitude: \"+0342800\"\n },\n \"Asia/Harbin\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Hebron\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700328T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0313200\",\n longitude: \"+0350542\"\n },\n \"Asia/Ho_Chi_Minh\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0104500\",\n longitude: \"+1064000\"\n },\n \"Asia/Hong_Kong\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:HKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0221700\",\n longitude: \"+1140900\"\n },\n \"Asia/Hovd\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0480100\",\n longitude: \"+0913900\"\n },\n \"Asia/Irkutsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0521600\",\n longitude: \"+1042000\"\n },\n \"Asia/Istanbul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Jakarta\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0061000\",\n longitude: \"+1064800\"\n },\n \"Asia/Jayapura\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:WIT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0023200\",\n longitude: \"+1404200\"\n },\n \"Asia/Jerusalem\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0314650\",\n longitude: \"+0351326\"\n },\n \"Asia/Kabul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0343100\",\n longitude: \"+0691200\"\n },\n \"Asia/Kamchatka\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0530100\",\n longitude: \"+1583900\"\n },\n \"Asia/Karachi\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:PKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0245200\",\n longitude: \"+0670300\"\n },\n \"Asia/Kashgar\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Kathmandu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0274300\",\n longitude: \"+0851900\"\n },\n \"Asia/Katmandu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Khandyga\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0623923\",\n longitude: \"+1353314\"\n },\n \"Asia/Kolkata\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0223200\",\n longitude: \"+0882200\"\n },\n \"Asia/Krasnoyarsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0560100\",\n longitude: \"+0925000\"\n },\n \"Asia/Kuala_Lumpur\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Kuching\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0013300\",\n longitude: \"+1102000\"\n },\n \"Asia/Kuwait\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Macao\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Macau\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0221150\",\n longitude: \"+1133230\"\n },\n \"Asia/Magadan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0593400\",\n longitude: \"+1504800\"\n },\n \"Asia/Makassar\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0050700\",\n longitude: \"+1192400\"\n },\n \"Asia/Manila\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:PST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0143500\",\n longitude: \"+1210000\"\n },\n \"Asia/Muscat\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Nicosia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0351000\",\n longitude: \"+0332200\"\n },\n \"Asia/Novokuznetsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0534500\",\n longitude: \"+0870700\"\n },\n \"Asia/Novosibirsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0550200\",\n longitude: \"+0825500\"\n },\n \"Asia/Omsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0550000\",\n longitude: \"+0732400\"\n },\n \"Asia/Oral\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0511300\",\n longitude: \"+0512100\"\n },\n \"Asia/Phnom_Penh\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Pontianak\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0000200\",\n longitude: \"+1092000\"\n },\n \"Asia/Pyongyang\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0390100\",\n longitude: \"+1254500\"\n },\n \"Asia/Qatar\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0251700\",\n longitude: \"+0513200\"\n },\n \"Asia/Qostanay\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0531200\",\n longitude: \"+0633700\"\n },\n \"Asia/Qyzylorda\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0444800\",\n longitude: \"+0652800\"\n },\n \"Asia/Rangoon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Riyadh\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0243800\",\n longitude: \"+0464300\"\n },\n \"Asia/Saigon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Sakhalin\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0465800\",\n longitude: \"+1424200\"\n },\n \"Asia/Samarkand\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0394000\",\n longitude: \"+0664800\"\n },\n \"Asia/Seoul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0373300\",\n longitude: \"+1265800\"\n },\n \"Asia/Shanghai\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0311400\",\n longitude: \"+1212800\"\n },\n \"Asia/Singapore\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0011700\",\n longitude: \"+1035100\"\n },\n \"Asia/Srednekolymsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0672800\",\n longitude: \"+1534300\"\n },\n \"Asia/Taipei\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0250300\",\n longitude: \"+1213000\"\n },\n \"Asia/Tashkent\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0412000\",\n longitude: \"+0691800\"\n },\n \"Asia/Tbilisi\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0414300\",\n longitude: \"+0444900\"\n },\n \"Asia/Tehran\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0330\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0354000\",\n longitude: \"+0512600\"\n },\n \"Asia/Tel_Aviv\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Thimbu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Thimphu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0272800\",\n longitude: \"+0893900\"\n },\n \"Asia/Tokyo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:JST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0353916\",\n longitude: \"+1394441\"\n },\n \"Asia/Tomsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0563000\",\n longitude: \"+0845800\"\n },\n \"Asia/Ujung_Pandang\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Ulaanbaatar\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0475500\",\n longitude: \"+1065300\"\n },\n \"Asia/Ulan_Bator\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Urumqi\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0434800\",\n longitude: \"+0873500\"\n },\n \"Asia/Ust-Nera\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0643337\",\n longitude: \"+1431336\"\n },\n \"Asia/Vientiane\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Asia/Vladivostok\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0431000\",\n longitude: \"+1315600\"\n },\n \"Asia/Yakutsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0620000\",\n longitude: \"+1294000\"\n },\n \"Asia/Yangon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0164700\",\n longitude: \"+0961000\"\n },\n \"Asia/Yekaterinburg\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0565100\",\n longitude: \"+0603600\"\n },\n \"Asia/Yerevan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0401100\",\n longitude: \"+0443000\"\n },\n \"Atlantic/Azores\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0374400\",\n longitude: \"-0254000\"\n },\n \"Atlantic/Bermuda\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0321700\",\n longitude: \"-0644600\"\n },\n \"Atlantic/Canary\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0280600\",\n longitude: \"-0152400\"\n },\n \"Atlantic/Cape_Verde\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0145500\",\n longitude: \"-0233100\"\n },\n \"Atlantic/Faeroe\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Atlantic/Faroe\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0620100\",\n longitude: \"-0064600\"\n },\n \"Atlantic/Jan_Mayen\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Atlantic/Madeira\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0323800\",\n longitude: \"-0165400\"\n },\n \"Atlantic/Reykjavik\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Atlantic/South_Georgia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0541600\",\n longitude: \"-0363200\"\n },\n \"Atlantic/St_Helena\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Atlantic/Stanley\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0514200\",\n longitude: \"-0575100\"\n },\n \"Australia/ACT\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/Adelaide\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0345500\",\n longitude: \"+1383500\"\n },\n \"Australia/Brisbane\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0272800\",\n longitude: \"+1530200\"\n },\n \"Australia/Broken_Hill\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0315700\",\n longitude: \"+1412700\"\n },\n \"Australia/Canberra\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/Currie\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Australia/Darwin\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0122800\",\n longitude: \"+1305000\"\n },\n \"Australia/Eucla\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0845\\r\\nTZOFFSETTO:+0845\\r\\nTZNAME:+0845\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0314300\",\n longitude: \"+1285200\"\n },\n \"Australia/Hobart\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0425300\",\n longitude: \"+1471900\"\n },\n \"Australia/LHI\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/Lindeman\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0201600\",\n longitude: \"+1490000\"\n },\n \"Australia/Lord_Howe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0313300\",\n longitude: \"+1590500\"\n },\n \"Australia/Melbourne\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0374900\",\n longitude: \"+1445800\"\n },\n \"Australia/NSW\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/North\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Australia/Perth\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0315700\",\n longitude: \"+1155100\"\n },\n \"Australia/Queensland\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Australia/South\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/Sydney\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0335200\",\n longitude: \"+1511300\"\n },\n \"Australia/Tasmania\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Australia/Victoria\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Australia/West\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Australia/Yancowinna\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Brazil/Acre\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Brazil/DeNoronha\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Brazil/East\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Brazil/West\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Atlantic\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Central\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Eastern\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Mountain\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Newfoundland\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Canada/Pacific\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Saskatchewan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Canada/Yukon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Chile/Continental\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700405T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700906T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Chile/EasterIsland\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700404T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700905T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Europe/Amsterdam\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Andorra\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0423000\",\n longitude: \"+0013100\"\n },\n \"Europe/Astrakhan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0462100\",\n longitude: \"+0480300\"\n },\n \"Europe/Athens\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0375800\",\n longitude: \"+0234300\"\n },\n \"Europe/Belfast\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Belgrade\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0445000\",\n longitude: \"+0203000\"\n },\n \"Europe/Berlin\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0523000\",\n longitude: \"+0132200\"\n },\n \"Europe/Bratislava\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Brussels\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0505000\",\n longitude: \"+0042000\"\n },\n \"Europe/Bucharest\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0442600\",\n longitude: \"+0260600\"\n },\n \"Europe/Budapest\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0473000\",\n longitude: \"+0190500\"\n },\n \"Europe/Busingen\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Chisinau\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0470000\",\n longitude: \"+0285000\"\n },\n \"Europe/Copenhagen\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Dublin\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:IST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0532000\",\n longitude: \"-0061500\"\n },\n \"Europe/Gibraltar\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0360800\",\n longitude: \"-0052100\"\n },\n \"Europe/Guernsey\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Helsinki\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0601000\",\n longitude: \"+0245800\"\n },\n \"Europe/Isle_of_Man\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Istanbul\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0410100\",\n longitude: \"+0285800\"\n },\n \"Europe/Jersey\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Kaliningrad\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0544300\",\n longitude: \"+0203000\"\n },\n \"Europe/Kiev\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Europe/Kirov\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0583600\",\n longitude: \"+0493900\"\n },\n \"Europe/Kyiv\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0502600\",\n longitude: \"+0303100\"\n },\n \"Europe/Lisbon\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"+0384300\",\n longitude: \"-0090800\"\n },\n \"Europe/Ljubljana\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/London\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0513030\",\n longitude: \"+0000731\"\n },\n \"Europe/Luxembourg\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Madrid\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0402400\",\n longitude: \"-0034100\"\n },\n \"Europe/Malta\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0355400\",\n longitude: \"+0143100\"\n },\n \"Europe/Mariehamn\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Minsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0535400\",\n longitude: \"+0273400\"\n },\n \"Europe/Monaco\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Moscow\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0554521\",\n longitude: \"+0373704\"\n },\n \"Europe/Nicosia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Europe/Oslo\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Paris\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0485200\",\n longitude: \"+0022000\"\n },\n \"Europe/Podgorica\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Prague\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0500500\",\n longitude: \"+0142600\"\n },\n \"Europe/Riga\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0565700\",\n longitude: \"+0240600\"\n },\n \"Europe/Rome\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0415400\",\n longitude: \"+0122900\"\n },\n \"Europe/Samara\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0531200\",\n longitude: \"+0500900\"\n },\n \"Europe/San_Marino\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Sarajevo\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Saratov\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0513400\",\n longitude: \"+0460200\"\n },\n \"Europe/Simferopol\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0445700\",\n longitude: \"+0340600\"\n },\n \"Europe/Skopje\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Sofia\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0424100\",\n longitude: \"+0231900\"\n },\n \"Europe/Stockholm\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Tallinn\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0592500\",\n longitude: \"+0244500\"\n },\n \"Europe/Tirane\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0412000\",\n longitude: \"+0195000\"\n },\n \"Europe/Tiraspol\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Ulyanovsk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0542000\",\n longitude: \"+0482400\"\n },\n \"Europe/Uzhgorod\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Europe/Vaduz\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Vatican\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Vienna\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0481300\",\n longitude: \"+0162000\"\n },\n \"Europe/Vilnius\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0544100\",\n longitude: \"+0251900\"\n },\n \"Europe/Volgograd\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0484400\",\n longitude: \"+0442500\"\n },\n \"Europe/Warsaw\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0521500\",\n longitude: \"+0210000\"\n },\n \"Europe/Zagreb\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Europe/Zaporozhye\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n ]\n },\n \"Europe/Zurich\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0472300\",\n longitude: \"+0083200\"\n },\n \"Indian/Antananarivo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Chagos\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0072000\",\n longitude: \"+0722500\"\n },\n \"Indian/Christmas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Cocos\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Comoro\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Kerguelen\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Mahe\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Maldives\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0041000\",\n longitude: \"+0733000\"\n },\n \"Indian/Mauritius\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0201000\",\n longitude: \"+0573000\"\n },\n \"Indian/Mayotte\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Indian/Reunion\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Mexico/BajaNorte\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"Mexico/BajaSur\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Mexico/General\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Apia\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0135000\",\n longitude: \"-1714400\"\n },\n \"Pacific/Auckland\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0365200\",\n longitude: \"+1744600\"\n },\n \"Pacific/Bougainville\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0061300\",\n longitude: \"+1553400\"\n },\n \"Pacific/Chatham\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1245\\r\\nTZOFFSETTO:+1345\\r\\nTZNAME:+1345\\r\\nDTSTART:19700927T024500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1345\\r\\nTZOFFSETTO:+1245\\r\\nTZNAME:+1245\\r\\nDTSTART:19700405T034500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0435700\",\n longitude: \"-1763300\"\n },\n \"Pacific/Chuuk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Easter\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700404T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD\",\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700905T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT\"\n ],\n latitude: \"-0270900\",\n longitude: \"-1092600\"\n },\n \"Pacific/Efate\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0174000\",\n longitude: \"+1682500\"\n },\n \"Pacific/Enderbury\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Fakaofo\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0092200\",\n longitude: \"-1711400\"\n },\n \"Pacific/Fiji\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0180800\",\n longitude: \"+1782500\"\n },\n \"Pacific/Funafuti\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Galapagos\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0005400\",\n longitude: \"-0893600\"\n },\n \"Pacific/Gambier\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:-09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0230800\",\n longitude: \"-1345700\"\n },\n \"Pacific/Guadalcanal\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0093200\",\n longitude: \"+1601200\"\n },\n \"Pacific/Guam\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0132800\",\n longitude: \"+1444500\"\n },\n \"Pacific/Honolulu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0211825\",\n longitude: \"-1575130\"\n },\n \"Pacific/Johnston\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Kanton\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0024700\",\n longitude: \"-1714300\"\n },\n \"Pacific/Kiritimati\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0015200\",\n longitude: \"-1572000\"\n },\n \"Pacific/Kosrae\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0051900\",\n longitude: \"+1625900\"\n },\n \"Pacific/Kwajalein\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0090500\",\n longitude: \"+1672000\"\n },\n \"Pacific/Majuro\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Marquesas\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0930\\r\\nTZOFFSETTO:-0930\\r\\nTZNAME:-0930\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0090000\",\n longitude: \"-1393000\"\n },\n \"Pacific/Midway\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Nauru\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0003100\",\n longitude: \"+1665500\"\n },\n \"Pacific/Niue\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:-11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0190100\",\n longitude: \"-1695500\"\n },\n \"Pacific/Norfolk\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0290300\",\n longitude: \"+1675800\"\n },\n \"Pacific/Noumea\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0221600\",\n longitude: \"+1662700\"\n },\n \"Pacific/Pago_Pago\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0141600\",\n longitude: \"-1704200\"\n },\n \"Pacific/Palau\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0072000\",\n longitude: \"+1342900\"\n },\n \"Pacific/Pitcairn\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:-08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0250400\",\n longitude: \"-1300500\"\n },\n \"Pacific/Pohnpei\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Ponape\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Port_Moresby\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0093000\",\n longitude: \"+1471000\"\n },\n \"Pacific/Rarotonga\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0211400\",\n longitude: \"-1594600\"\n },\n \"Pacific/Saipan\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Samoa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Tahiti\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0173200\",\n longitude: \"-1493400\"\n },\n \"Pacific/Tarawa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"+0012500\",\n longitude: \"+1730000\"\n },\n \"Pacific/Tongatapu\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ],\n latitude: \"-0210800\",\n longitude: \"-1751200\"\n },\n \"Pacific/Truk\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Wake\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Wallis\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"Pacific/Yap\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Alaska\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Aleutian\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Arizona\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Central\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/East-Indiana\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Eastern\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Hawaii\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Indiana-Starke\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Michigan\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Mountain\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Pacific\": {\n ics: [\n \"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n ]\n },\n \"US/Samoa\": {\n ics: [\n \"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n ]\n }\n};\nconst tzData = {\n version,\n aliases,\n zones\n};\nclass TimezoneManager {\n /**\n * Constructor\n */\n constructor() {\n this._aliases = /* @__PURE__ */ new Map();\n this._pendingAliases = [];\n this._timezones = /* @__PURE__ */ new Map();\n }\n /**\n * Gets a timezone for the given id\n *\n * @param {string} timezoneId The id of the timezone\n * @return {Timezone|null}\n */\n getTimezoneForId(timezoneId) {\n return this._getTimezoneForIdRec(timezoneId, 0);\n }\n _getTimezoneForIdRec(timezoneId, level) {\n if (this._timezones.has(timezoneId)) {\n return this._timezones.get(timezoneId);\n }\n if (level >= 20) {\n console.error(\"TimezoneManager.getTimezoneForIdRec() exceeds recursion limits\");\n return null;\n }\n if (this._aliases.has(timezoneId)) {\n const resolvedTimezoneId = this._aliases.get(timezoneId);\n return this._getTimezoneForIdRec(resolvedTimezoneId, level + 1);\n }\n return null;\n }\n /**\n * Checks if there is a timezone for the given id stored in this manager\n *\n * @param {string} timezoneId The id of the timezone\n * @return {boolean}\n */\n hasTimezoneForId(timezoneId) {\n return this._timezones.has(timezoneId) || this._aliases.has(timezoneId);\n }\n /**\n * Checks if the given timezone id is an alias\n *\n * @param {string} timezoneId The id of the timezone\n * @return {boolean}\n */\n isAlias(timezoneId) {\n return !this._timezones.has(timezoneId) && this._aliases.has(timezoneId);\n }\n /**\n * Lists all timezones\n *\n * @param {boolean=} includeAliases Whether or not to include aliases\n * @return {string[]}\n */\n listAllTimezones(includeAliases = false) {\n const timezones = Array.from(this._timezones.keys());\n if (includeAliases) {\n return timezones.concat(Array.from(this._aliases.keys()));\n }\n return timezones;\n }\n /**\n * Registers a timezone\n *\n * @param {Timezone} timezone The timezone-object to register\n */\n registerTimezone(timezone) {\n this._timezones.set(timezone.timezoneId, timezone);\n ICAL.TimezoneService.register(timezone.timezoneId, timezone.toICALTimezone());\n this._pendingAliases = this._pendingAliases.filter(([aliasName, timezoneId]) => {\n if (timezoneId !== timezone.timezoneId) {\n return true;\n }\n ICAL.TimezoneService.register(aliasName, timezone.toICALTimezone());\n return false;\n });\n }\n registerDefaultTimezones() {\n console.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`);\n for (const tzid in tzData.zones) {\n if (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n const ics = [\n \"BEGIN:VTIMEZONE\",\n \"TZID:\" + tzid,\n ...tzData.zones[tzid].ics,\n \"END:VTIMEZONE\"\n ].join(\"\\r\\n\");\n this.registerTimezoneFromICS(tzid, ics);\n }\n }\n for (const tzid in tzData.aliases) {\n if (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n this.registerAlias(tzid, tzData.aliases[tzid].aliasTo);\n }\n }\n }\n /**\n * Registers a timezone based on ics data\n *\n * @param {string} timezoneId The id of the timezone\n * @param {string} ics The iCalendar timezone definition\n */\n registerTimezoneFromICS(timezoneId, ics) {\n const timezone = new Timezone(timezoneId, ics);\n this.registerTimezone(timezone);\n }\n /**\n * Registers a new timezone-alias\n *\n * @param {string} aliasName The timezone-id of the alias\n * @param {string} timezoneId The timezone-id to resolve the alias to\n */\n registerAlias(aliasName, timezoneId) {\n this._aliases.set(aliasName, timezoneId);\n const resolvedTimezone = this.getTimezoneForId(timezoneId);\n if (!resolvedTimezone) {\n this._pendingAliases.push([aliasName, timezoneId]);\n return;\n }\n ICAL.TimezoneService.register(aliasName, resolvedTimezone.toICALTimezone());\n }\n /**\n * Unregisters a timezone\n *\n * @param {string} timezoneId Unregisters a timezone by Id\n */\n unregisterTimezones(timezoneId) {\n this._timezones.delete(timezoneId);\n ICAL.TimezoneService.remove(timezoneId);\n }\n /**\n * Unregisters a timezone-alias\n *\n * @param {string} aliasName The alias to unregister\n */\n unregisterAlias(aliasName) {\n this._aliases.delete(aliasName);\n this._pendingAliases = this._pendingAliases.filter(([pendingAliasName]) => pendingAliasName !== aliasName);\n ICAL.TimezoneService.remove(aliasName);\n }\n /**\n * Clear all timezones\n */\n clearAllTimezones() {\n this._aliases = /* @__PURE__ */ new Map();\n this._pendingAliases = [];\n this._timezones = /* @__PURE__ */ new Map();\n ICAL.TimezoneService.reset();\n timezoneManager.registerTimezone(Timezone.utc);\n timezoneManager.registerTimezone(Timezone.floating);\n timezoneManager.registerAlias(\"GMT\", Timezone.utc.timezoneId);\n timezoneManager.registerAlias(\"Z\", Timezone.utc.timezoneId);\n }\n}\nconst timezoneManager = new TimezoneManager();\ntimezoneManager.clearAllTimezones();\nfunction getTimezoneManager() {\n return timezoneManager;\n}\nfunction isOlsonTimezone(tzName) {\n const hasSlash = tzName.indexOf(\"/\") !== -1;\n const hasSpace = tzName.indexOf(\" \") !== -1;\n const startsWithETC = tzName.startsWith(\"Etc\");\n const startsWithUS = tzName.startsWith(\"US/\");\n return hasSlash && !hasSpace && !startsWithETC && !startsWithUS;\n}\nfunction getSortedTimezoneList(timezoneList = [], additionalTimezones = [], globalTimezoneName = \"Global\") {\n const sortedByContinent = {};\n const sortedList = [];\n for (const timezoneId of timezoneList) {\n const components = timezoneId.split(\"/\");\n let [continent, name] = [components.shift(), components.join(\"/\")];\n if (!name) {\n name = continent;\n continent = globalTimezoneName;\n }\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label: getReadableTimezoneName(name),\n cities: [],\n timezoneId\n });\n }\n for (const additionalTimezone of additionalTimezones) {\n const { continent, label, timezoneId } = additionalTimezone;\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label,\n cities: [],\n timezoneId\n });\n }\n for (const continent in sortedByContinent) {\n if (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n continue;\n }\n sortedByContinent[continent].regions.sort((a, b) => {\n if (a.label < b.label) {\n return -1;\n }\n return 1;\n });\n sortedList.push(sortedByContinent[continent]);\n }\n sortedList.sort((a, b) => {\n if (a.continent < b.continent) {\n return -1;\n }\n return 1;\n });\n return sortedList;\n}\nfunction getReadableTimezoneName(timezoneId) {\n return timezoneId.split(\"_\").join(\" \").replace(\"St \", \"St. \").split(\"/\").join(\" - \");\n}\nexport {\n Timezone,\n getReadableTimezoneName,\n getSortedTimezoneList,\n getTimezoneManager,\n isOlsonTimezone\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueSelect=t():e.VueSelect=t()}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>_,mixins:()=>O});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange)for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId=\"data-v-\"+s),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const d={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},h={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){document.body.appendChild(e);var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+\"px\",left:c+a+\"px\",top:u+r+s+\"px\"})}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&\"function\"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const b=function(){return++y};function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function v(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return\"object\"===s()(this.optionList[0])?a()({},this.label,e):e}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(e){return[\"function\",\"boolean\"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return b()}}},data:function(){return{search:\"\",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&\"\"!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:\"combobox\",\"aria-autocomplete\":\"list\",\"aria-label\":this.ariaLabelCombobox,\"aria-controls\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-owns\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-expanded\":this.dropdownOpen.toString(),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs-\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},d,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--multiple\":this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=this,t=function(t){return null!==e.limit?t.slice(0,e.limit):t},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t(n);var o=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var i=this.createOption(this.search);this.optionExists(i)||o.unshift(i)}return t(o)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?\"open\":\"close\")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit(\"option:selecting\",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit(\"option:created\",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit(\"option:selected\",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit(\"option:deselecting\",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit(\"option:deselected\",e)},keyboardDeselect:function(e,t){var n,o;this.deselect(e);var i=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[t+1],s=null===(o=this.$refs.deselectButtons)||void 0===o?void 0:o[t-1],r=null!=i?i:s;r?r.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=\"\"),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit(\"input\",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(e){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&e===this.typeAheadPointer},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},optionAriaSelected:function(e){return this.selectable(e)?String(this.isOptionSelected(e)):null},normalizeOptionForSlot:function(e){return\"object\"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search=\"\":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(e,t){this.isKeyboardNavigation=!1,this.selectable(e)&&(this.typeAheadPointer=t)},onSearchKeyDown:function(e){var t=this,n=function(e){if(e.preventDefault(),t.open)return!t.isComposing&&t.typeAheadSelect();t.open=!0},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-select\",class:e.stateClasses,attrs:{id:\"v-select-\"+e.uid,dir:e.dir}},[e._t(\"header\",null,null,e.scope.header),e._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\"},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\",on:{mousedown:e.toggleDropdown}},[e._l(e.selectedValue,(function(t,o){return e._t(\"selected-option-container\",[n(\"span\",{key:e.getOptionKey(t),staticClass:\"vs__selected\"},[e._t(\"selected-option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t)),e._v(\" \"),e.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelDeselectOption(e.getOptionLabel(t)),\"aria-label\":e.ariaLabelDeselectOption(e.getOptionLabel(t))},on:{mousedown:function(n){return n.stopPropagation(),e.deselect(t)},keydown:function(n){return!n.type.indexOf(\"key\")&&e._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:e.keyboardDeselect(t,o)}}},[n(e.childComponents.Deselect,{tag:\"component\"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(\" \"),e._t(\"search\",[n(\"input\",e._g(e._b({staticClass:\"vs__search\"},\"input\",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelClearSelected,\"aria-label\":e.ariaLabelClearSelected},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:\"component\"})],1),e._v(\" \"),e.noDrop?e._e():n(\"button\",{ref:\"openIndicatorButton\",staticClass:\"vs__open-indicator-button\",attrs:{type:\"button\",tabindex:\"-1\",\"aria-labelledby\":\"vs-\"+e.uid+\"__listbox\",\"aria-controls\":\"vs-\"+e.uid+\"__listbox\",\"aria-expanded\":e.dropdownOpen.toString()},on:{mousedown:e.toggleDropdown}},[e._t(\"open-indicator\",[n(e.childComponents.OpenIndicator,e._b({tag:\"component\"},\"component\",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator)],2),e._v(\" \"),e._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[e._v(\"Loading...\")])],null,e.scope.spinner)],2)]),e._v(\" \"),n(\"transition\",{attrs:{name:e.transition}},[e.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],key:\"vs-\"+e.uid+\"__listbox\",ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox,\"aria-multiselectable\":e.multiple,tabindex:\"-1\"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t(\"list-header\",null,null,e.scope.listHeader),e._v(\" \"),e._l(e.filteredOptions,(function(t,o){return n(\"li\",{key:e.getOptionKey(t),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--deselect\":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,\"vs__dropdown-option--selected\":e.isOptionSelected(t),\"vs__dropdown-option--highlight\":o===e.typeAheadPointer,\"vs__dropdown-option--kb-focus\":e.hasKeyboardFocusBorder(o),\"vs__dropdown-option--disabled\":!e.selectable(t)},attrs:{id:\"vs-\"+e.uid+\"__option-\"+o,role:\"option\",\"aria-selected\":e.optionAriaSelected(t)},on:{mousemove:function(n){return e.onMouseMove(t,o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t(\"option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t))],2)})),e._v(\" \"),0===e.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[e._t(\"no-options\",[e._v(\"\\n Sorry, no matching options.\\n \")],null,e.scope.noOptions)],2):e._e(),e._v(\" \"),e._t(\"list-footer\",null,null,e.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox}})]),e._v(\" \"),e._t(\"footer\",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,O={ajax:u,pointer:c,pointerScroll:l},_=m})(),o})()}));\n//# sourceMappingURL=vue-select.js.map","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle